summary refs log tree commit diff stats
path: root/compiler/lexer.nim
diff options
context:
space:
mode:
authorJacek Sieka <arnetheduck@gmail.com>2016-03-18 23:02:10 +0800
committerJacek Sieka <arnetheduck@gmail.com>2016-03-18 23:02:10 +0800
commit298620c267ac576de4864d3591952a7990492ce3 (patch)
treecaeb36d7ba21bc8d76ecf28e621739f893e9c55c /compiler/lexer.nim
parent669917c72605283824c7bea2b13fa91fc494905b (diff)
downloadNim-298620c267ac576de4864d3591952a7990492ce3.tar.gz
avoid overwriting token.indent in lexer.getNumber
if it wasn't for bug #3978, assignment from getNumber would overwrite
tok.indent (which is set at top of rawGetTok, but not in getNumber)
Diffstat (limited to 'compiler/lexer.nim')
-rw-r--r--compiler/lexer.nim4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/lexer.nim b/compiler/lexer.nim
index 69a0fea2a..0032b97df 100644
--- a/compiler/lexer.nim
+++ b/compiler/lexer.nim
@@ -263,7 +263,7 @@ template eatChar(L: var TLexer, t: var TToken) =
   add(t.literal, L.buf[L.bufpos])
   inc(L.bufpos)
 
-proc getNumber(L: var TLexer): TToken =
+proc getNumber(L: var TLexer, result: var TToken) =
   proc matchUnderscoreChars(L: var TLexer, tok: var TToken, chars: set[char]) =
     var pos = L.bufpos              # use registers for pos, buf
     var buf = L.buf
@@ -1061,7 +1061,7 @@ proc rawGetTok*(L: var TLexer, tok: var TToken) =
       getCharacter(L, tok)
       tok.tokType = tkCharLit
     of '0'..'9':
-      tok = getNumber(L)
+      getNumber(L, tok)
     else:
       if c in OpChars:
         getOperator(L, tok)