X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=BUGS;h=fd35adacef5297b408a28a1a72dee8686f308aea;hb=01e9e8c568777d6480699e6cb3947f38c3bed350;hp=f73845f888e2bbc28e1e9e13193c5a1eeb8bc48d;hpb=296162b9fe8ea26c92367cfb86965d3a57937aad;p=sbcl.git diff --git a/BUGS b/BUGS index f73845f..fd35ada 100644 --- a/BUGS +++ b/BUGS @@ -900,7 +900,7 @@ WORKAROUND: strongly suspected problems, as of 0.8.3.10: please update this bug instead of creating new ones - localtime() - called for timezone calculations in code/time.lisp + gethostbyname, gethostbyaddr in sb-bsd-sockets 284: Thread safety: special variables There are lots of special variables in SBCL, and I feel sure that at @@ -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.