diff options
Diffstat (limited to 'src/interp/c-util.boot')
-rw-r--r-- | src/interp/c-util.boot | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot index b030f3b3..552b007c 100644 --- a/src/interp/c-util.boot +++ b/src/interp/c-util.boot @@ -1508,6 +1508,14 @@ mutateToBackendCode x == IDENTP u and GET(u,"ILAM") ~= nil => x.first := eval u mutateToBackendCode x + u in '(LET LET_*) => + vars := nil + for [var,init] in second x repeat + mutateToBackendCode init + $LocalVars := [var,:$LocalVars] + vars := [var,:vars] + mutateToBackendCode x.rest.rest + $LocalVars := setDifference($LocalVars,vars) u in '(PROG LAMBDA) => newBindings := [] for y in second x repeat |