aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/interp/i-analy.boot1
-rw-r--r--src/interp/i-map.boot2
3 files changed, 8 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2e8f3add..d2fd2d37 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2008-10-29 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/i-analy.boot (bottomUpDefaultCompile): Declared local
+ variables really are locals.
+ * interp/i-map.boot (findLocalVars1): Fix typo.
+
2008-10-26 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/i-syscmd.boot (summary): Quote path.
diff --git a/src/interp/i-analy.boot b/src/interp/i-analy.boot
index 39b4bf2e..84518d51 100644
--- a/src/interp/i-analy.boot
+++ b/src/interp/i-analy.boot
@@ -432,6 +432,7 @@ bottomUpDefaultCompile(t,id,defaultMode,target,isSub) ==
tval := getValue t
expr:=
id in $localVars => id
+ get(id,"mode",$env) => id -- declared local variable
tmode or tval =>
envMode := tmode or objMode tval
envMode is ['Variable, :.] => objVal tval
diff --git a/src/interp/i-map.boot b/src/interp/i-map.boot
index be2c923e..241ba8e0 100644
--- a/src/interp/i-map.boot
+++ b/src/interp/i-map.boot
@@ -1014,7 +1014,7 @@ findLocalVars1(op,form) ==
(atom a) or (a is ['_:,a,.]) =>
mkLocalVar(op,a)
findLocalVars1(op,b)
- findLocalVars(op,b)
+ findLocalVars1(op,b)
for x in a repeat findLocalVars1(op,x)
form is ['_:,a,.] =>
mkLocalVar(op,a)