+220:
+ Sbcl 0.7.9 fails to compile
+
+ (multiple-value-call #'list
+ (the integer (helper))
+ nil)
+
+ Type check for INTEGER is inserted, the result of which serves as
+ the first argument of M-V-C, is inserted after evaluation of NIL. So
+ arguments of M-V-C are pushed in the wrong order. As a temporary
+ workaround type checking was disabled for M-V-Cs in 0.7.9.13. A
+ better solution would be to put a check between evaluation of
+ arguments, but it could be tricky to check result types of PROG1, IF
+ etc.
+
+222: "environment problems in PCL"
+ Evaluating
+
+ (symbol-macrolet ((x 1))
+ (defmethod foo (z)
+ (macrolet ((ml (form) `(progn ,form ,x)))
+ (ml (print x)))))
+
+ causes
+
+ debugger invoked on condition of type UNBOUND-VARIABLE:
+ The variable X is unbound.
+
+223: "(SETF FDEFINITION) and #' semantics broken for wrappers"
+ Although this
+ (defun foo (x)
+ (print x))
+ (defun traced (fn)
+ (lambda (&rest rest)
+ (format t "~&about to call ~S on ~S~%" fn rest)
+ (apply fn rest)
+ (format t "~&returned from ~S~%" fn)))
+ (setf (fdefinition 'foo)
+ (traced #'foo))
+ (foo 11)
+ does what one would expect, this
+ (defun bar (x)
+ (print x))
+ (let ((bar0 #'bar))
+ (setf (fdefinition 'bar)
+ (lambda (&rest rest)
+ (format t "~&about to enter BAR ~S~%" rest)
+ (apply bar0 rest)
+ (format t "~&back from BAR~%"))))
+ (bar 12)
+ recurses endlessly in sbcl-0.7.9.32. (Or it works if #' and
+ FDEFINITION are replaced by SYMBOL-FUNCTION.)
+
+224:
+ SBCL 0.7.8 fails to compile
+
+ (localy (declare (optimize (safety 3)))
+ (ignore-errors (progn (values-list (car (list '(1 . 2)))) t)))
+
+225:
+ (fixed in 0.7.9.42)
+
+226: "AVER failure in COMPILE-FILE of clocc-ansi-test/tests.lisp"
+ sbcl-0.7.9.43 dies with failed AVER "(EQ (TN-PHYSENV TN) TN-ENV)" when
+ trying to compile clocc-ansi-test/tests.lisp. sbcl-0.7.9.31 was able to
+ to compile it. A smaller test case exhibiting the same problem is
+ (declaim (optimize (speed 0) (safety 3) (debug 3)))
+ (defun c-a-p ()
+ (flet ((safe-format (stream string &rest r)
+ (unless (ignore-errors (progn
+ (apply #'format stream string r)
+ t))
+ (format stream "~&foo ~S" string))))
+ (cond
+ ((eq my-result :ERROR)
+ (cond
+ ((ignore-errors (typep condition result))
+ (safe-format t "~&bar ~S" result))
+ (t
+ (safe-format t "~&baz ~S (~A) ~S" condition condition result)))))))
+
+