Commit graph

348 commits

Author SHA1 Message Date
cooldome
73b7ec9009 merge devel 2018-06-10 22:58:39 +01:00
Kaushal Modi
24df909d8a Make isUpper (and variants) work for strings with non-alpha chars
The other variants are isLower, isUpperAscii and isLowerAscii

Fixes https://github.com/nim-lang/Nim/issues/7963.

This commit changes the behavior and signatures of:

- isUpper, isLower in the unicode module
- isUpperAscii, isLowerAscii in the strutils module

A second mandatory parameter skipNonAlpha is added to these 4 procs.

(This change affects only for the case where the input is a *string*.)

---

With skipNonAlpha set to true, the behavior mimics the Python isupper and
islower behavior i.e. non-alphabetic chars/runes are ignored when checking if
the string is upper-case or lower-case.

    Before this commit:

      doAssert(not isUpper("A B"))

    After this commit:

      doAssert(not isUpper("A B", false))    <-- old behavior
      doAssert isUpper("A B", true)

      Below two are equivalent:

                           isUpper("A B", true)

        isAlpha("A B") and isUpper("A B", false)

.. and the similar for other 3 procs.
2018-06-08 15:14:29 -04:00
Araq
8e9551b1c7 fixex merge conflicts 2018-06-08 19:50:36 +02:00
Dmitry Atamanov
fbd91a474a Add the val parameter for CritBitTree[T].incl (#7988)
* Add the val parameter for CritBitTree[T].incl

* Updated changelog
2018-06-08 12:01:40 -04:00
Koki Fushimi
959b6354c1 Rename tgamma to gamma (#7929)
* Rename tgamma to gamma

* set the deprecating version  0.19.0

* update changelog and use description in deprecated pragma
2018-06-05 11:15:04 -04:00
Koki Fushimi
a3e5242d31 Add product proc (#7951)
* Add product proc

* Update changelog
2018-06-04 18:24:34 -04:00
Andreas Rumpf
12996c08a1 fixed merge conflict 2018-06-04 16:16:50 +02:00
Koki Fushimi
3027ca292c Support div, mod, floorDiv and floorMod for Rationals (#7918)
* Support `div`, `mod`, floorDiv and floorMod for Ratinoals.

* Bug fix and add tests.

* Update changelog
2018-06-01 11:19:25 -04:00
Oscar Nihlgård
65070a6936 Use truncation division in mod for floats (#7118)
* Use truncation division in mod for floats

* Add changelog entry

* Add floorDiv/floorMod to math.nim

* Update changelog
2018-05-30 19:14:21 +03:00
Koki Fushimi
2107c81d6d Add inverse hyperbolic, and cot, sec and csc; and their hyperbolic, inverse, inverse hyperbolic, and change to use defined functions in C or JS for logs and hyperbolics. (#7893)
* Add secant, cosecant and cotangent.

* Add hyperbolic functions of cotangent, secant and cosecant.

* Add inverse hyperbolic functions.

* Change to use defined function of C and JS.

* Bug fix and refactoring.

* Add change to changelog.md
2018-05-30 15:29:34 +01:00
Dmitry Atamanov
a075a912cf
Add algorithm.upperBound (#7851)
* Add algorithm.upperBound
* Docs updated
2018-05-29 07:28:15 +03:00
Andreas Rumpf
06122ff711 rewrote nimeval.nim; added tcompilerapi example to show how the compiler can be used as an API 2018-05-29 01:18:50 +02:00
Clyybber
66780c1f4f Small grammar/spelling fix for changelog (#7896)
* Small grammar/spelling fix.

* Tiny grammar fix
2018-05-28 14:17:21 -04:00
七秒不觉梦
b6b6382e0b Added: type name output when exception raised from unittest (#7869) 2018-05-28 05:24:04 +03:00
Dmitry Atamanov
90afb1baa7 binarySearch improvements (#7850) 2018-05-20 20:11:25 +02:00
Dmitry Atamanov
06bdf8392b Fixes CritBitTree.inc's bug (#7838)
* Fixes CritBitTree.inc's bug

* Update changelog
2018-05-18 21:13:29 +02:00
Zahary Karadjov
cf13c5fba4 implement the export/except statement 2018-05-07 09:37:49 +02:00
Zahary Karadjov
4409c82228 The terminal module now exports additional procs for generating ANSI color
codes as strings.
2018-05-07 09:37:49 +02:00
Zahary Karadjov
ae5c946a32 Support thread-local variables declared inside procs; fixes #7565 2018-05-07 09:37:49 +02:00
Zahary Karadjov
b0d85b0adf Backwards-compatible support for keyword arguments in the command syntax 2018-05-07 09:37:49 +02:00
Andreas Rumpf
cd0985df06 update the changelog 2018-05-06 08:17:32 +02:00
Andreas Rumpf
272bbad784 Merge branch 'devel' into araq-parser-fixes 2018-05-06 08:03:29 +02:00
Andreas Rumpf
1aa359febb warn about inconsistent spacing around binary operators; fixes #7582 2018-05-05 14:58:33 +02:00
Arne Döring
f94fafff9b Deprecate smart binary search (#7745)
* deprecate smartBinarySearch

* changelog entry
2018-05-03 17:23:13 +02:00
Andreas Rumpf
599b5d6dcb make 'not nil' experimental 2018-05-02 13:34:53 +02:00
cooldome
2d755a6f13 fix spacing in changelog 2018-04-30 23:59:32 +01:00
cooldome
d21693f5e4 Merge branch 'devel' into range_float_type 2018-04-30 23:57:33 +01:00
Araq
851d2a266d introduce --laxStrings:on switch 2018-04-30 19:57:52 +02:00
Andreas Rumpf
0fad659bf7 make more tests green 2018-04-30 02:52:58 +02:00
cooldome
3e5c94664d merge devel 2018-04-29 23:28:18 +01:00
cooldome
b3a80dd2eb update the doc 2018-04-29 23:17:07 +01:00
Andreas Rumpf
aded62520b string to cstring conversions produce the empty C string for nil; this will be consistent with alternative string implementations 2018-04-28 11:12:23 +02:00
Andreas Rumpf
ee366f1746 .experimental can now be used to enable specific features 2018-04-24 09:34:29 +02:00
Andreas Rumpf
85ea9593b3 fixes #7637; assignments are not allowed to slice object; minor breaking change 2018-04-21 21:22:36 +02:00
Oscar Nihlgård
fdf1d12380 Change type of Timeval.tv_sec to posix.Time (#7646) 2018-04-18 21:24:28 +02:00
Arne Döring
efae366857 rename SomeReal to SomeFloat (#7617)
* rename SomeReal to SomeFloat
* added changelog entry
2018-04-15 19:59:11 +02:00
Oscar Nihlgård
6795d9931b Add recent times changes to changelog (#7607) 2018-04-15 17:25:39 +02:00
AdrianV
0ce28d15cc Nim namespace for cpp (#7453)
- new option --usenamespace to generate nim cpp code in its own namespace Nim
- minor changes for compatibility with the new Embarcadero = Borland C++-Builder (bcc)
2018-04-15 13:43:01 +02:00
Andreas Rumpf
c08efb4c51 implements first version of for-loop macros 2018-04-15 01:07:28 +02:00
RSDuck
3d1d163eff fixes #7451 (#7575) 2018-04-14 08:33:36 +02:00
Andreas Rumpf
50d4224d41 fixes #6205 2018-04-14 00:40:24 +02:00
Andreas Rumpf
9e884c31dd the new feature's name is hotCodeReloading 2018-04-13 23:48:56 +02:00
Andreas Rumpf
d7cc9016f3 fixes #4470 2018-04-13 23:41:31 +02:00
zah
e3037a2f33 Support code hot reloading for JavaScript projects (#7362)
* Support code hot reloading for JavaScript projects

* Add some missing JavaScript symbols and APIs

* fix the Travis build

* (review changes) remove the js type from the standard library as it doesn't follow NEP-1

* more additions to the DOM module

* Follow NEP-1 in jsffi; spell 'hot code reloading' correctly

* introduce a jscore module

* Document jscore module.

* readded js type

* Remove the '$' operator that doesn't behave
2018-04-13 19:08:43 +02:00
Andreas Rumpf
47335aab41 introduce nkTupleConstr AST node for unary tuple construction; breaking change 2018-04-13 17:45:58 +02:00
Andreas Rumpf
19a1cc914f deprecate macros.callsite; fixes #7369 2018-04-12 20:09:44 +02:00
Andreas Rumpf
ea8afebf8c 'func' is now an alias for 'proc .noSideEffect' 2018-04-12 20:09:44 +02:00
PMunch
4f1725ad61 Add column number to instantiation info (#7376)
* Add column number to instantiation info

Instantiation info left out column number for no good reason. This adds
it in as the third element of the tuple.

* Fix test that failed and added change to changelog

An assertion test failed because it was declaring a type that was
expected to be populated by instantiationInfo with the old signature.

Also added the changes to the changelog as it is a breaking change.
2018-04-12 20:02:04 +02:00
genotrance
c3cc52087f Added a few useful os calls to VM (#7440) 2018-04-12 13:59:14 +02:00
Arne Döring
6baca58693 Get symbol kind (#7491) 2018-04-11 16:48:01 +02:00