X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=BUGS;h=bba6c83e684dddc234652ac2f544d3ca677d68d4;hb=94ac5b7c3ff37850210b6fc9a7593cf1c5752993;hp=eb00513899f264df950d22578fa4f47fb160cede;hpb=179c77c20ae10b7385d6c91a1e6d89842fb690e3;p=sbcl.git diff --git a/BUGS b/BUGS index eb00513..bba6c83 100644 --- a/BUGS +++ b/BUGS @@ -973,6 +973,36 @@ WORKAROUND: (call-next-method))) Now (FOO 3) should return 3, but instead it returns 4. +140: + (reported by Alexey Dejneka sbcl-devel 2002-01-03) + + SUBTYPEP does not work well with redefined classes: + --- + * (defclass a () ()) + # + * (defclass b () ()) + # + * (subtypep 'b 'a) + NIL + T + * (defclass b (a) ()) + # + * (subtypep 'b 'a) + T + T + * (defclass b () ()) + # + + ;;; And now... + * (subtypep 'b 'a) + T + T + + This bug was fixed in sbcl-0.7.4.1 by invalidating the PCL wrapper + class upon redefinition. Unfortunately, doing so causes bug #176 to + appear. Pending further investication, one or other of these bugs + might be present at any given time. + 141: Pretty-printing nested backquotes doesn't work right, as reported by Alexey Dejneka sbcl-devel 2002-01-13: @@ -1276,6 +1306,8 @@ WORKAROUND: (defclass c0 (b) ()) (make-instance 'c19) + See also bug #140. + 178: "AVER failure compiling confused THEs in FUNCALL" In sbcl-0.7.4.24, compiling (defun bug178 (x) @@ -1287,53 +1319,7 @@ WORKAROUND: (defun bug178alternative (x) (funcall (the nil x))) -179: - (fixed in sbcl-0.7.4.28) - -180: - In sbcl-0.7.4.35, PCL seems not to understand the :MOST-SPECIFIC-LAST - option for PROGN method combination. It does understand that - :MOST-SPECIFIC-FIRST and :MOST-SPECIFIC-LAST belong with PROGN. - If I use another keyword, it complains: - (defgeneric foo ((x t)) - (:method-combination progn :most-specific-first)) - outputs - method combination error in CLOS dispatch: - Illegal options to a short method combination type. - The method combination type PROGN accepts one option which - must be either :MOST-SPECIFIC-FIRST or :MOST-SPECIFIC-LAST. - And when I use :MOST-SPECIFIC-FIRST, I get the expected default - behavior: - (defgeneric foo ((x t)) - (:method-combination progn :most-specific-first)) - (defmethod foo progn ((x number)) - (print 'number)) - (defmethod foo progn ((x fixnum)) - (print 'fixnum)) - (foo 14) - outputs - FIXNUM - NUMBER - and returns - NUMBER - But with :MOST-SPECIFIC-LAST, - (defgeneric foo ((x t)) - (:method-combination progn :most-specific-last)) - (defmethod foo progn ((x number)) - (print 'number)) - (defmethod foo progn ((x fixnum)) - (print 'fixnum)) - (foo 14) - the behavior doesn't change, giving output of - FIXNUM - NUMBER - and returning - NUMBER - Raymond Toy reported 2002-06-15 on sbcl-devel that CMU CL's PCL - doesn't seem to have this bug, outputting NUMBER before FIXNUM - as expected in the last case above. - -181: +181: "bad type specifier drops compiler into debugger" Compiling (in-package :cl-user) (defun bar (x) @@ -1345,7 +1331,37 @@ WORKAROUND: the compiler handle the error, convert it into a COMPILER-ERROR, and continue compiling) which seems wrong. - +182: "SPARC/Linux floating point" + Evaluating (/ 1.0 0.0) at the prompt causes a Bus error and complete + death of the environment. Other floating point operations sometimes + return infinities when they should raise traps (e.g. the test case + for bug #146, (expt 2.0 12777)). + +183: "IEEE floating point issues" + Even where floating point handling is being dealt with relatively + well (as of sbcl-0.7.5, on sparc/sunos and alpha; see bug #146), the + accrued-exceptions and current-exceptions part of the fp control + word don't seem to bear much relation to reality. E.g. on + SPARC/SunOS: + * (/ 1.0 0.0) + + debugger invoked on condition of type DIVISION-BY-ZERO: + arithmetic error DIVISION-BY-ZERO signalled + 0] (sb-vm::get-floating-point-modes) + + (:TRAPS (:OVERFLOW :INVALID :DIVIDE-BY-ZERO) + :ROUNDING-MODE :NEAREST + :CURRENT-EXCEPTIONS NIL + :ACCRUED-EXCEPTIONS (:INEXACT) + :FAST-MODE NIL) + 0] abort + * (sb-vm::get-floating-point-modes) + (:TRAPS (:OVERFLOW :INVALID :DIVIDE-BY-ZERO) + :ROUNDING-MODE :NEAREST + :CURRENT-EXCEPTIONS (:INEXACT) + :ACCRUED-EXCEPTIONS (:INEXACT) + :FAST-MODE NIL) + DEFUNCT CATEGORIES OF BUGS IR1-#: These labels were used for bugs related to the old IR1 interpreter.