Peter Munch-Ellingsen
ebf0e7ebb1
Implement setLineInfo ( #21153 )
...
* Implement setLineInfo
* Add tests
(cherry picked from commit 613829f7a4 )
2023-01-19 10:33:13 +01:00
Tanguy
9ee9b4283d
Allow std/macros.params to work with nnkProcTy ( #19563 )
...
* Allow std/macros.params to work with nnkProcTy
* Add tests for proc params & pragma
(cherry picked from commit ef3f343ec2 )
2023-01-18 18:13:58 +01:00
metagn
7d0bfc6725
fix #20067 , fix #18976 [backport] ( #20069 )
...
(cherry picked from commit 685bf944aa )
2022-07-25 11:41:13 +02:00
Jake Leahy
ce6fa79858
Extract runnables that specify doccmd ( #19275 ) [backport:1.6]
...
(cherry picked from commit 4da7dbffc5 )
2021-12-31 05:13:09 +01:00
Aditya Siram
e3b19cbe52
fixes #18878 ( #18883 )
2021-09-25 14:17:41 +02:00
Dankr4d
c70e4040bd
fixes #14511 [backport:1.4] ( #18732 )
...
* 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 >
2021-08-25 17:27:00 +00:00
flywind
061a9183f7
replace wrt with proper word ( #18724 )
...
* what does wrt mean?
* clarify
2021-08-22 06:21:53 +02:00
Andreas Rumpf
4920b06973
fixes #18543 ( #18601 )
...
* fixes #18543
* make tests green again
2021-07-27 19:04:55 +02:00
Antonis Geralis
48ef832cf3
sync with the same template from locks module ( #18414 )
2021-07-10 08:41:07 +02:00
Timothee Cour
5600a62229
strformat.fmt now supports non-literal const strings ( #18274 )
...
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-06-18 08:57:51 -07:00
flywind
5bad022d58
alternative to #18185 ( #18206 )
2021-06-07 15:32:37 +02:00
Timothee Cour
3cc547f2df
macros.treeRepr + friends: collapse SymChoice ( #18072 )
...
* macros.treeRepr + friends: collapse SymChoice
* make repr+friends work with invalid symchoice nodes
* address comment
2021-06-05 06:58:26 +02:00
Timothee Cour
18b4774311
document macros.unpackVarargs ( #18106 )
...
* deprecate macros.unpackVarargs
* un-deprecate unpackVarargs and add docs+runnableExamples
* update examples + tests with varargs[typed]
2021-05-31 10:51:20 +02:00
Andreas Rumpf
4857c462d5
Revert "fix #14873 properly by skipping abi field in importc type ( #17944 )" ( #17992 )
...
This reverts commit 98c29c01eb .
2021-05-15 06:50:39 +02:00
Timothee Cour
98c29c01eb
fix #14873 properly by skipping abi field in importc type ( #17944 )
...
* fix #14873 properly by skipping `abi` field in importc type
* add test
* fix test for windows
2021-05-07 19:36:41 +02:00
Clyybber
7c64e49d45
getCustomPragmaVal priority/override fixes ( #17725 )
...
* 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
2021-04-21 15:28:42 +02:00
flywind
dc89b21257
[std/locks]close #7998(complete condition variables) ( #17711 )
...
* close #7998
* workaround genode
* Update lib/system/syslocks.nim
2021-04-19 10:51:13 +02:00
flywind
cedbc7035d
[std/locks]remove workaround for withLock ( #17772 )
...
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.
2021-04-19 10:33:56 +02:00
flywind
172a5ab7f8
[std/rlocks]add inline pragma ( #17773 )
...
so that it can be used as the base of new locks module with destructors.
2021-04-19 07:41:50 +02:00
flywind
5c5f356347
replace defer with try ... finally ( #17753 )
2021-04-17 11:48:22 +02:00
Timothee Cour
7e94420847
cString => cSourceString; tyCString => tyCstring so that error msgs show cstring, not cString ( #17744 )
2021-04-17 11:14:09 +02:00
Clyybber
51a40c1f38
Fix getCustomPragmaVal for some multi arg pragmas ( #17723 )
...
* Fix getCustomPragmaVal for some multi arg pragmas
* Bootstrap fix
2021-04-15 13:55:50 +02:00
Arne Döring
56c37759d6
getCustomPragma is split up in more usable chunks ( #11526 )
...
* 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 >
2021-04-14 20:42:09 +02:00
Araq
e710b9cf33
macrocache.nim: removed trailing whitespace
2021-04-11 20:14:44 +02:00
konsumlamm
6ec55ebf48
Fix rst typo ( #17671 )
2021-04-08 20:29:11 +02:00
flywind
c7b4639460
ref #14873 ( #17644 )
...
* ref #14873
* comment
* Update lib/core/locks.nim
2021-04-06 16:21:58 +02:00
konsumlamm
b9c94f22aa
Improve the typeinfo module ( #17625 )
...
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-04-05 00:42:18 -07:00
Timothee Cour
9abd383a2a
new genAst as replacement for quote do ( #17426 )
...
* new `macros.genAst`: fixes all issues with `quote do`
* add changelog entry
* add workaround for https://github.com/nim-lang/Nim/issues/2465#issuecomment-511076669
* add test for #9607
* add kNoExposeLocalInjects option
* add test case for nested application of genAst
* genAst: automatically call newLit when needed
* allow skipping `{}`: genAst: foo
* add test that shows this fixes #11986
* add examples showing mixin; add examples showing passing types, macros, templates
* move to std/genasts
* improve docs
2021-04-02 13:11:03 +02:00
Andreas Rumpf
cfff27529e
added nkError to the AST ( #17567 )
...
* added nkError to the AST
* Update lib/core/macros.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
* Update compiler/ast.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2021-03-29 16:23:19 +02:00
Timothee Cour
a65189a739
nnkArglist => nnkArgList + special case stylecheck:error ( #17529 )
...
* nnkArglist => nnkArgList
* special case stylecheck:error
2021-03-27 10:28:11 +01:00
Timothee Cour
c27cd83265
remove {.compileTime.} for procs with NimNode: redundant because of tfTriggersCompileTime ( #17463 )
2021-03-23 02:51:21 -07:00
Timothee Cour
d78ebe4a0e
fix #17454 ( #17461 )
2021-03-23 08:33:09 +01:00
Danil Yarantsev
c5b109233a
Add documentation to the macrocache module ( #17431 )
...
* Add docs to macrocache
* use hint
* Use incl in the incl example
* add macrocache to lib
* consistency
* Update doc/lib.rst
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
* apply suggestions
* clarify the warning
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2021-03-21 10:34:10 +01:00
quantimnot
b2b23d723a
Fix macros.quote custom op symbol interpolation. ( #17256 )
...
Provides a workaround/fix for #7589 .
https://github.com/nim-lang/Nim/issues/7589
Updated docs and tutorial to reflect change.
Updated runnableExamples to include an example.
Co-authored-by: name <name@example.com >
2021-03-05 14:41:33 +01:00
Danil Yarantsev
82d8e9bff3
Replace double backticks with single backticks - Part 2 out of ~6 ( #17206 )
2021-02-28 23:15:26 -08:00
Danil Yarantsev
56461c280f
Change stdlib imports to use std prefix in most examples ( #17202 )
2021-02-28 13:17:19 -08:00
flywind
9450bf6c08
use single backtick ( #17100 )
2021-02-18 22:47:21 -08:00
Timothee Cour
b9994925f5
remove all uses of condsyms symbols defined prior to bootstrap nim 0.20.0 ( #16918 )
...
* nimNoArrayToCstringConversion deadcode
* nimbabel deadcode
* nimHasalignOf deadcode
* nimvarargstyped deadcode
* nimhygiene deadcode
* nimNewTypedesc deadcode
* nimlocks deadcode
* nimHasCppDefine deadcode
* nimHasRunnableExamples deadcode
* nimHasNilChecks deadcode
* nimSymKind deadcode
* minor macros refactoring
* nimVmEqIdent deadcode
* nimNoNil deadcode
* nimNoZeroTerminator deadcode
* nimHasSymOwnerInMacro deadcode
* nimVmExportFixed deadcode
* nimNewRuntime deadcode
* nimAshr deadcode
* nimUncheckedArrayTyp deadcode
* nimHasTypeof deadcode
* nimErrorProcCanHaveBody deadcode
* nimHasHotCodeReloading deadcode
* nimHasSignatureHashInMacro deadcode
* nimHasDefault deadcode
* nimMacrosSizealignof deadcode
2021-02-17 09:32:36 +01:00
flywind
d447c0fe3f
use typeof instead type ( #16962 )
2021-02-08 09:46:07 +01:00
flywind
4e1e231e29
fix floats slice ( #16853 )
...
* see whether it breaks
* fix
* fix
* minor
* fix
* add enum
* use Ordinal types
* fix tests
* fix
* another style
* fix remainning cases
2021-01-29 12:26:36 +01:00
flywind
b727217229
refactor cmpNimIdentifier ( #16611 )
...
* refactor cmpNimIdentifier
* Apply suggestions from code review
Co-authored-by: Clyybber <darkmine956@gmail.com >
Co-authored-by: Clyybber <darkmine956@gmail.com >
2021-01-13 12:29:30 +01:00
Timothee Cour
c21360e67a
macros.quote: document hard to use op; add more useful examples ( #16489 )
...
* macros.quote: document hard to use `op`; add more useful examples
* add back doc comment removed in a60305fbf3
* address comment
* fixup
* clarify quoting rules
* Update lib/core/macros.nim
Co-authored-by: Clyybber <darkmine956@gmail.com >
Co-authored-by: Clyybber <darkmine956@gmail.com >
2021-01-06 19:28:17 +01:00
flywind
5fb56a3b2c
refactor cmpIgnoreStyle and cmpIgnoreCase ( #16399 )
...
* init
* support strutils
* more
* better
* Call len once per string/cstring
* Change var to let
* Compare ternary on first char
* More appropriate param name
* fix
* better
* one test
* impl
* more efficient
* minor
Co-authored-by: Clyybber <darkmine956@gmail.com >
2020-12-31 11:54:40 +01:00
flywind
78acf1becb
fix cmpIgnoreStyle bug ( #16392 )
2020-12-18 16:29:36 +01:00
Aditya Siram
23447ffdce
Fixes #16219 , hasArgOfName ignoring argument sets. ( #16233 )
...
* Fixes #16219 , `hasArgOfName` ignoring argument sets.
* Fix test and simplify ident traversal.
* Moved test into a block and removed some boilerplate.
* Fix some argument formatting.
* use ..<
* Change the preceding line too
Co-authored-by: Clyybber <darkmine956@gmail.com >
2020-12-03 13:40:28 +01:00
flywind
e4d0f9f3de
typeinfo minor improvement ( #16083 )
...
* typeinfo minor improvement
* minor
* Update lib/core/typeinfo.nim
* rename typeinfo
2020-11-23 22:56:30 +01:00
flywind
6cf5ca1dc2
alternative way to fix #16022 ( #16064 ) [backport:1.4]
...
* alternative way to fix #16022
* add testcase for #16022
[backport:1.4]
2020-11-20 09:06:18 +01:00
Andreas Rumpf
fc735e4b08
fix #15934 and #15620 ( #15938 ) [backport:1.4]
...
* make workaround for #15934 and #15620
* add testcase for #9754
2020-11-15 18:12:53 +01:00
flywind
0f53b129b7
nil
2020-11-13 15:28:22 +08:00
flywind
077eba7b38
make workaround for #15934 and #15620
2020-11-12 23:24:45 +08:00