[armedbear-cvs] r11800 - trunk/abcl/src/org/armedbear/lisp
Erik Huelsmann
ehuelsmann at common-lisp.net
Wed Apr 29 20:55:07 UTC 2009
Author: ehuelsmann
Date: Wed Apr 29 16:55:07 2009
New Revision: 11800
Log:
Rewrite aux vars in case of FLET and LABELS too.
Modified:
trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp
Modified: trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp (original)
+++ trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp Wed Apr 29 16:55:07 2009
@@ -479,7 +479,8 @@
(multiple-value-bind (body decls) (parse-body body)
(let* ((block-name (fdefinition-block-name name))
(lambda-expression
- `(lambda ,lambda-list , at decls (block ,block-name , at body)))
+ (maybe-rewrite-aux-vars
+ `(lambda ,lambda-list , at decls (block ,block-name , at body))))
(*visible-variables* *visible-variables*)
(*local-functions* *local-functions*)
(*current-compiland* compiland))
@@ -506,7 +507,8 @@
:variable variable)))
(multiple-value-bind (body decls) (parse-body body)
(setf (compiland-lambda-expression compiland)
- `(lambda ,lambda-list , at decls (block ,name , at body))))
+ (maybe-rewrite-aux-vars
+ `(lambda ,lambda-list , at decls (block ,name , at body)))))
(push variable *all-variables*)
(push local-function local-functions)))
((dolist (local-function local-functions)
More information about the armedbear-cvs
mailing list