[armedbear-cvs] r13525 - trunk/abcl/src/org/armedbear/lisp
ehuelsmann at common-lisp.net
ehuelsmann at common-lisp.net
Sun Aug 21 14:06:34 UTC 2011
Author: ehuelsmann
Date: Sun Aug 21 07:06:31 2011
New Revision: 13525
Log:
Fix #163: Local functions should shadow global macro and function bindings.
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 Sun Aug 21 05:58:49 2011 (r13524)
+++ trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp Sun Aug 21 07:06:31 2011 (r13525)
@@ -1228,6 +1228,11 @@
handler)
(cond
((symbolp op)
+ (when (find-local-function op)
+ ;; local functions shadow macros and functions in
+ ;; the global environment as well as compiler macros
+ (return-from p1
+ (p1-function-call form)))
(when (compiler-macro-function op)
(unless (notinline-p op)
(multiple-value-bind (expansion expanded-p)
More information about the armedbear-cvs
mailing list