[armedbear-cvs] r11850 - trunk/abcl/src/org/armedbear/lisp
Erik Huelsmann
ehuelsmann at common-lisp.net
Sat May 9 18:33:33 UTC 2009
Author: ehuelsmann
Date: Sat May 9 14:33:32 2009
New Revision: 11850
Log:
p1-lambda: Rewrite the lambda list before bailing out,
instead of bailing out before rewriting.
This resolves compiler errors in LAMBDA.* ANSI tests.
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 Sat May 9 14:33:32 2009
@@ -701,6 +701,7 @@
form))))
(defun p1-lambda (form)
+ (setf form (rewrite-lambda form))
(let* ((lambda-list (cadr form)))
(when (or (memq '&optional lambda-list)
(memq '&key lambda-list))
@@ -713,8 +714,7 @@
(not (constantp (second arg))))
(compiler-unsupported
"P1-LAMBDA: can't handle optional argument with non-constant initform.")))))))
- (p1-function (list 'FUNCTION
- (rewrite-lambda form)))))
+ (p1-function (list 'FUNCTION form))))
(defun p1-eval-when (form)
(list* (car form) (cadr form) (mapcar #'p1 (cddr form))))
More information about the armedbear-cvs
mailing list