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,
forever, even when it is uninterned and all other references to it
are lost.
-136:
- (reported by Arnaud Rouanet on cmucl-imp 2001-12-18)
- (defmethod foo ((x integer))
- x)
- (defmethod foo :around ((x integer))
- (let ((x (1+ x)))
- (call-next-method)))
- Now (FOO 3) should return 3, but instead it returns 4.
-
141:
Pretty-printing nested backquotes doesn't work right, as
reported by Alexey Dejneka sbcl-devel 2002-01-13:
(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:
- As reported by Gilbert Baumann on free-clim mailing list 2002-11-11,
- there is no class STRING-STREAM.
+ (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-#: