[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