diff options
-rw-r--r-- | stdlib/compiler.tl | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/stdlib/compiler.tl b/stdlib/compiler.tl index fc0e9140..37c5df56 100644 --- a/stdlib/compiler.tl +++ b/stdlib/compiler.tl @@ -1605,17 +1605,14 @@ (args (butlastn 0 (cdr form))) (dot-arg (nthlast 0 form)) (lat (sys:lambda-apply-transform lamb args dot-arg nil))) - (match (@(or alet let) @temps (let* @sets . @code)) lat + (match (@(or alet let) @temps (let* @sets . @nil)) lat (let* ((xsets (mapcar (tb ((sym val)) ^(sys:setq-in-env ,sym ,val ,tenv)) sets)) - (sfrag me.(comp-let oreg env ^(let ,temps ,*xsets))) - (cfrag me.(compile oreg tenv (expand ^(progn ,*code))))) - (set me.tjmp-occurs t) - (new (frag cfrag.oreg - (append sfrag.code cfrag.code ^((tjmp ,tfn.label))) - (uni sfrag.fvars cfrag.fvars) - (uni sfrag.ffuns cfrag.ffuns))))))))) + (sfrag me.(comp-let oreg env ^(let ,temps ,*xsets)))) + (set me.tjmp-occurs t + sfrag.code (append sfrag.code ^((tjmp ,tfn.label)))) + sfrag)))))) (defmeth compiler comp-for (me oreg env form) (mac-param-bind form (t inits (: (test nil test-p) . rets) incs . body) form |