[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