aboutsummaryrefslogtreecommitdiff
path: root/src/interp/g-opt.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/g-opt.boot')
-rw-r--r--src/interp/g-opt.boot3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot
index 066e2097..24665e11 100644
--- a/src/interp/g-opt.boot
+++ b/src/interp/g-opt.boot
@@ -521,7 +521,8 @@ findVMFreeVars form ==
++ in `form'.
modified?(var,form) ==
atomic? form => false
- form is [op,var',:.] and op in '(%LET LETT SETQ %store) =>
+ form is [op,var',expr,:.] and op in '(%LET LETT SETQ %store) =>
+ modified?(var,expr) => true
symbol? var' => var' = var -- whole var is assigned
var' is [.,=var] -- only part of it is modified
or/[modified?(var,f) for f in form]