From 6f5eba4b9438b38cc29a66feb239a7be0507f762 Mon Sep 17 00:00:00 2001 From: narimiran Date: Wed, 29 May 2019 14:56:39 +0200 Subject: [PATCH] close #7792 by adding a test --- tests/macros/tmacro7.nim | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tests/macros/tmacro7.nim diff --git a/tests/macros/tmacro7.nim b/tests/macros/tmacro7.nim new file mode 100644 index 0000000000..682e70d01d --- /dev/null +++ b/tests/macros/tmacro7.nim @@ -0,0 +1,36 @@ +discard """ + output: '''calling!stuff +calling!stuff +''' +""" + +# issue #7792 + +import macros + + +proc callProc(str: string) = + echo "calling!" & str + + +macro testMacro(code: typed): untyped = + let stmtList = newNimNode(nnkStmtList) + + let stmts = code[6] + + for n in stmts.children: + # the error happens here + stmtList.add(newCall(bindSym("callProc"), newLit("stuff"))) + + code[6] = stmtList + + result = newEmptyNode() + + +proc main() {.testMacro.} = + echo "test" + echo "test2" + + +when isMainModule: + main()