[armedbear-cvs] r11917 - trunk/abcl/src/org/armedbear/lisp

Erik Huelsmann ehuelsmann at common-lisp.net
Thu May 21 17:52:20 UTC 2009


Author: ehuelsmann
Date: Thu May 21 13:52:18 2009
New Revision: 11917

Log:
In compiler macro FUNCALL: When in need of
an environment, get it through the lambda list
instead of hard coding a reference.

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

Modified: trunk/abcl/src/org/armedbear/lisp/precompiler.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/precompiler.lisp	(original)
+++ trunk/abcl/src/org/armedbear/lisp/precompiler.lisp	Thu May 21 13:52:18 2009
@@ -249,14 +249,15 @@
       `(%subtypep , at args)
       form))
 
-(define-compiler-macro funcall (&whole form &rest args)
+(define-compiler-macro funcall (&whole form
+                                &environment env &rest args)
   (let ((callee (car args)))
     (if (and (>= *speed* *debug*)
              (consp callee)
              (eq (%car callee) 'function)
              (symbolp (cadr callee))
              (not (special-operator-p (cadr callee)))
-             (not (macro-function (cadr callee) *compile-file-environment*))
+             (not (macro-function (cadr callee) env))
              (memq (symbol-package (cadr callee))
                    (list (find-package "CL") (find-package "SYS"))))
         `(,(cadr callee) ,@(cdr args))




More information about the armedbear-cvs mailing list