fix NimNode comment repr() regression [backport: 1.2] (#19726)

This commit is contained in:
flywind 2022-04-25 17:19:21 +08:00 • committed by GitHub
commit 15ae9323e8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 0 deletions

View file

@ -165,6 +165,7 @@ proc putNL(g: var TSrcGen) =
proc optNL(g: var TSrcGen, indent: int) = proc optNL(g: var TSrcGen, indent: int) =
g.pendingNL = indent g.pendingNL = indent
g.lineLen = indent g.lineLen = indent
g.col = g.indent
when defined(nimpretty): g.pendingNewlineCount = 0 when defined(nimpretty): g.pendingNewlineCount = 0
proc optNL(g: var TSrcGen) = proc optNL(g: var TSrcGen) =
@ -173,6 +174,7 @@ proc optNL(g: var TSrcGen) =
proc optNL(g: var TSrcGen; a, b: PNode) = proc optNL(g: var TSrcGen; a, b: PNode) =
g.pendingNL = g.indent g.pendingNL = g.indent
g.lineLen = g.indent g.lineLen = g.indent
g.col = g.indent
when defined(nimpretty): g.pendingNewlineCount = lineDiff(a, b) when defined(nimpretty): g.pendingNewlineCount = lineDiff(a, b)
proc indentNL(g: var TSrcGen) = proc indentNL(g: var TSrcGen) =

View file

@ -60,3 +60,22 @@ macro foo(t: static Tuple): untyped =
doAssert t.b == 12345 doAssert t.b == 12345
foo((a: "foo", b: 12345)) foo((a: "foo", b: 12345))
# bug #16307
macro bug(x: untyped): string =
newLit repr(x)
let res = bug:
block:
## one
## two
## three
doAssert res == """
block:
## one
## two
## three"""