0.9.6.54:
authorChristophe Rhodes <csr21@cam.ac.uk>
Mon, 21 Nov 2005 14:00:29 +0000 (14:00 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Mon, 21 Nov 2005 14:00:29 +0000 (14:00 +0000)
Fix bugs reported by piso on #lisp (via our own test suite...)
... always return the vector from new SHRINK-VECTOR (fixes
seq.impure.lisp)
... export %SHRINK-VECTOR from SB-KERNEL (fixes
gray-streams.impure.lisp)

package-data-list.lisp-expr
src/code/array.lisp
src/compiler/generic/vm-tran.lisp
version.lisp-expr

index f951683..9f66124 100644 (file)
@@ -1385,7 +1385,7 @@ is a good idea, but see SB-SYS re. blurring of boundaries."
                "SCALE-SINGLE-FLOAT" "SEQUENCE-COUNT" "SEQUENCE-END"
                "SEQUENCE-OF-CHECKED-LENGTH-GIVEN-TYPE"
                "SET-ARRAY-HEADER" "SET-HEADER-DATA" "SHIFT-TOWARDS-END"
-               "SHIFT-TOWARDS-START" "SHRINK-VECTOR"
+               "SHIFT-TOWARDS-START" "SHRINK-VECTOR" "%SHRINK-VECTOR"
                ;; FIXME: 32/64-bit issues
                "SIGNED-BYTE-32-P" "SIGNED-BYTE-64-P"
                "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-P"
index d1e06bb..29d54a2 100644 (file)
@@ -944,11 +944,13 @@ of specialized arrays is supported."
 
 (defun shrink-vector (vector new-length)
   (declare (vector vector))
-  (cond ((eq (length vector) new-length)
-         vector)
-        ((array-has-fill-pointer-p vector)
-         (setf (%array-fill-pointer vector) new-length))
-        (t (subseq vector 0 new-length))))
+  (cond
+    ((eq (length vector) new-length)
+     vector)
+    ((array-has-fill-pointer-p vector)
+     (setf (%array-fill-pointer vector) new-length)
+     vector)
+    (t (subseq vector 0 new-length))))
 
 ;;; Fill in array header with the provided information, and return the array.
 (defun set-array-header (array data length fill-pointer displacement dimensions
index 4d29fcf..0557abc 100644 (file)
@@ -79,7 +79,7 @@
                 `(the ,(type-specifier declared-element-ctype)
                       ,bare-form)))))))
 
-;;; Transform multi-dimensional to one dimensional SIMPLE-ARRAY
+;;; Transform multi-dimensional array to one dimensional data vector
 ;;; access.
 (deftransform data-vector-ref ((array index)
                                (simple-array t))
index 363b9f6..946a28b 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.6.53"
+"0.9.6.54"