- (let ((rank (array-rank x)))
- (cond ((= rank 1)
- (format s
- "~S is a ~:[~;displaced ~]vector of length ~S." x
- (and (array-header-p x)
- (%array-displaced-p x)
- ) (length x))
- (when (array-has-fill-pointer-p x)
- (format s "~@:_It has a fill pointer, currently ~S."
- (fill-pointer x))))
- (t
- (format s "~S ~_is " x)
- (write-string (if (%array-displaced-p x) "a displaced" "an") s)
- (format s " array of rank ~S." rank)
- (format s "~@:_Its dimensions are ~S." (array-dimensions x)))))
+ (cond
+ ((= 1 (array-rank x))
+ (format s "~S is a vector with ~D elements."
+ x (car (array-dimensions x)))
+ (when (array-has-fill-pointer-p x)
+ (format s "~@:_It has a fill pointer value of ~S."
+ (fill-pointer x))))
+ (t
+ (format s "~S is an array of dimension ~:S."
+ x (array-dimensions x))))