X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=BUGS;h=b7b3e60b32534b26ad3c22a8cf9f5c0957e6cad4;hb=6e7ae26173b40d635b94e81bc73f5c06d550de32;hp=7b6595f1f7b80ee42e4dfa76534b8a67493908bc;hpb=742e0b2aed0e06a5ac6036c6b576088e3f91208f;p=sbcl.git diff --git a/BUGS b/BUGS index 7b6595f..b7b3e60 100644 --- a/BUGS +++ b/BUGS @@ -283,10 +283,6 @@ WORKAROUND: 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. @@ -522,6 +518,40 @@ WORKAROUND: internal error, failed AVER: "(COMMON-LISP:EQ (SB!C::TN-ENVIRONMENT SB!C:TN) SB!C::TN-ENV)" + This examples better illustrates the problem: + + (defun tst () + (declare (optimize (speed 2) (debug 3))) + (flet ((m1 () + (bar (if (foo) 1 2)) + (let ((x (foo))) + (bar x (list x))))) + (if (catch nil) + (m1) + (m1)))) + + (X is allocated in the physical environment of M1; X is :WRITE in + the call of LET [convert-to-global]; IF makes sure that a block + exists in M1 before this call.) + + Because X is :DEBUG-ENVIRONMENT, it is :LIVE by default in all + blocks in the environment, particularly it is :LIVE in the start of + M1 (where it is not yet :WRITE) [setup-environment-tn-conflicts]. + + Then :LIVE is propagated backwards, i.e. into the caller of M1 + where X does not exist [lifetime-flow-analysis]. + + (CATCH NIL) causes all TNs to be saved; Python fails on saving + non-existent variable; if it is replaced with (FOO), the problem + appears when debugging TST: LIST-LOCALS says + + debugger invoked on condition of type SB-DI:UNKNOWN-DEBUG-VAR: + + # is not in #. + + (in those old versions, in which debugger worked :-(). + 117: When the compiler inline expands functions, it may be that different kinds of return values are generated from different code branches. @@ -979,25 +1009,6 @@ WORKAROUND: (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 - #. - 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, @@ -1076,7 +1087,7 @@ WORKAROUND: (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 @@ -1306,14 +1317,13 @@ WORKAROUND: 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) + (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). 226: "AVER failure in COMPILE-FILE of clocc-ansi-test/tests.lisp" + (APD points out that this seems to be another symptom of bug #115.) 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 @@ -1332,6 +1342,17 @@ WORKAROUND: (t (safe-format t "~&baz ~S (~A) ~S" condition condition result))))))) +227: "compiler bewilderment with adjustable vectors and COPY-SEQ" + (fixed in sbcl-0.7.9.65) + +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. DEFUNCT CATEGORIES OF BUGS IR1-#: