diff options
-rw-r--r-- | lib/pure/collections/sequtils.nim | 9 | ||||
-rwxr-xr-x | packages/docutils/rst.nim | 9 |
2 files changed, 12 insertions, 6 deletions
diff --git a/lib/pure/collections/sequtils.nim b/lib/pure/collections/sequtils.nim index e4ea22830..73713eec9 100644 --- a/lib/pure/collections/sequtils.nim +++ b/lib/pure/collections/sequtils.nim @@ -129,11 +129,10 @@ template filterIt*(seq1, pred: expr): expr {.immediate, dirty.} = ## temperatures = @[-272.15, -2.0, 24.5, 44.31, 99.9, -113.44] ## acceptable = filterIt(temperatures, it < 50 and it > -10) ## assert acceptable == @[-2.0, 24.5, 44.31] - block: - var result: type(seq1) = @[] - for it in items(seq1): - if pred: result.add(it) - result + var result {.gensym.}: type(seq1) = @[] + for it in items(seq1): + if pred: result.add(it) + result template toSeq*(iter: expr): expr {.immediate.} = ## Transforms any iterator into a sequence. diff --git a/packages/docutils/rst.nim b/packages/docutils/rst.nim index c752e5065..b22bdf6ce 100755 --- a/packages/docutils/rst.nim +++ b/packages/docutils/rst.nim @@ -313,6 +313,10 @@ proc rstMessage(p: TRstParser, msgKind: TMsgKind, arg: string) = p.s.msgHandler(p.filename, p.line + p.tok[p.idx].line, p.col + p.tok[p.idx].col, msgKind, arg) +proc rstMessage(p: TRstParser, msgKind: TMsgKind, arg: string, line, col: int) = + p.s.msgHandler(p.filename, p.line + line, + p.col + col, msgKind, arg) + proc rstMessage(p: TRstParser, msgKind: TMsgKind) = p.s.msgHandler(p.filename, p.line + p.tok[p.idx].line, p.col + p.tok[p.idx].col, msgKind, @@ -684,6 +688,9 @@ when false: proc parseUntil(p: var TRstParser, father: PRstNode, postfix: string, interpretBackslash: bool) = + let + line = p.tok[p.idx].line + col = p.tok[p.idx].col while true: case p.tok[p.idx].kind of tkPunct: @@ -707,7 +714,7 @@ proc parseUntil(p: var TRstParser, father: PRstNode, postfix: string, of tkWhite: add(father, newRstNode(rnLeaf, " ")) inc(p.idx) - else: rstMessage(p, meExpected, postfix) + else: rstMessage(p, meExpected, postfix, line, col) proc parseMarkdownCodeblock(p: var TRstParser): PRstNode = var args = newRstNode(rnDirArg) |