[armedbear-cvs] r11443 - trunk/j/src/org/armedbear/lisp

Ville Voutilainen vvoutilainen at common-lisp.net
Sun Dec 14 14:17:46 UTC 2008


Author: vvoutilainen
Date: Sun Dec 14 14:17:40 2008
New Revision: 11443

Log:
Fix macrolet.39 in compiled tests by using environment for
local functions.


Modified:
   trunk/j/src/org/armedbear/lisp/precompiler.lisp

Modified: trunk/j/src/org/armedbear/lisp/precompiler.lisp
==============================================================================
--- trunk/j/src/org/armedbear/lisp/precompiler.lisp	(original)
+++ trunk/j/src/org/armedbear/lisp/precompiler.lisp	Sun Dec 14 14:17:40 2008
@@ -828,8 +828,7 @@
         (arglist (cadr def))
         (body (cddr def)))
     ;; Macro names are shadowed by local functions.
-    (push nil *local-functions-and-macros*)
-    (push name *local-functions-and-macros*)
+    (environment-add-function-definition *compile-file-environment* name body)
     (list* name arglist (mapcar #'precompile1 body))))
 
 (defun precompile-local-functions (defs)
@@ -849,7 +848,8 @@
              (find-use name (%cdr expression))))))
 
 (defun precompile-flet/labels (form)
-  (let ((*local-functions-and-macros* *local-functions-and-macros*)
+  (let ((*compile-file-environment*
+         (make-environment *compile-file-environment*))
         (operator (car form))
         (locals (cadr form))
         (body (cddr form)))




More information about the armedbear-cvs mailing list