0.7.1.24:
[sbcl.git] / BUGS
diff --git a/BUGS b/BUGS
index a4ec52f..bdf4781 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1261,19 +1261,65 @@ WORKAROUND:
   issues were cleaned up. As of sbcl-0.7.1.9, it occurs in 
   NODE-BLOCK called by LAMBDA-COMPONENT called by IR2-CONVERT-CLOSURE.
 
-149:
-  (reported by Stig E Sandoe sbcl-devel 2002-02-02)
-  In sbcl-0.7.1.13, compiling a DEFCLASS FOO form isn't enough to make
-  the class known to the compiler for other forms compiled in the same
-  file, so bogus warnings "undefined type: FOO" are generated, e.g.
-  when compiling 
-    (in-package :cl-user)
-    (defclass foo () ())
-    (defun bar (x)
-      (typep x 'foo))
+150:
+  In sbcl-0.7.1.15, compiling this code 
+    (let* ()
+      (flet ((wufn () (glorp table1 4.9)))
+        (gleep *uustk* #'wufn "#1" (list)))
+      (if (eql (lo foomax 3.2))
+          (values)
+          (error "not ~S" '(eql (lo foomax 3.2))))
+      (values))
+  causes a failure in SB-C::ADD-TEST-CONSTRAINTS:
+    The value NIL is not of type SB-C::CONTINUATION.
+  other notes:
+    * The problem appears to be tied to the way that EQL is given only
+      one argument, and goes away when we give EQL a second argument.
+    * CMU CL 18c has this problem too, exercised by 
+       (compile nil
+                '(lambda ()
+                    (let* ()
+                     (flet ((wufn () (glorp table1 4.9)))
+                       (gleep *uustk* #'wufn "#1" (list)))
+                     (if (eql (lo foomax 3.2))
+                         (values)
+                         (error "not ~S" '(eql (lo foomax 3.2))))
+                     (values))))
+
+151:
+  From the ANSI description of GET-DISPATCH-MACRO-CHARACTER, it
+  should return NIL when there is no definition, e.g.
+    (GET-DISPATCH-MACRO-CHARACTER #\# #\{) => NIL
+  Instead, in sbcl-0.7.1.17 it returns
+    #<FUNCTION "top level local call SB!IMPL::DISPATCH-CHAR-ERROR">
+
+152:
+  Undefined functions are supposed to be reported as UNDEFINED-FUNCTION
+  conditions, inheriting from CELL-ERROR. Instead sbcl-0.7.1.19 reports
+  them as TYPE-ERRORs (reporting the problem as something not being
+  coerceable to a function).
+
+153:
+  (essentially the same problem as a CMU CL bug reported by Martin
+  Cracauer on cmucl-imp 2002-02-19)
+  There is a hole in structure slot type checking. Compiling and LOADing
+    (declaim (optimize safety))
+    (defstruct foo
+      (bla 0 :type fixnum))
+    (defun f ()
+      (let ((foo (make-foo)))
+        (setf (foo-bla foo) '(1 . 1))
+        (format t "Is ~a of type ~a a cons? => ~a~%"
+                (foo-bla foo)
+                (type-of (foo-bla foo))
+                (consp (foo-bla foo)))))
+    (f)
+  should signal an error, but in sbcl-0.7.1.21 instead gives the output
+    Is (1 . 1) of type CONS a cons? => NIL
+  without signalling an error.
+
 
 DEFUNCT CATEGORIES OF BUGS
   IR1-#:
-    These numbers were used for bugs related to the old IR1
-    interpreter. The # values reached 6 before the category
-    was closed down.
\ No newline at end of file
+    These labels were used for bugs related to the old IR1 interpreter.
+    The # values reached 6 before the category was closed down.