Commit Graph

6681 Commits

Author SHA1 Message Date
Oscar Nihlgård
1d7e3a84fd Improve exception usage in parseutils (#10284) 2019-01-15 23:48:19 +01:00
Araq
27e366eaec fixes #8294 [backport] 2019-01-15 22:47:21 +01:00
Timothee Cour
795e5e11ef parseopt2.cmdLineRest is now correct too (#10304) 2019-01-15 21:51:02 +01:00
Reimer Behrends
06e3d3ab4d Disable interior pointer checking by default for the Boehm GC. (#10316)
The Boehm GC only needs interior pointer checking if pointers in global
variables or on the heap point to the interior of an object rather than
the beginning. If this does not happen, then checking for interior
pointers causes additional overhead, in particular because any objects
whose sizes are an exact multiple of two words gain another two words of
padding, wasting memory.

If checking of interior pointers is still desired, this can be achieved
by setting the environment variable GC_ALL_INTERIOR_POINTERS.

Pointers on the stack will always be treated as potential interior
pointers, as compiler optimizations may advance the only live reference
to a point past the beginning of an object.
2019-01-15 19:00:02 +01:00
Timothee Cour
0a8762eb7b fix #9842 #9951: nim -r and parseopt.cmdLineRest are now correct 2019-01-14 17:00:54 -08:00
genotrance
dd1f23f6fc Expose CTime (#10301) 2019-01-14 22:16:11 +01:00
Arne Döring
b78af990b8 Fixes #10065 (#10260)
CountTable now returns 0 instead of 'key not found' for get requests.
2019-01-14 17:16:17 +01:00
genotrance
c707267212 Add stdin read support to nimscrit #3983 (#10292) 2019-01-14 09:26:10 +01:00
narimiran
29e0a792ff [backport] fix documentation leak to os.nim[ci skip] 2019-01-14 09:24:12 +01:00
Arne Döring
2b37bf5d5b added proc rand for typedesc (#10259) 2019-01-14 09:20:31 +01:00
Araq
d983d998b2 fixes #9218 2019-01-13 18:53:27 +01:00
Araq
451377f737 fixes #10271 [backport] 2019-01-13 14:24:38 +01:00
Araq
7f0559b93f fixes #7241 2019-01-13 14:09:14 +01:00
Dominik Picheta
d740a5b79a Implements BackwardsIndex [] for deque. (#10105) 2019-01-13 14:06:16 +01:00
Araq
5cd18b0f24 make system.task compatible with NimScript; refs #10254 2019-01-13 09:04:57 +01:00
Timothee Cour
9af85fb69f fixes #10273 execShellCmd now returns nonzero when child killed with signal + other fixes (#10274)
* s/exitStatus(...)/exitStatusLikeShell(...)/
* fix #10273 execShellCmd now returns nonzero when child exits with signal
* test case for #10249 and explanation for the bug
* fix test failure
* add tests/nim.cfg
2019-01-13 09:00:39 +01:00
Timothee Cour
98ef545bed fix #10281 (#10282) 2019-01-12 08:18:04 +01:00
Ico Doornekamp
7e7603ed2b Documented error source argument of macros.error() (#10279) 2019-01-12 08:17:20 +01:00
Araq
647066e378 make the stdlib work with the changed docgen 2019-01-11 22:17:43 +01:00
Araq
56b804a283 RST parser: fixes #8158 2019-01-11 22:17:43 +01:00
Araq
ee7f2d97cc docgen: support markdown headings too 2019-01-11 22:17:43 +01:00
Araq
5ef5dc86c5 docgen: support markdown link syntax; enable markdown extensions 2019-01-11 22:17:43 +01:00
Araq
c3d80647ae docgen: render 'interpreted text' the same as inline literals for markdown compat 2019-01-11 22:17:43 +01:00
Jörg Wollenschläger
ceabbeadd7 Fixes new atomics for C + vcc (#10267) 2019-01-11 12:07:46 +01:00
narimiran
0a2f711b9e revert moving oids and smtp to graveyard 2019-01-11 08:51:19 +01:00
Timothee Cour
540d102d87 fix #10261 unittest now returns 1 on error instead of buggy behavior (#10264) 2019-01-11 07:59:20 +01:00
Jörg Wollenschläger
ab425d793a [RFC] Better atomics (#8620)
* Initial version of C++11 style atomics
* Make Atomic[T] always concrete
2019-01-10 19:18:00 +01:00
Vindaar
8e600b78ca add unsetControlCHook to remove a Ctrl-C hook after it was set (#7267)
* add unsetControlCHook to remove a Ctrl-C hook after it was set

Adds the inverse proc to setControlCHook in order to lift a Ctrl-C
hook after it has been set.

* remove check for noSignalHandler in system/excpt.nim
2019-01-10 13:44:44 +01:00
Neelesh Chandola
d998cb58dd void object fields are now ignored by codegen and fields/fieldPairs iterator (#10144)
* Codegen now ignores object fields of type void
* Fix `$` bug for objects/tuples where it does not add a comma
* fields/fieldPairs iterators now ignore void types
* Use `isEmptyType` instead of checking for `tyVoid` directly
2019-01-10 12:49:35 +01:00
Miran
6389271d1c Merge pull request #10248 from narimiran/graveyard
Move four modules to graveyard
2019-01-10 11:17:06 +01:00
Oscar Nihlgård
b3435d22dc Times cosmetic changes (#10237)
* Add more Date wrappers to jscore

* Times cosmetic changes
- Improved docs
- Code wrapped at 80 chars
- Formatting fixes using nimpretty
- Remove some old deprecated procs
2019-01-10 10:56:12 +01:00
Oscar Nihlgård
3ed5f83704 Fix exception tracking for system.open (#10253) 2019-01-10 09:28:09 +01:00
narimiran
be958d60c9 remove oids 2019-01-10 09:17:12 +01:00
narimiran
1a3763fe13 remove smtp 2019-01-10 09:17:12 +01:00
narimiran
8d9b093440 remove scgi 2019-01-10 09:17:12 +01:00
narimiran
da57c0ab99 remove subexes 2019-01-10 09:17:12 +01:00
Oscar Nihlgård
87232a38e4 ValueError now inherits from CatchableError (#10246) 2019-01-10 08:49:57 +01:00
Notkea
11050d1104 make Stream.{read,peek} procs public (#9806)
Those are useful in generic code, and `proc write*[T](s: Stream, x: T)` was already public.
2019-01-09 08:06:40 -06:00
Ico Doornekamp
0229dfd199 epoll selector starts with reasonable fd set size (1024) and increases in powers of two when needed. This prevents the selector to allocate large amounts of memory at startup on systems with a high RLIMIT_NOFILE setting (#10194) 2019-01-09 10:46:22 +01:00
genotrance
def477acb7 Merge pull request #10236 from treeform/passSSLPath
Fix libssl order. Newest one is 1.1
2019-01-08 23:24:45 -06:00
Timothee Cour
6ce3949c8a add isNamedTuple; make $(1, 2) be (1, 2) instead of (Field0: 1, Field1: 2) which leaked implementation detail (#10070)
* add `isNamedTuple`; make $(1, 2) be (1, 2) instead of leaking implementation detail (Field0: 1, Field1: 2)
  fixes this: #8670 (comment) /cc @alehander42 @Vindaar @mratsim

* Note: isNamedTuple is useful in other places, eg #10010 (comment)

* move isNamedTuple to helpers.nim to avoid exposing new symbol to system.nim

* remove workaround in tests/vm/tissues.nim failing test now that #10218 was makes it work
2019-01-08 18:37:25 -08:00
Andre von Houck
21078798ea Fix libssl order. Newest one is 1.1 2019-01-08 10:30:22 -08:00
alaviss
6737634d88 os.execShellCmd: fixes #10231 (#10232)
Darwin has long deprecated the wait union, but their macros still assume
it unless you define _POSIX_C_SOURCE. This trips up C++ compilers.

This commit duplicates the behavior of WEXITSTATUS when _POSIX_C_SOURCE
is defined.
2019-01-08 12:41:15 +01:00
treeform
3ed833198b Better LibSSL search order. (#10230) 2019-01-08 09:50:25 +01:00
alaviss
20402579a2 system/strmantle: avoid leaking docs to system.nim [ci skip] (#10233)
thanks @timotheecour for spotting this
2019-01-08 08:42:10 +01:00
jcosborn
044cef152f add custom pragma support for var and let symbols (#9582)
* add custom pragma support for var and let symbols
* updated changelog for custom pragmas on var and let symbols
* add oldast switch for backwards compatibility
2019-01-07 12:36:06 +01:00
alaviss
139fa396e8 os.execShellCmd: use WEXITSTATUS to retrieve exit code (#10222)
According to POSIX, system() shall returns the termination status in the
format specified by waitpid(), which means WEXITSTATUS should be used to
retrieve the exit code portably.

This fixes execShellCmd on Haiku.
2019-01-07 12:27:07 +01:00
Miran
5345c5b130 remove deprecated modules (#10215)
* removed from `compiler`:
    * lists (deprecated 2 years ago)

* removed from `lib` (all deprecated 3 years ago):
    * ssl
    * matchers
    * httpserver

* removed from `lib/deprecated`:
    * unsigned
    * actors (and three accompanying tests)
    * parseurl

* moved to `lib/deprecated`:
    * securehash (the reason for not directly removing - it was deprecated (only) one year ago)
2019-01-07 10:37:49 +01:00
Ico Doornekamp
be9d1280ae Added examples to strtabs module (#10160) 2019-01-07 00:52:19 +01:00
Leonardo Cecchi
b7be67349b Fix ODBC SQL Error string decoding (#10207) [backport]
ODBC Errors were presented to the users as a sequence of characters.
I.e.:

    >test_oracle.exe

    Error: ['H', 'Y', '0', '0', '0', '\x00', '\x00', ...]

    test_oracle.nim(15)      test_oracle
    test_oracle.nim(8)       test_oracle
    db_odbc.nim(534)         open
    db_odbc.nim(168)         dbError
    Error: unhandled exception: ODBC Error [DbError]

This patch fix the string decoding, creating a real string:

    >test_oracle.exe

    Error: HY000 [Oracle][ODBC][Ora]ORA-12541: TNS:no listener

    test_oracle.nim(15)      test_oracle
    test_oracle.nim(8)       test_oracle
    db_odbc.nim(534)         open
    db_odbc.nim(168)         dbError
    Error: unhandled exception: ODBC Error [DbError]
2019-01-07 00:48:55 +01:00