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.)
-423: TRULY-THE and *CHECK-CONSISTENCY*
-
- The following signals errors due to TRULY-THEs in dead code:
-
- (let ((sb-c::*check-consistency* t))
- (handler-bind ((warning #'error))
- (flet ((make-lambda (type)
- `(lambda (x)
- ((lambda (z)
- (if (listp z)
- (let ((q (truly-the list z)))
- (length q))
- (if (arrayp z)
- (let ((q (truly-the vector z)))
- (length q))
- (error "oops"))))
- (the ,type x)))))
- (compile nil (make-lambda 'list))
- (compile nil (make-lambda 'vector)))))
+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.