summary refs log tree commit diff stats
path: root/lib/system.nim
Commit message (Collapse)AuthorAgeFilesLines
* `addQuitProc` now works with closures, and c, js(node/browser) backend; fix ↵Timothee Cour2020-06-161-5/+4
| | | | | | | | | | | | | | | some bugs in testament (#14342) * make addQuitProc great again * fix bugs in testament * fix test * change 2016 => 2020 * addQuitProc => addExitProc + locks * move to std/exitprocs
* fix #10731 ; `runnableExamples "-b:cpp --run:off": code` works (#14384)Timothee Cour2020-05-201-3/+8
| | | | * runnableExamples "-b:cpp -r:off": code
* Remove the uses of {.procvar.} pragma (#14359)Kaushal Modi2020-05-151-2/+2
| | | | | | | This pragma did nothing. Ref: - https://github.com/nim-lang/Nim/issues/2172#issuecomment-383276469 - https://github.com/nim-lang/Nim/issues/12975
* Improve nimeval, changes some defaults (#14351)PMunch2020-05-151-1/+1
| | | | | | | | | | * Improve nimeval, changes some defaults This improves nimeval to make it easier to use NimScript as an embedded scripting languages. It does change some of the defaults, so in case anything used the old version and depended on the old behaviour these would have to be changed. * Remove dependency on nimhcr for nimscript
* `osproc.execCmdEx` now takes an optional `input` for stdin, `env`, ↵Timothee Cour2020-05-131-1/+2
| | | | | | | workingDir (#14211) * `osproc.execCmdEx` now takes an optional `input` for stdin * execCmdEx now also takes an optional ``workingDir` and `env`
* fixes #13881Andreas Rumpf2020-05-121-2/+2
| | | | | | * fixes #13881 * documented changed requirements for system.onThreadDestruction * destructors.rst: update the documentation
* --hint:processing (+friends) is now supported and means ↵Timothee Cour2020-05-081-1/+1
| | | | `--hint:processing:on`, like all other bool flags (#14271)
* Clarify JS cstring len (#14184)hlaaftana2020-05-051-6/+7
|
* fix #14217 (#14218)cooldome2020-05-051-1/+1
| | | | | * fix #14217 Co-authored-by: cooldome <ariabushenko@bk.ru>
* move since from inclrtl to std/private/since (#14188)hlaaftana2020-05-021-2/+4
| | | | * move since from inclrtl to std/private/since * move since import in system below for HCR
* Error -> Defect for defects (#13908)Jacek Sieka2020-04-281-6/+6
| | | | | | | | | | | | | | * Error -> Defect for defects The distinction between Error and Defect is subjective, context-dependent and somewhat arbitrary, so when looking at an exception, it's hard to guess what it is - this happens often when looking at a `raises` list _without_ opening the corresponding definition and digging through layers of inheritance. With the help of a little consistency in naming, it's at least possible to start disentangling the two error types and the standard lib can set a good example here.
* `$` now works for unsigned intergers with `nim js` (#14122)Timothee Cour2020-04-271-4/+5
| | | | * $(unsigned) now works for js * move NimMajor+friends closer to NimVersion according as per reviewer feedback
* since now takes an optional patch, eg: `since: (1, 3, 1)` (#14124)Timothee Cour2020-04-261-1/+5
| | | add tests for tinclrtl
* forward type alignment information to seqs (#12430)Arne Döring2020-04-191-2/+10
|
* bump devel version to 1.3.1narimiran2020-04-031-1/+1
|
* stacktraces can now show custom runtime msgs per frame (#13351)Timothee Cour2020-03-301-16/+20
| | | | | | | | * stacktraces can now show custom runtime msgs * improve tests/stdlib/tstackframes.nim * fix test for --gc:arc * test --stacktraceMsgs:on and --stacktraceMsgs:off * --stacktracemsgs:off by default
* arc optimizations (#13325)Andreas Rumpf2020-03-181-8/+1
| | | | | * scope based destructors * handle 'or' and 'and' expressions properly, see the new test arc/tcontrolflow.nim * make this branch mergable, logic is disabled for now
* catchable defects (#13626)Andreas Rumpf2020-03-121-1/+4
| | | | | | | | | | * allow defects to be caught even for --exceptions:goto (WIP) * implemented the new --panics:on|off switch; refs https://github.com/nim-lang/RFCs/issues/180 * new implementation for integer overflow checking * produce a warning if a user-defined exception type inherits from Exception directly * applied Timothee's suggestions; improved the documentation and replace the term 'checked runtime check' by 'panic' * fixes #13627 * don't inherit from Exception directly
* rename `lenTuple` and `lenVarargs` (#13639)Miran2020-03-121-3/+3
| | | | | | | | | | | * rename 'lenTuple' to 'tupleLen' Rationale: `lenTuple` is a tuple consisting of lengths (e.g. `(1, 5, 0)`), `tupleLen` is a length of a tuple (e.g. `tupleLen((1, 5, 0) == 3`) * rename 'lenVarargs' to 'varargsLen' The same rationale as a previous commit. Consistency.
* cleanup Ordinal (#13501)Timothee Cour2020-02-271-0/+12
|
* Documentation staticRead maximum file size limits (#13485)Juan Carlos2020-02-261-0/+3
|
* stdlib/system: add sink and move (#13283)cooldome2020-02-181-44/+92
|
* Repr v2 progress (#13268)cooldome2020-01-281-5/+2
| | | | | | | | | | * progress on repr_v2 * repr progress * add ref objects with distrinct * fix failing tests
* [backport] fix #11440, add docs to isNil for seq types needing nilseq ↵D-Nice2020-01-231-0/+12
| | | | (#13234) [ci skip]
* style fix: change 'JS' to 'js' to make it consistent (#13168)Miran2020-01-161-28/+28
|
* System cleanup, part 2 (#13155)Miran2020-01-151-1649/+29
| | | | | | | | * create basic_types, arithmetics, exceptions, comparisons * create setops.nim * create memalloc.nim * create gc_interface.nim * create iterators_1.nim
* Added 'ansic' os support for minimal (embedded) targets (#13088)Ico Doornekamp2020-01-151-2/+7
| | | | | | | | * os:any implementation * os:asny: omit flock/funlock calls in echoBinSafe * Disabled default "unhandled expection" reporting for `--os:any` to reduce code size. Added unhandledExceptionHook instead which can be used to get a notification from Nim and handle it from the application.
* more arc features (#13098)Andreas Rumpf2020-01-101-12/+19
| | | | | * config update * ARC now supports 'repr' and 'new' with finalizers is supported
* System cleanup, part 1 (#13069)Miran2020-01-101-496/+512
| | | | | | * system.nim: mark what every .pop does * system.nim: un-nest when statements
* --exception:goto switch for deterministic exception handling (#12977)Andreas Rumpf2020-01-011-5/+7
| | | | | This implements "deterministic" exception handling for Nim based on goto instead of setjmp. This means raising an exception is much cheaper than in C++'s table based implementations. Supports hard realtime systems. Default for --gc:arc and the C target because it's generally a good idea and arc is all about deterministic behavior. Note: This implies that fatal runtime traps are not catchable anymore! This needs to be documented.
* ARC: default to a shared heap with --threads:onAraq2019-12-241-5/+5
|
* ported channels to ARCAraq2019-12-241-1/+1
|
* lenVarargs: number of varargs elements (#12907)Timothee Cour2019-12-231-0/+5
|
* update documentation for `closureScope` and `capture` (#12886)Judd2019-12-211-1/+6
|
* system.reset is no longer magic (#12937)Clyybber2019-12-191-11/+9
| | | It has now means setting x to default for new and old runtime alike
* ARC: cycle detector (#12823)Andreas Rumpf2019-12-171-3/+5
| | | | | | | | | | | | | * first implementation of the =trace and =dispose hooks for the cycle collector * a cycle collector for ARC: progress * manual: the .acyclic pragma is a thing once again * gcbench: adaptations for --gc:arc * enable valgrind tests for the strutils tests * testament: better valgrind support * ARC refactoring: growable jumpstacks * ARC cycle detector: non-recursive algorithm * moved and renamed core/ files back to system/ * refactoring: --gc:arc vs --gc:orc since 'orc' is even more experimental and we want to ship --gc:arc soonish
* ARC related bugfixes and refactorings (#12781)Andreas Rumpf2019-12-051-4/+9
|
* fix db_mysql getRow() when column is null error raised (#12806) [backport]itsumura-h2019-12-051-3/+4
| | | | | * fix db_mysql getRow() * added if y == nil [backport]
* #12103 - CI for FreeBSD (#12179)Euan2019-11-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * Ref #12103 - adds FreeBSD CI * Fix getApplFreebsd - length of the string includes the null terminator byte, so minus 1 for result length * Show last commit in setup task. * Remove .git from repository URL * Don't include noisy details showing last commit. * Add FreeBSD build status badge * Fix #12182 - disable tconsole on FreeBSD * Disable tgetaddrinfo on FreebSD as getaddrinfo doesn't support the ICMP protocol. * Install boehm-gc-threaded * Use libgc-threaded.so on FreeBSD rather than libgc.so. * Simplify build failure handling. Update alt text for CI badge. * Disable test on FreeBSD * Simplify build config - use GNU make to build csources - set PATH variable using the environment key - remove modification of config to set CC as this is already set * Install git which seems to be missing from current freebsd images * Revert change to how path is set * Add a comment explaining why the length is truncated * Fix tconsole.
* make addQuoted work on nimscript (#12717) [backport]Jasper Jenkins2019-11-281-5/+6
|
* ARC: ported the GC tests over to --gc:arcAraq2019-11-261-12/+13
|
* gc:arc: support GC_ref/unref for ref TAraq2019-11-131-1/+1
|
* fix compilation warning (#12618)cooldome2019-11-081-5/+5
| | | | | | * fix compilation warning * comments incorporated
* remove deprecated procs (#12535)Andreas Rumpf2019-11-051-90/+0
|
* NimPatch of devel version should be an odd number because of the earlier hacksnarimiran2019-11-031-1/+1
|
* [backport] Add docs to better distinguish among getProjectPath, ↵Kaushal Modi2019-10-311-1/+13
| | | | | getCurrentDir and currentSourcePath (#12565) Fixes https://github.com/nim-lang/Nim/issues/10477.
* introduce csize_t instead of fixing csize (#12497)Arne Döring2019-10-311-3/+5
|
* --gc:destructors now means Nim uses pure refcounting (#12557)Andreas Rumpf2019-10-301-8/+10
|
* fix several typos in documentation and comments (#12553)Nindaleth2019-10-301-4/+4
|
* Extent json.to testing to VM, add workrounds for VM bugs. (#12493)Arne Döring2019-10-281-2/+8
| | | fixes #12479