Adjust array did not work with strings

This commit is contained in:
jjgarcia 2005-05-02 14:08:21 +00:00
parent 57ea34ce87
commit c15b5ec3de
2 changed files with 5 additions and 4 deletions

View file

@ -44,6 +44,8 @@ ECL 0.9f
- (DOCUMENTATION 'F 'FUNCTION) did not work with generic functions.
- ADJUST-ARRAY did not work with strings.
* Foreign function interface (FFI):
- ext:c-uint-max and ext:c-ulong-max did not have the right bignum value.

View file

@ -315,7 +315,7 @@ pointer is 0 already."
(defun adjust-array (array new-dimensions
&rest r
&key element-type
&key (element-type (array-element-type array))
initial-element
initial-contents
fill-pointer
@ -327,8 +327,7 @@ pointer is 0 already."
(displaced-to nil) (displaced-index-offset 0))
Adjusts the dimensions of ARRAY to the given DIMENSIONS. ARRAY must be an
adjustable array."
(declare (ignore element-type
initial-element
(declare (ignore initial-element
initial-contents
fill-pointer
displaced-index-offset))
@ -337,7 +336,7 @@ adjustable array."
;; FILL-POINTER = NIL means use the old value of the fill pointer
(when (and (null fill-pointer) (array-has-fill-pointer-p array))
(setf r (list* :fill-pointer (fill-pointer array) r)))
(let ((x (apply #'make-array new-dimensions :adjustable t r)))
(let ((x (apply #'make-array new-dimensions :adjustable t :element-type element-type r)))
(declare (array x))
(unless (or displaced-to initial-contents)
(do ((cursor (make-list (length new-dimensions) :initial-element 0)))