From: William Harold Newman Date: Mon, 19 Jun 2006 13:25:00 +0000 (+0000) Subject: 0.9.13.49: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=6705ea772448f27498001829689556ab2f0302e5;p=sbcl.git 0.9.13.49: logged bug 404 --- diff --git a/BUGS b/BUGS index 890f957..fd35ada 100644 --- a/BUGS +++ b/BUGS @@ -2176,3 +2176,22 @@ WORKAROUND: argument to CHECK-FOR-CIRCULARITY, but I haven't reverse-engineered enough of the intended meaning of the different MODE values to be confident of this. + +404: nonstandard DWIMness in LOOP with unportably-ordered clauses + In sbcl-0.9.13, the code + (loop with stack = (make-array 2 :fill-pointer 2 :initial-element t) + for length = (length stack) + while (plusp length) + for element = (vector-pop stack) + collect element) + compiles without error or warning and returns (T T). Unfortunately, + it is inconsistent with the ANSI definition of the LOOP macro, + because it mixes up VARIABLE-CLAUSEs with MAIN-CLAUSEs. Furthermore, + SBCL's interpretation of the intended meaning is only one possible, + unportable interpretation of the noncompliant code; in CLISP 2.33.2, + the code compiles with a warning + LOOP: FOR clauses should occur before the loop's main body + and then fails at runtime with + VECTOR-POP: #() has length zero + perhaps because CLISP has shuffled the clauses into an + ANSI-compliant order before proceeding. diff --git a/version.lisp-expr b/version.lisp-expr index 9fce641..55305e2 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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.13.48" +"0.9.13.49"