+242: "WRITE-SEQUENCE suboptimality"
+ (observed from clx performance)
+ In sbcl-0.7.13, WRITE-SEQUENCE of a sequence of type
+ (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (*)) on a stream with element-type
+ (UNSIGNED-BYTE 8) will write to the stream one byte at a time,
+ rather than writing the sequence in one go, leading to severe
+ performance degradation.
+
+243: "STYLE-WARNING overenthusiasm for unused variables"
+ (observed from clx compilation)
+ In sbcl-0.7.14, in the presence of the macros
+ (DEFMACRO FOO (X) `(BAR ,X))
+ (DEFMACRO BAR (X) (DECLARE (IGNORABLE X)) 'NIL)
+ somewhat surprising style warnings are emitted for
+ (COMPILE NIL '(LAMBDA (Y) (FOO Y))):
+ ; in: LAMBDA (Y)
+ ; (LAMBDA (Y) (FOO Y))
+ ;
+ ; caught STYLE-WARNING:
+ ; The variable Y is defined but never used.
+
+245: bugs in disassembler
+ a. On X86 an immediate operand for IMUL is printed incorrectly.
+ b. On X86 operand size prefix is not recognized.
+
+246: "NTH-VALUE scaling problem"
+ NTH-VALUE's current implementation for constant integers scales in
+ compile-time as O(n^4), as indeed must the optional dispatch
+ mechanism on which it is implemented. While it is unlikely to
+ matter in real user code, it's still unpleasant to observe that
+ (NTH-VALUE 1000 (VALUES-LIST (MAKE-LIST 1001))) takes several hours
+ to compile.
+
+248: "reporting errors in type specifier syntax"
+ (TYPEP 1 '(SYMBOL NIL)) says something about "unknown type
+ specifier".
+
+251:
+ (defun foo (&key (a :x))
+ (declare (fixnum a))
+ a)
+
+ does not cause a warning. (BTW: old SBCL issued a warning, but for a
+ function, which was never called!)
+
+253: "type checking is embedded THEs"
+ Compiler cannot perform type checking in
+
+ (let () (list (the fixnum (the unsigned-byte (eval -1)))))
+
+ (fixed in 0.8.0.34)
+
+254: (possibly bug 148 in a new guise)
+ In sbcl-0.8.0.52, COMPILE-FILE on
+ (cl:in-package :cl-user)
+ (declaim (optimize (safety 3) (debug 2) (speed 2) (space 1)))
+ (defstruct foo
+ (uhw2 nil :type (or package null)))
+ (macrolet ((defprojection (variant &key lexpr eexpr)
+ (let ()
+ `(defmethod uu ((foo foo))
+ (let ((uhw2 (foo.uhw2 bar)))
+ (let ()
+ (u-flunt uhw2
+ (baz (funcall ,lexpr south east 1)))))))))
+ (defprojection h
+ :lexpr (lambda (south east sched)
+ (flet ((bd (x) (bref x sched)))
+ (let ((avecname (gafp)))
+ (declare (type (vector t) avecname))
+ (multiple-value-prog1
+ (progn
+ (setf (avec.count avecname) (length rest))
+ (setf (aref avecname 0) (bd (h south)))
+ (setf (aref avecname 1) (bd (h east)))
+ (stub avecname))
+ (paip avecname)))))
+ :eexpr (lambda (south east))))
+ fails with
+ debugger invoked on condition of type TYPE-ERROR:
+ The value NIL is not of type SB-C::NODE.
+
+