From: Christophe Rhodes Date: Mon, 21 Nov 2005 14:00:29 +0000 (+0000) Subject: 0.9.6.54: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=eb4a67799308fc2e610ca330401c9cb07533143c;p=sbcl.git 0.9.6.54: 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) --- diff --git a/package-data-list.lisp-expr b/package-data-list.lisp-expr index f951683..9f66124 100644 --- a/package-data-list.lisp-expr +++ b/package-data-list.lisp-expr @@ -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" diff --git a/src/code/array.lisp b/src/code/array.lisp index d1e06bb..29d54a2 100644 --- a/src/code/array.lisp +++ b/src/code/array.lisp @@ -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 diff --git a/src/compiler/generic/vm-tran.lisp b/src/compiler/generic/vm-tran.lisp index 4d29fcf..0557abc 100644 --- a/src/compiler/generic/vm-tran.lisp +++ b/src/compiler/generic/vm-tran.lisp @@ -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)) diff --git a/version.lisp-expr b/version.lisp-expr index 363b9f6..946a28b 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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"