Furthermore, a compliance bug has been fixed: SLOT-MISSING is now
always called when a slot is not present in an instance. (thanks
to Gerd Moellmann)
+ * fixed a bug related to CONCATENATED-STREAMs: PEEK-CHAR will no
+ longer signal an error on unreading a character following EOF on
+ the previous constituent stream. (thanks to Tony Martinez)
* fixed some bugs revealed by Paul Dietz' test suite:
** ARRAY-IN-BOUNDS-P now allows arbitrary integers as arguments,
not just nonnegative fixnums;
(let* ((stream (car current))
(result (,fun stream nil nil)))
(when result (return result)))
- (setf (concatenated-stream-current stream) current)))))
+ (pop (concatenated-stream-current stream))))))
(in-fun concatenated-in read-char)
(in-fun concatenated-bin read-byte))
(get-output-stream-string out-stream))
;; (Before the fix, the LET* expression just signalled an error.)
"a"))
+
+;; 0.7.12 doesn't advance current stream in concatenated streams
+;; correctly when searching a stream for a char to read.
+(with-input-from-string (p "")
+ (with-input-from-string (q "foo")
+ (let* ((r (make-concatenated-stream p q)))
+ (peek-char nil r))))
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.7.12.47"
+"0.7.12.48"