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

Erik Huelsmann ehuelsmann at common-lisp.net
Wed Apr 29 22:00:19 UTC 2009


Author: ehuelsmann
Date: Wed Apr 29 18:00:18 2009
New Revision: 11804

Log:
LET/LET* bindings can be (in case of a CONS)
of length 1 or 2 (not only 2).

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	Wed Apr 29 18:00:18 2009
@@ -150,8 +150,10 @@
     `(let ((,variables-var ()))
        (dolist (,varspec ,varlist)
 	 (cond ((consp ,varspec)
-              ;; FIXME Currently this error is signalled by the precompiler.
-		(unless (= (length ,varspec) 2)
+                ;; Even though the precompiler already signals this
+                ;; error, double checking can't hurt; after all, we're
+                ;; also rewriting &AUX into LET* bindings.
+		(unless (<= 1 (length ,varspec) 2)
 		  (compiler-error "The LET/LET* binding specification ~S is invalid."
 				  ,varspec))
 		(let* ((,name (%car ,varspec))




More information about the armedbear-cvs mailing list