0.8.10.79:
authorChristophe Rhodes <csr21@cam.ac.uk>
Thu, 3 Jun 2004 09:35:37 +0000 (09:35 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Thu, 3 Jun 2004 09:35:37 +0000 (09:35 +0000)
Log accumulated bugs

BUGS
version.lisp-expr

diff --git a/BUGS b/BUGS
index ad88107..dff6252 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1433,3 +1433,77 @@ WORKAROUND:
     (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 79bb49f..c1c75ac 100644 (file)
@@ -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"