Update of /cvsroot/sbcl/sbcl/src/code
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31220/src/code
Modified Files:
array.lisp stream.lisp
Log Message:
0.8.8.7:
MAKE-STRING-INPUT-STREAM fixes
... :END can be NIL;
... coerce non-(simple-array character (*))s to that type.
Also fix an erroneous test and message in ADJUST-ARRAY.
Index: array.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/array.lisp,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- array.lisp 1 Mar 2004 16:21:14 -0000 1.41
+++ array.lisp 1 Mar 2004 20:23:30 -0000 1.42
@@ -679,8 +679,9 @@
element-type)))
(let ((array-rank (length (the list dimensions))))
(declare (fixnum array-rank))
- (when (and fill-pointer (> array-rank 1))
- (error "Multidimensional arrays can't have fill pointers."))
+ (unless (= array-rank 1)
+ (when fill-pointer
+ (error "Only vectors can have fill pointers.")))
(cond (initial-contents-p
;; array former contents replaced by INITIAL-CONTENTS
(if (or initial-element-p displaced-to)
Index: stream.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/stream.lisp,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -d -r1.54 -r1.55
--- stream.lisp 4 Feb 2004 15:48:43 -0000 1.54
+++ stream.lisp 1 Mar 2004 20:23:30 -0000 1.55
@@ -1031,7 +1031,8 @@
(declare (type string string)
(type index start)
(type (or index null) end))
- (let ((end (%check-vector-sequence-bounds string start end)))
+ (let* ((string (coerce string '(simple-array character (*))))
+ (end (%check-vector-sequence-bounds string start end)))
(with-array-data ((string string) (start start) (end end))
(internal-make-string-input-stream
string ;; now simple
|