Commit Graph

12811 Commits

Author SHA1 Message Date
LemonBoy
af66258dca Discriminate gensym'd type names in sigHash
The root cause of #7905 lies in the codegen phase. The two template
instantiations generate two different MyType types with different
members but same t.sym.name leading the caching mechanism to confuse
the two.

Fixes #7905
2018-06-22 13:09:33 +02:00
Dominik Picheta
0da87939d1 Merge pull request #8047 from kaushalmodi/add-styledWrite
Add styledWrite macro
2018-06-19 12:13:12 +01:00
Andreas Rumpf
0c33244c23 Merge branch 'devel' of github.com:nim-lang/Nim into devel 2018-06-19 12:43:21 +02:00
Andreas Rumpf
dd81d9d5b7 nimpretty improvements 2018-06-19 09:42:33 +02:00
Kaushal Modi
abbf9ba9f7 Convert styledWriteLine and styledEcho to templates
This also fixes a bug in the styledWriteLine behavior where the background color
leaked onto the next newline if that command did not end with resetStyle.

Now it is not necessary to end styledWriteLine calls that set BackgroundColor to
end in resetStyle.
2018-06-18 09:09:23 -04:00
Kaushal Modi
3b5b3deecd Add styledWrite macro
Also:

- Move the tests block to the end of the file
- Fix the older tests
- Add tests for existing styledEcho
- Add new tests for styledWrite

Fixes https://github.com/nim-lang/Nim/issues/8046.
2018-06-18 09:09:23 -04:00
mboratko
70664bd1a2 Changed tutorial documentation referring to 'constant' to 'immutable' (#8056)
* Changed tutorial documentation referring to 'constant' to 'immutable'

* Clarification regarding side-effect free procedures fo:r multiple assignments
2018-06-18 02:05:35 -04:00
Kaushal Modi
4616b28c7b Add support for italic and strikethrough ANSI escape codes (#8048)
\e[3m -> italic
    \e[9m -> strikethrough

On terminals not supporting italic text, the text is shown in reverse instead,
and on terminals not supporting strikethrough text, the text is shown as is.
2018-06-17 12:37:41 -04:00
Andreas Rumpf
98f3daea65 nimpretty: don't touch dense binary operators 2018-06-17 14:25:23 +02:00
Andreas Rumpf
dbcdc4331a testament: minor code formating change 2018-06-17 14:16:01 +02:00
Andreas Rumpf
c70706f4bd nimpretty: fixes pragma rendering 2018-06-17 14:15:42 +02:00
Andreas Rumpf
798a8bd45c Merge branch 'devel' of github.com:nim-lang/Nim into devel 2018-06-16 19:02:54 +02:00
Andreas Rumpf
dba26656f6 nimpretty: stuff that doesn't work 2018-06-16 19:02:47 +02:00
Andreas Rumpf
7819e63f77 nimpretty: more features 2018-06-16 09:53:36 +02:00
Andreas Rumpf
ee16e62061 Merge pull request #8039 from yglukhov/proc-pragmas
Fixed stacktrace/linetrace proc pragmas when appended by macro pragma
2018-06-16 01:59:06 +02:00
Andreas Rumpf
97398edc05 nimpretty: render and/or/notin/in properly 2018-06-16 01:58:52 +02:00
Andreas Rumpf
a1bd4a6cbd nimpretty: first version that seems useful for others to test it 2018-06-16 01:46:39 +02:00
Yuriy Glukhov
78cbf6734a Added more tests to toverflw 2018-06-15 19:46:17 +03:00
Yuriy Glukhov
951157a4e9 Fixed proto options 2018-06-15 12:54:59 +03:00
Dmitry Atamanov
bf5d619a52 Add MemMapFileStream. Fixes in memFiles. (#7944)
* Add MemMapFileStream

* Added tests

* Fixed bug in memfiles (zero index for string)

* Added flush to changelog

* Attempt to fix Win's nuances

* Fix attempt to fix

* Continue...

* And again...

* Reworked tests (all for win on Win)

* Fixes in flush (Win)

* Replace fn vars to consts

* Added the attempts parameter to the flush

* Replace while to for

* Move to memfiles

* Use Natural instead of uint

* Better error messages for append mode. Handle specific cases.
2018-06-14 17:34:26 +01:00
Andreas Rumpf
f1d5e9090e Merge pull request #8021 from yglukhov/seq-lit
Added NIM_STRLIT_FLAG to seq literals
2018-06-14 17:38:12 +02:00
Araq
21a17f3911 document the 'pkg' and 'std' pseudo directories; closes #7250 2018-06-14 16:40:06 +02:00
Araq
1578d222e2 implements pkg/ prefix to enforce searching for the module ignore the stdlib paths; refs #7250 2018-06-14 16:12:02 +02:00
Araq
894f21eb73 RST hotfix: don't crash in rstnodeToRefname 2018-06-14 15:01:30 +02:00
Yuriy Glukhov
466af35d4d Fixed stacktrace/linetrace proc pragmas when appended by macro pragma 2018-06-14 15:48:51 +03:00
Andreas Rumpf
2d186f18ec Merge pull request #7950 from Paalon/math-log
Add log for base b of x
2018-06-14 14:02:57 +02:00
Andreas Rumpf
80a1da951d Merge pull request #8033 from FedericoCeratto/patch-9
Add hint on JSON serialization
2018-06-14 12:03:41 +02:00
Koki Fushimi
5332da2e7c Fix a test 2018-06-14 13:37:37 +09:00
Koki Fushimi
5fc5e37194 Use one same type for two parameters 2018-06-14 13:17:17 +09:00
Federico Ceratto
127556ad63 Update marshal.nim 2018-06-13 23:22:07 +01:00
Federico Ceratto
d1e03c20d2 Add hint on JSON serialization 2018-06-13 23:11:29 +01:00
Andreas Rumpf
89dd1e3592 Merge pull request #8030 from c-blake/devel
hotfix 3221ac0943 broke gc:regions/aka …
2018-06-13 20:01:47 +02:00
Vindaar
e80be6173d Add parse bin int, fixes #8018 (#8020)
* clarify `parseHexInt`, `parseOctInt` docstring and exception msgs

* add `parseBinInt` based on `parseutil.parseBin` implementation

Adds a `parseBinInt`, which parses a binary integer string and returns
it as an integer. This is based on the implementation of
`parseutil.parseBin`, removing the unnecessary parts.

* add tests for all `parse(Hex|Oct|Bin)Int` procs

* replace `parse*Int` proc impls by call to parseutil procs

Replaces the `parse(Hex|Oct|Bin)Int` procedure implementation by calls
to the `parseutil` procs, which receive a mutable argument.

Has the main advantage that the empty string as well as a "prefix
only" string, e.g. "0x" counts as an invalid integer.

Also moves the `parseOctInt` proc further up in the file so that all
`parse` procs are below one another.

* replace `var L` by `let L` in `parse` procs

There's no reason for the usage of `var` here.

* add `maxLen` optional arg for `parseutil.parse(Oct|Bin)`

Plus small change to test cases.

* update changelog about `parse*Int` procs

* fix `rejectParse` template in `tstrutils`

* make sure only `s.len` chars are parsed, if `maxLen+start` > s.len

Fixes a previous bug in `parseHex` (and now affected `parseOct` and
`parseBin`), which allowed to set `start + maxLen` to be larger than
the strings length. This resulted in an out of bounds access.

* move `parse*Int` proc change to breaking changes, add double `
2018-06-13 13:32:12 -04:00
Charles Blake
ed4f1f4c43 hotfix 3221ac0943 broke gc:regions/aka gc:stack by
underallocating for sequences of any type larger than 1 byte.  This does the
necessary multiply to restore basic functionality.
2018-06-13 10:36:47 -04:00
Andreas Rumpf
cd65ef0056 Merge pull request #8027 from yglukhov/vm-fix
Fixed uncaught exception in vm gen
2018-06-13 15:50:18 +02:00
Dominik Picheta
518a3e7f73 Merge pull request #8025 from krux02/remove-immediate
fix #5930
2018-06-13 14:12:16 +01:00
Yuriy Glukhov
dd06c46865 Fixed uncaught exception in vm gen 2018-06-13 15:39:45 +03:00
Arne Döring
51fdb071cb fix #5930 2018-06-13 12:18:21 +02:00
Andreas Rumpf
5348fef003 implements a --nep1:on switch to make the compiler enforce the naming conventions outlined in NEP-1 2018-06-13 01:44:19 +02:00
Andreas Rumpf
f555338ce8 bugfix: allow 'export' in the VM 2018-06-12 21:08:41 +02:00
Andreas Rumpf
b379547fc0 Merge pull request #8019 from yglukhov/proc-stacktrace
Allow stacktrace and linetrace pragmas on procs
2018-06-12 17:12:13 +02:00
Andreas Rumpf
aaceec0744 Merge pull request #7981 from cooldome/Fix_-7980
Fixes 7980
2018-06-12 11:50:40 +02:00
Yuriy Glukhov
7a4b343d8d Added NIM_STRLIT_FLAG to seq literals 2018-06-12 12:39:54 +03:00
Yuriy Glukhov
7e7b85afc7 Allow stacktrace and linetrace pragmas on procs 2018-06-12 12:31:14 +03:00
cooldome
44d82d9492 style improvements 2018-06-12 09:17:24 +01:00
cooldome
746da12d74 add comment 2018-06-12 00:22:11 +01:00
cooldome
1b7cf3df51 New approach 2018-06-12 00:20:08 +01:00
Andreas Rumpf
1c58f31a71 Merge pull request #8014 from yglukhov/fix-6803
Fixes #6803
2018-06-11 23:39:27 +02:00
LemonBoy
ac0f986008 Correct field lookup in concept types
Fixes #6770
2018-06-12 00:36:43 +03:00
Yuriy Glukhov
8f06763491 Fixes #6803 2018-06-11 22:38:40 +03:00