[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