This commit is contained in:
cooldome 2019-03-21 05:48:54 +00:00 • committed by Andreas Rumpf
commit 28a926cb67
2 changed files with 18 additions and 3 deletions

View file

@ -400,7 +400,8 @@ proc exprList(p: var TParser, endTok: TTokType, result: PNode) =
proc exprColonEqExprListAux(p: var TParser, endTok: TTokType, result: PNode) = proc exprColonEqExprListAux(p: var TParser, endTok: TTokType, result: PNode) =
assert(endTok in {tkCurlyRi, tkCurlyDotRi, tkBracketRi, tkParRi}) assert(endTok in {tkCurlyRi, tkCurlyDotRi, tkBracketRi, tkParRi})
getTok(p) getTok(p)
optInd(p, result) flexComment(p, result)
optPar(p)
# progress guaranteed # progress guaranteed
while p.tok.tokType != endTok and p.tok.tokType != tkEof: while p.tok.tokType != endTok and p.tok.tokType != tkEof:
var a = exprColonEqExpr(p) var a = exprColonEqExpr(p)
@ -2085,7 +2086,7 @@ proc parseConstant(p: var TParser): PNode =
addSon(result, p.emptyNode) addSon(result, p.emptyNode)
eat(p, tkEquals) eat(p, tkEquals)
optInd(p, result) optInd(p, result)
addSon(result, parseExpr(p)) addSon(result, parseStmtListExpr(p))
indAndComment(p, result) indAndComment(p, result)
proc parseBind(p: var TParser, k: TNodeKind): PNode = proc parseBind(p: var TParser, k: TNodeKind): PNode =

View file

@ -58,4 +58,18 @@ block:
var y = 2 var y = 2
echo "block expression works" echo "block expression works"
y*y y*y
doAssert x == 4 doAssert x == 4
# bug 10861
macro foo(a: untyped): untyped =
a
let c1 = foo:
1 + 1
const c2 = foo:
1 + 1
const c3 =
foo: 1 + 1