1.0.15.36: fix bug 423
[sbcl.git] / BUGS
diff --git a/BUGS b/BUGS
index 887ffbe..0ec868e 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -479,6 +479,11 @@ WORKAROUND:
                (print (incf start 22))
                (print (incf start 26))))))
 
+  [ Update: 1.0.14.36 improved this quite a bit (20-25%) by
+    eliminating useless work from PROPAGATE-FROM-SETS -- but as alluded
+    below, maybe we should be smarter about when to decide a derived
+    type is "good enough". ]
+
   This example could be solved with clever enough constraint
   propagation or with SSA, but consider
 
@@ -1713,6 +1718,10 @@ WORKAROUND:
                3: (SB-C::BOUND-FUNC ...)
                4: (SB-C::%SINGLE-FLOAT-DERIVE-TYPE-AUX ...)
 
+  These are now fixed, but (COERCE HUGE 'SINGLE-FLOAT) still signals a
+  type-error at runtime. The question is, should it instead signal a
+  floating-point overflow, or return an infinity?
+
 408: SUBTYPEP confusion re. OR of SATISFIES of not-yet-defined predicate
        As reported by Levente M\'{e}sz\'{a}ros sbcl-devel 2006-02-20,
                (aver (equal (multiple-value-list
@@ -1879,3 +1888,42 @@ Which should be fixed, the IR1, or the backend?
 behaves ...erratically. Reported by Kevin Reid on sbcl-devel
 2007-07-06. (We don't _have_ to check things like this, but we
 generally try to check returns in safe code, so we should here too.)
+
+424: toplevel closures and *CHECK-CONSISTENCY*
+
+ The following breaks under COMPILE-FILE if *CHECK-CONSISTENCY* is true.
+
+  (let ((exported-symbols-alist
+         (loop for symbol being the external-symbols of :cl
+               collect (cons symbol
+                             (concatenate 'string
+                                          "#"
+                                          (string-downcase symbol))))))
+    (defun hyperdoc-lookup (symbol)
+      (cdr (assoc symbol exported-symbols-alist))))
+
+ (Test-case adapted from CL-PPCRE.)
+
+425: reading from closed streams
+
+ Reported by Damien Cassou on sbcl-devel. REPL transcript follows:
+
+  * (open ".bashrc" :direction :input)
+  #<SB-SYS:FD-STREAM for "file /home/cassou/.bashrc" {A6ADFC9}>
+  * (defparameter *s* *)
+  *S*
+  * (read-line *s*)
+  "# -*- Mode: Sh -*-"
+  * (read-line *s*)
+  "# Files you make look like rw-r--r--"
+  * (open-stream-p *s*)
+  T
+  * (close *s*)
+  T
+  * (open-stream-p *s*)
+  NIL
+  * (read-line *s*)
+  "umask 022"
+
+ The problem is with the fast path using ansi-stream-cin-buffer not hitting
+ closed-flame.