summary refs log tree commit diff stats
path: root/compiler/evals.nim
diff options
context:
space:
mode:
authorZahary Karadjov <zahary@gmail.com>2013-12-07 21:23:22 +0200
committerZahary Karadjov <zahary@gmail.com>2013-12-07 21:23:22 +0200
commit208924b92921ea10afc27dbab059e612113eee48 (patch)
tree872804d29dad05639e214497975a52a8152b31f0 /compiler/evals.nim
parent1e26047c3b38349402858ce0a1a5bf747b9f2914 (diff)
downloadNim-208924b92921ea10afc27dbab059e612113eee48.tar.gz
fixes #708
It's unclear to me why for variables were treated as globals.
This is likely to cause many problems, but in this particular case
it was breaking the unittest/insepectArgs recursive function (the
for loop variable has a different value in each stack frame)
Diffstat (limited to 'compiler/evals.nim')
-rw-r--r--compiler/evals.nim4
1 files changed, 1 insertions, 3 deletions
diff --git a/compiler/evals.nim b/compiler/evals.nim
index 7e2c8a41d..b4ea973e8 100644
--- a/compiler/evals.nim
+++ b/compiler/evals.nim
@@ -550,9 +550,7 @@ proc evalSym(c: PEvalContext, n: PNode, flags: TEvalFlags): PNode =
   of skProc, skConverter, skMacro, skType:
     result = n
     #result = s.getBody
-  of skForVar:
-    result = evalGlobalVar(c, s, flags)
-  of skVar, skLet, skTemp, skResult:
+  of skVar, skLet, skForVar, skTemp, skResult:
     if sfGlobal notin s.flags:
       result = evalVariable(c.tos, s, flags)
     else: