need to document exactly what metaobject protocol specification
we're following -- the current code is just inherited from PCL.)
-54:
- The implementation of #'+ returns its single argument without
- type checking, e.g. (+ "illegal") => "illegal".
-
60:
The debugger LIST-LOCATIONS command doesn't work properly.
time trying to GC afterwards. Surely there's some more economical
way to implement (ROOM T).
-115:
- reported by Martin Atzmueller 2001-06-25; originally from CMU CL bugs
- collection:
- (in-package :cl-user)
- ;;; The following invokes a compiler error.
- (declaim (optimize (speed 2) (debug 3)))
- (defun tst ()
- (flet ((m1 ()
- (unwind-protect nil)))
- (if (catch nil)
- (m1)
- (m1))))
- The error message in sbcl-0.6.12.42 is
- internal error, failed AVER:
- "(COMMON-LISP:EQ (SB!C::TN-ENVIRONMENT SB!C:TN) SB!C::TN-ENV)"
-
117:
When the compiler inline expands functions, it may be that different
kinds of return values are generated from different code branches.
Evidently Python thinks of the lambda as a code transformation so
much that it forgets that it's also an object.
-127:
- The DEFSTRUCT section of the ANSI spec, in the :CONC-NAME section,
- specifies a precedence rule for name collisions between slot accessors of
- structure classes related by inheritance. As of 0.7.0, SBCL still
- doesn't follow it.
-
135:
Ideally, uninterning a symbol would allow it, and its associated
FDEFINITION and PROCLAIM data, to be reclaimed by the GC. However,
(see bug 203)
-193: "unhelpful CLOS error reporting when the primary method is missing"
- In sbcl-0.7.7, when
- (defmethod foo :before ((x t)) (print x))
- is the only method defined on FOO, the error reporting when e.g.
- (foo 12)
- is relatively unhelpful:
- There is no primary method for the generic function
- #<STANDARD-GENERIC-FUNCTION FOO (1)>.
- with the offending argument nowhere visible in the backtrace. This
- continues even if there *are* primary methods, just not for the
- specified arg type, e.g.
- (defmethod foo ((x character)) (print x))
- (defmethod foo ((x string)) (print x))
- (defmethod foo ((x pathname)) ...)
- In that case it could be very helpful to know what argument value is
- falling through the cracks of the defined primary methods, but the
- error message stays the same (even BACKTRACE doesn't tell you what the
- bad argument value is).
-
194: "no error from (THE REAL '(1 2 3)) in some cases"
fixed parts:
a. In sbcl-0.7.7.9,
(progn (the real (list 1)) t)
This situation may appear during optimizing away degenerate cases of
- certain functions: see bugs 54, 192b.
+ certain functions: see bug 192b.
205: "environment issues in cross compiler"
(These bugs have no impact on user code, but should be fixed or
lexical environment.
b. The body of (EVAL-WHEN (:COMPILE-TOPLEVEL) ...) is evaluated in
the null lexical environment.
+ c. The cross-compiler cannot inline functions defined in a non-null
+ lexical environment.
206: ":SB-FLUID feature broken"
(reported by Antonio Martinez-Shotton sbcl-devel 2002-10-07)
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)))))))
-
+ (localy (declare (optimize (safety 3)))
+ (ignore-errors (progn (values-list (car (list '(1 . 2)))) t)))
+ (the LOCALY there is not a typo; any unknown function (e.g. FROB)
+ will do).
+
+228: "function-lambda-expression problems"
+ in sbcl-0.7.9.6x, from the REPL:
+ * (progn (declaim (inline foo)) (defun foo (x) x))
+ FOO
+ * (function-lambda-expression #'foo)
+ (SB-C:LAMBDA-WITH-LEXENV NIL NIL NIL (X) (BLOCK FOO X)), NIL, FOO
+ but this first return value is not suitable for input to FUNCTION or
+ COMPILE, as required by ANSI.
+
+229:
+ (subtypep 'function '(function)) => nil, t.
+
+230:
+ (fixed in 0.7.10.5)
DEFUNCT CATEGORIES OF BUGS
IR1-#: