0.9.18.8: LET* and VALUES declaration
authorNikodemus Siivola <nikodemus@random-state.net>
Thu, 26 Oct 2006 11:37:56 +0000 (11:37 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Thu, 26 Oct 2006 11:37:56 +0000 (11:37 +0000)
 * Wrong arguments to PROCESSING-DECLARATIONS in the LET*
   ir1-translator.
 * Test-case.

src/compiler/ir1-translators.lisp
tests/compiler.pure.lisp
version.lisp-expr

index 0ca97d2..443fef5 100644 (file)
@@ -643,7 +643,7 @@ form to reference any of the previous VARS."
       (multiple-value-bind (forms decls)
           (parse-body body :doc-string-allowed nil)
         (multiple-value-bind (vars values) (extract-let-vars bindings 'let*)
-          (processing-decls (decls vars nil start next post-binding-lexenv)
+          (processing-decls (decls vars nil next result post-binding-lexenv)
             (ir1-convert-aux-bindings start
                                       next
                                       result
index 828d9bc..4ab5af3 100644 (file)
   (assert (raises-error? (funcall fun1 fun1)))
   (assert (raises-error? (funcall fun2 fun2)))
   (assert (eq (funcall fun2 #'print-object) #'print-object)))
+
+;;; LET* + VALUES declaration: while the declaration is a non-standard
+;;; and possibly a non-conforming extension, as long as we do support
+;;; it, we might as well get it right.
+;;; 
+;;; Bug reported by Kaersten Poeck on sbcl-devel 20061023.
+(compile nil '(lambda () (let* () (declare (values list)))))
index 34aa04c..f81f8c7 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.18.7"
+"0.9.18.8"