summary refs log tree commit diff stats
path: root/lib/core
Commit message (Collapse)AuthorAgeFilesLines
* remove legacy code (#21134)ringabout2022-12-261-5/+4
| | | | | * remove legacy code * fixes
* Implement setLineInfo (#21153)Peter Munch-Ellingsen2022-12-221-0/+16
| | | | | * Implement setLineInfo * Add tests
* fix #12122 (#21096)Bung2022-12-161-2/+2
|
* macros.customPragmaNode: walk brackets on brackets (#21040)Emery Hemingway2022-12-081-5/+3
|
* move threads out of system (#20674)ringabout2022-10-292-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * move syslocks first * progress * clean up * go on * clean up * clean up * add imports syslocks * remove documentation * public deallocOsPages * fixes genode * fixes more * fixes boehmGC * cover more cases * fixes cyclic deps * fixes genode * cleanup * unpublic fields * cleanup * clean up
* fixes #20572 (#20585)Andreas Rumpf2022-10-171-1/+2
| | | | | * fixes #20572 * added a test case
* 'lock levels' are deprecated, now a noop (#20539)ringabout2022-10-111-2/+2
| | | | | * 'lock levels' are deprecated, now a noop * fixes tests
* out parameters: enforce that 'out' is only used as a parameter (#20510)Andreas Rumpf2022-10-071-1/+4
| | | | | | | * out parameters: enforce that 'out' is only used as a parameter * make tables.nim use 'out' parameters * better backwards compat
* moderate system cleanup & refactor (#20355)metagn2022-09-281-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * system refactor, move out 600 lines * compilation, slice, backwardsindex, misc_num moved out of system * some procs/types moved into arithmetics, basic_types * system no longer depends on syncio * some procs moved around to fit with their surroundings * make exceptions an import, old ops to misc_num * move instantiationInfo back * move back nim version, fix windows echo * include compilation * better docs for imported modules, fix unsigned ops also remove ze, ze64, toU8, toU16, toU32 with nimPreviewSlimSystem * fix terminal * workaround IC test & weird csize bug, changelog * move NimMajor etc back to compilation, rebase for CI * try ic fix * form single `indices`, slim out TaintedString, try fix IC * fix CI, update changelog, addQuitProc * fix CI * try fix CI * actually fix CI finally hopefully * Update lib/system/compilation.nim Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com> * update kochdocs * hopefully fix csize uses for slimsystem * fix tquit Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
* store full definition AST for consts, fix noRewrite (#20115)metagn2022-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * continue #9582 for consts, close #9331, fix #20114 also move extractPragma to ast to pave the way for things like {.strdefine: "abc".} etc * changelog correctly * fix jsgen * update tgetimpl * fix sighashes * fix #19766, add comment about postfix * fix noRewrite LOL refs #16620 * fix changelog * fix destructors
* make more standard libraries work with `nimPreviewSlimSystem` (#20343)ringabout2022-09-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | * make more standard libraries work with `nimPreviewSlimSystem` * typo * part two * Delete specutils.nim * fixes more tests * more fixes * fixes tests * fixes three more tests * add formatfloat import * fix * last
* add docs to copyNimNode and copyNimTree (#20357)ringabout2022-09-161-2/+25
| | | | | | | | | * add docs to copyNimNode and copyNimTree * Apply suggestions from code review Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com> Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>
* give a deprecate warning when using `newPar` to construct tuple expressions ↵ringabout2022-09-061-1/+6
| | | | | | | | | (#20312) * error/deprecate when using `newPar` to construct tuple expressions * Update lib/core/macros.nim * fixes
* Implement Pandoc Markdown concise link extension (#20304)Andrey Makarov2022-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement Pandoc Markdown concise link extension This implements https://github.com/nim-lang/Nim/issues/20127. Besides reference to headings we also support doing references to Nim symbols inside Nim modules. Markdown: ``` Some heading ------------ Ref. [Some heading]. ``` Nim: ``` proc someFunction*() ... ... ## Ref. [someFunction] ``` This is substitution for RST syntax like `` `target`_ ``. All 3 syntax variants of extension from Pandoc Markdown are supported: `[target]`, `[target][]`, `[description][target]`. This PR also fixes clashes in existing files, particularly conflicts with RST footnote feature, which does not work with this PR (but there is a plan to adopt a popular [Markdown footnote extension](https://pandoc.org/MANUAL.html#footnotes) to make footnotes work). Also the PR fixes a bug that Markdown links did not work when `[...]` section had a line break. The implementation is straightforward since link resolution did not change w.r.t. RST implementation, it's almost only about new syntax addition. The only essential difference is a possibility to add a custom link description: form `[description][target]` which does not have an RST equivalent. * fix nim 1.0 gotcha
* Markdown code blocks part 6 (#20292)Andrey Makarov2022-08-311-85/+82
|
* move formatfloat out of system (#20195)ringabout2022-08-241-1/+1
| | | | | | | | | | | | | | | * move formatfloat out of system * fixes doc * Update changelog.md * careless * fixes * deprecate system/formatfloat * better handling
* fix #20067, fix #18976 [backport] (#20069)metagn2022-07-221-1/+3
|
* macros: make hasCustomPragma more permissive (#19747)ehmry2022-04-251-3/+5
| | | | Make hasCustomPragma return false rather than fail for invalid parameters.
* use two spaces indentation (#19696)flywind2022-04-071-14/+14
|
* add somes links to docs (#19668)flywind2022-04-011-5/+5
|
* move assertions out of system (#19599)flywind2022-03-231-0/+4
|
* Allow std/macros.params to work with nnkProcTy (#19563)Tanguy2022-02-251-4/+11
| | | | | * Allow std/macros.params to work with nnkProcTy * Add tests for proc params & pragma
* Clonkk fix2 11923 (#19451)Regis Caillaud2022-02-021-5/+22
| | | | | | | * fix nnkBracketExpr not compiling for getImpl on customPragmaNode * fix test import * fix alias not working with hasCustomPragmas
* Fix #11923 (#19427)Regis Caillaud2022-01-201-1/+6
| | | | | * Apply commit https://github.com/nim-lang/Nim/commit/5da931fe811717a45f2dd272ea6281979c3e8f0b that was never merged (was part of a bigger PR). Should fix issue #11932 * add a generic object for custom pragma
* update deprecated example (#19415)Hamid Bluri2022-01-181-1/+1
| | | `toNimIdent` proc is deprecated, so I replaced it with `ident` proc
* Extract runnables that specify `doccmd` (#19275) [backport:1.6]Jake Leahy2021-12-201-2/+2
|
* parseExpr/parseStmt accept filename, fixes #13540 (#19182)hlaaftana2021-11-241-6/+8
|
* `caseStmtMacros` no longer experimental, experimental manual refactor (#19173)hlaaftana2021-11-231-6/+1
| | | | | | | | | | | * `caseStmtMacros` no longer experimental, experimental manual refactor * Update doc/manual.rst * apply review suggestions * apply review Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fix for #19020, credit to @ElegantBeef (#19021)Don-Duong Quach2021-11-031-1/+1
|
* fixes #18878 (#18883)Aditya Siram2021-09-251-1/+2
|
* fixes #14511 [backport:1.4] (#18732)Dankr4d2021-08-251-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | * fixes #14511 [backport:1.4] Signed-off-by: Dankr4d <dude569@freenet.de> * Replaced fix with code from alaviss, for better readability, with small changes. Signed-off-by: Dankr4d <dude569@freenet.de> * - Specified output in test. Signed-off-by: Dankr4d <dude569@freenet.de> * Replaced case in nnkRecCase with a simpler version, which just adds the last son. Signed-off-by: Dankr4d <dude569@freenet.de> * Update tests/macros/t14511.nim * Update tests/macros/t14511.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* replace wrt with proper word (#18724)flywind2021-08-221-2/+4
| | | | | * what does wrt mean? * clarify
* fixes #18543 (#18601)Andreas Rumpf2021-07-271-176/+98
| | | | | * fixes #18543 * make tests green again
* sync with the same template from locks module (#18414)Antonis Geralis2021-07-101-1/+1
|
* strformat.fmt now supports non-literal const strings (#18274)Timothee Cour2021-06-181-1/+2
| | | Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* alternative to #18185 (#18206)flywind2021-06-071-1/+4
|
* macros.treeRepr + friends: collapse SymChoice (#18072)Timothee Cour2021-06-051-22/+41
| | | | | | | * macros.treeRepr + friends: collapse SymChoice * make repr+friends work with invalid symchoice nodes * address comment
* document macros.unpackVarargs (#18106)Timothee Cour2021-05-311-0/+15
| | | | | | | * deprecate macros.unpackVarargs * un-deprecate unpackVarargs and add docs+runnableExamples * update examples + tests with varargs[typed]
* Revert "fix #14873 properly by skipping `abi` field in importc type ↵Andreas Rumpf2021-05-151-0/+5
| | | | | (#17944)" (#17992) This reverts commit 98c29c01eb91a0c6ce7da09380a272eebe6bca6f.
* fix #14873 properly by skipping `abi` field in importc type (#17944)Timothee Cour2021-05-071-5/+0
| | | | | | | * fix #14873 properly by skipping `abi` field in importc type * add test * fix test for windows
* 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
* [std/locks]close #7998(complete condition variables) (#17711)flywind2021-04-191-2/+7
| | | | | | * 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.
* [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.
* replace defer with try ... finally (#17753)flywind2021-04-171-5/+5
|
* cString => cSourceString; tyCString => tyCstring so that error msgs show ↵Timothee Cour2021-04-171-4/+4
| | | | cstring, not cString (#17744)
* Fix getCustomPragmaVal for some multi arg pragmas (#17723)Clyybber2021-04-151-41/+45
| | | | | * Fix getCustomPragmaVal for some multi arg pragmas * Bootstrap fix
* 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>
* macrocache.nim: removed trailing whitespaceAraq2021-04-111-23/+23
|
* Fix rst typo (#17671)konsumlamm2021-04-081-1/+1
|