[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