From: Christophe R. <cr...@us...> - 2004-06-03 09:35:46
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20051 Modified Files: BUGS version.lisp-expr Log Message: 0.8.10.79: Log accumulated bugs Index: BUGS =================================================================== RCS file: /cvsroot/sbcl/sbcl/BUGS,v retrieving revision 1.397 retrieving revision 1.398 diff -u -d -r1.397 -r1.398 --- BUGS 1 Jun 2004 15:27:23 -0000 1.397 +++ BUGS 3 Jun 2004 09:35:37 -0000 1.398 @@ -1433,3 +1433,77 @@ (defstruct (bar (:include foo))) (sb-mop:class-direct-subclasses (find-class 'foo)) returns NIL, rather than a singleton list containing the BAR class. + +332: "fasl stack inconsistency in structure redefinition" + (reported by Tim Daly Jr sbcl-devel 2004-05-06) + Even though structure redefinition is undefined by the standard, the + following behaviour is suboptimal: running + (defun stimulate-sbcl () + (let ((filename (format nil "/tmp/~A.lisp" (gensym)))) + ;;create a file which redefines a structure incompatibly + (with-open-file (f filename :direction :output :if-exists :supersede) + (print '(defstruct astruct foo) f) + (print '(defstruct astruct foo bar) f)) + ;;compile and load the file, then invoke the continue restart on + ;;the structure redefinition error + (handler-bind ((error (lambda (c) (continue c)))) + (load (compile-file filename))))) + (stimulate-sbcl) + and choosing the CONTINUE restart yields the message + debugger invoked on a SB-INT:BUG in thread 27726: + fasl stack not empty when it should be + +333: "CHECK-TYPE TYPE-ERROR-DATUM place" + (reported by Tony Martinez sbcl-devel 2004-05-23) + When CHECK-TYPE signals a TYPE-ERROR, the TYPE-ERROR-DATUM holds the + lisp symbolic place in question rather than the place's value. This + seems wrong. + +334: "COMPUTE-SLOTS used to add slots to classes" + (reported by Bruno Haible sbcl-devel 2004-06-01) + a. Adding a local slot does not work: + (use-package "SB-PCL") + (defclass b (a) ()) + (defmethod compute-slots ((class (eql (find-class 'b)))) + (append (call-next-method) + (list (make-instance 'standard-effective-slot-definition + :name 'y + :allocation :instance)))) + (defclass a () ((x :allocation :class))) + ;; A should now have a shared slot, X, and a local slot, Y. + (mapcar #'slot-definition-location (class-slots (find-class 'b))) + yields + There is no applicable method for the generic function + #<STANDARD-GENERIC-FUNCTION CLASS-SLOTS (3)> + when called with arguments + (NIL). + + b. Adding a class slot does not work: + (use-package "SB-PCL") + (defclass b (a) ()) + (defmethod compute-slots ((class (eql (find-class 'b)))) + (append (call-next-method) + (list (make-instance 'standard-effective-slot-definition + :name 'y + :allocation :class)))) + (defclass a () ((x :allocation :class))) + ;; A should now have two shared slots, X and Y. + (mapcar #'slot-definition-location (class-slots (find-class 'b))) + yields + There is no applicable method for the generic function + #<STANDARD-GENERIC-FUNCTION SB-PCL::CLASS-SLOT-CELLS (1)> + when called with arguments + (NIL). + +335: "ATANH completely broken" + a. (reported by Peter Graves sbcl-devel 2004-06-01) + (atanh #c(1 2)), and more generally atanh of any complex with real + part 1, computes entirely the wrong answer. + b. (discovered by CSR when investigating a.) + (atanh most-positive-double-float), and more generally atanh of any + number with magnitude larger than + sqrt(most-positive-double-float), computes a number whose real + part is the imaginary part of the correct answer, and whose + imaginary part is the real part of the correct answer. + (fixes for both of these were sent CSR sbcl-devel 2004-06-02, to be merged + post-0.8.11) Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.1647 retrieving revision 1.1648 diff -u -d -r1.1647 -r1.1648 --- version.lisp-expr 1 Jun 2004 17:34:31 -0000 1.1647 +++ version.lisp-expr 3 Jun 2004 09:35:37 -0000 1.1648 @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.8.10.78" +"0.8.10.79" |