summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 2e9a78e..bacd724 100644
--- a/eval.c
+++ b/eval.c
@@ -136,6 +136,8 @@ Datum *
lookup(Datum var)
{
traceprint("VAR LOOKUP %S\n", var.symbol->name);
+ /* re-assign the symbol, since it may have been changed by shadowing */
+ var.symbol = getsym(var.symbol->name, 0);
if(var.symbol->undefined){
Rune *msg = runesmprint("Undefined name: %S", var.symbol->name);