summary refs log tree commit diff stats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* [std/encodings]move to tests (#17866)flywind2021-04-291-72/+0
|
* Fix documentation of strutils.stripLineEnd (#17883)Michael Krieger2021-04-281-1/+1
| | | It does not return anything.
* [std/encodings] fix iconv headers on OpenBSD (#17872)flywind2021-04-271-1/+3
|
* [std/pegs] increase test coverage (#17871)flywind2021-04-271-144/+0
|
* [std/parsecfg]use runnableExamples (#17868)flywind2021-04-271-96/+95
| | | | | | | * [std/parsecfg]use runnableExamples * Apply suggestions from code review Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* add -d:nimLegacyNoHashRef for a transition period which avoids defining ↵Timothee Cour2021-04-271-17/+22
| | | | hash(ref) (#17858)
* fix gbk encodings on windows (#17843)flywind2021-04-261-0/+1
|
* Remove confusing <//> (#17830)flywind2021-04-265-26/+22
|
* Ref #17831(synchapi.h: No such file or directory) (#17832)flywind2021-04-251-2/+1
| | | | | | | | | * Ref #17831 use windows.h * use header: "windows.h" * Update syslocks.nim * Update lib/system/syslocks.nim
* add colon (#17834)flywind2021-04-242-2/+2
|
* `typeof(voidStmt)` now works (#17807)Timothee Cour2021-04-231-5/+2
| | | | | | | | * `typeof(voidStmt)` now works * remove typeOrVoid * add condsyms, and reference cligen https://github.com/c-blake/cligen/pull/193 * fixup * changelog [skip ci] * fixup
* refactor all code that builds csources (#17815)Timothee Cour2021-04-231-1/+1
| | | | | | | | | | | | | | | * refactor all code that builds csources * fixup * nim_csourcesDir_v0 + nim_csourcesDir * remove deprecated, unused scripts from ci/ * reuse nimCsourcesHash in ci * simplify CI pipelines by reusing nimBuildCsourcesIfNeeded * simplify ci_docs.yml by reusing nimBuildCsourcesIfNeeded * cleanup * use csources_v1 as destination dir * fixup * remove pushCsources * address comment: remove build.sh support for now * fixup
* fix #17812 (repr fails to compile with ARC/ORC) (#17816)flywind2021-04-221-1/+1
|
* add RST highlighting for command line / shells (also fixes #16858) (#17789)Andrey Makarov2021-04-214-29/+125
|
* getCustomPragmaVal priority/override fixes (#17725)Clyybber2021-04-211-38/+40
| | | | | | | | | * Adhere left-to-right rule for custom pragma priority * Improve error message for no custom pragmas * custom pragmas on var/let sym take priority over its type ones * Workaround & bug
* close #9372 add std/tempfiles (#17361)flywind2021-04-211-0/+139
| | | | * close #9372 add std/tempfile
* Fix Httpclient headers from being modified accidentally (#17808)Joey2021-04-211-2/+5
|
* CIs: attempt to use csources_v1 (#16282)Andreas Rumpf2021-04-2129-62/+61
| | | | | | | | * CIs: attempt to use csources_v1 * also updated the BSDs * also updated azure pipelines * std modules should not itself use the 'std/' import dir... * compiler has to be careful with std/ for v1 booting
* [std/tasks]add gcsafe pragmas (#17799)flywind2021-04-211-4/+4
| | | | | * [std/tasks]add gcsafe pragmas * Update tasks.nim
* [std/deques] move data instead of copy + destroy (#17800)flywind2021-04-201-4/+2
|
* followup #16714: add -d:nimLegacyUnarySlice + changelog (#17794)Timothee Cour2021-04-201-0/+10
|
* fix https://github.com/nim-lang/RFCs/issues/311 remove unary slice (#16714)Timothee Cour2021-04-191-8/+0
|
* Small privateAccess improvement (#17786)Clyybber2021-04-191-1/+1
|
* Rename `=` to `=copy` in stdlib (#17781)Clyybber2021-04-195-4/+5
|
* [std/locks]close #7998(complete condition variables) (#17711)flywind2021-04-195-45/+60
| | | | | | * close #7998 * workaround genode * Update lib/system/syslocks.nim
* [std/locks]remove workaround for withLock (#17772)flywind2021-04-191-4/+3
| | | | | | | | | | Ref #6113 and #6049 The workaround for generics instantiation is unnecessary. It seems to be fixed by another PR I guess. The test still works. So the changes should be harmless. https://github.com/nim-lang/Nim/blob/devel/tests/stdlib/tlocks.nim I also add some inline pragmas.
* Documentation only, dom (#17770)Juan Carlos2021-04-191-1/+3
| | | | | | | | | | | | | | * ReSync with Devel * ReSync * https://github.com/timotheecour/Nim/issues/674 * Update lib/js/dom.nim Co-authored-by: flywind <xzsflywind@gmail.com> Co-authored-by: Andreas Rumpf <rumpf_a@web.de> Co-authored-by: flywind <xzsflywind@gmail.com>
* [std/rlocks]add inline pragma (#17773)flywind2021-04-191-3/+3
| | | so that it can be used as the base of new locks module with destructors.
* privateAccess now works with ref | ptr (#17760)Timothee Cour2021-04-191-1/+1
|
* Fix #17755 (#17766)Dankr4d2021-04-181-2/+11
| | | Signed-off-by: Dankr4d <dude569@freenet.de>
* fix #17749 ignore SIGPIPE signals, fix nim CI #17748 (#17752)Timothee Cour2021-04-181-3/+13
| | | | | * fix #17749 SIGPIPE * fix for windows
* IC exposes typedesc implementation shenanigans (#17759)Andreas Rumpf2021-04-181-1/+1
| | | | | | * IC exposes typedesc implementation shenanigans; so I change system.default's definition to what it should have been to begin with * Update lib/system.nim Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* make cuchar alias uint8 instead of char (#17738)shirleyquirk2021-04-171-1/+1
|
* replace defer with try ... finally (#17753)flywind2021-04-171-5/+5
|
* cString => cSourceString; tyCString => tyCstring so that error msgs show ↵Timothee Cour2021-04-175-8/+8
| | | | cstring, not cString (#17744)
* Fix buffer-overrun bug in net (#17728) [backport:1.0]shirleyquirk2021-04-161-4/+3
|
* std/hashes: hash(ref|ptr|pointer) + other improvements (#17731)Timothee Cour2021-04-161-23/+49
|
* start using import {.all.} (#17736)Timothee Cour2021-04-161-22/+0
|
* `import foo {.all.}` reboot (#17706)Timothee Cour2021-04-161-0/+34
|
* make the copy operation of Thread an error (#17734)flywind2021-04-161-0/+2
|
* Fix array's high & low return type for empty arrays (#17705)Tanguy Cizain2021-04-151-0/+8
| | | | | | | | | * fix array.high/low return type * Add test for empty array low return type Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Fix getCustomPragmaVal for some multi arg pragmas (#17723)Clyybber2021-04-151-41/+45
| | | | | * Fix getCustomPragmaVal for some multi arg pragmas * Bootstrap fix
* rst indentation fixes (ref #17340) (#17715)Andrey Makarov2021-04-152-39/+74
|
* simplify asyncfutures, asyncmacro (#17633)Timothee Cour2021-04-142-72/+31
|
* getCustomPragma is split up in more usable chunks (#11526)Arne Döring2021-04-141-93/+165
| | | | | | | | | | | | | | | | | * getCustomPragma is split up in more usable chunks * changelog entry * fix for style checks * shitty typedesc special casing * Add since annotation and remove typedesc comments * Fix typo * Revert since annotation because it breaks bootstrapping * Export getCustomPragmaNode conditionally * Reduce code duplication * Update since * Update lib/core/macros.nim * Apply suggestions from code review Co-authored-by: Clyybber <darkmine956@gmail.com> Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* callback cannot be nil (#17718)flywind2021-04-141-0/+1
| | | | | | | `Task.callback` cannot be nil, we need to raise it at debug and release mode Situations: - if users create a Task object without using `toTask` and invoke the Task - if users already move the Task and invoke the Task
* Update channels.nim (#17717)flywind2021-04-141-4/+4
|
* Remove the use of usrToCell in gcMark [backport:1.2] (#17709)zah2021-04-142-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove the use of usrToCell in gcMark [backport:1.2] Recently, we've discovered a GC crash resulting from inlining of the memory allocation procs that allowed the compiler to avoid maintaining any references to the "user pointer" on the stack. Instead, a "cell pointer" appeared there and all field accesses were performed with adjusted offsets. This interfered with the ability of the GC to mark the correct cell in the conservative stack scans which lead to premature collection of objects. More details here: https://github.com/status-im/Nim/commit/af69b3ceae16281efd45cbee4ce1bedd14282304 This commit closes another theoretical loophole that may lead to the same problem. If a short proc is accessing both the object and its reference count in a short sequence of instructions, the compiler may be enticed to reduce the number of registers being used by storing only a single pointer to the object and using offsets when reading and writing fields. A perfectly good strategy would be to store only the cell pointer, so the reference count updates can be performed without applying offsets. Accessing the fields of the object requires offsets anyway, but these can be adjusted at compile-time without any loss. Following this strategy will lead to the same problem of marking a wrong cell during the conservative stack scan, leading to premature collection. The problem is avoided by not using `usrToCell` in `gcMark`. Since the cell discovery logic can already handle interior pointers, the user pointers don't need to be adjusted for the GC to function correctly.
* add number literal jsbigints.big (#17707)Timothee Cour2021-04-131-7/+13
|
* remove unnecessary assignment (#17702)flywind2021-04-121-1/+0
|