diff options
author | Zahary Karadjov <zahary@gmail.com> | 2013-12-07 21:23:22 +0200 |
---|---|---|
committer | Zahary Karadjov <zahary@gmail.com> | 2013-12-07 21:23:22 +0200 |
commit | 208924b92921ea10afc27dbab059e612113eee48 (patch) | |
tree | 872804d29dad05639e214497975a52a8152b31f0 /compiler/evals.nim | |
parent | 1e26047c3b38349402858ce0a1a5bf747b9f2914 (diff) | |
download | Nim-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.nim | 4 |
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: |