* Revealed by ansi-tests.
* fixed some bugs revealed by Paul Dietz' test suite:
** NIL is a valid function name (regression at 1.0.13.38)
** FILL on lists was missing its return value (regression at 1.0.12.27)
- ** STRING-TRIM, STRING-LEFT-TRIM, and STRING-RIGHT-TRIMP did not respect
+ ** STRING-TRIM, STRING-LEFT-TRIM, and STRING-RIGHT-TRIM did not respect
fill pointers properly (regression at 1.0.12.23)
+ ** STRING-TRIM, STRING-LEFT-TRIM, and STRING-RIGHT-TRIM did not respect
+ displacement indices properly (regression at 1.0.12.23)
changes in sbcl-1.0.17 relative to 1.0.16:
* temporary regression: user code can no longer allocate closure
:test #'char=)))
index)
(declare (fixnum index)))
- 0))
+ start))
(right-end (if right-p
(do ((index (1- (the fixnum end)) (1- index)))
((or (< index left-end)
(1+ index))
(declare (fixnum index)))
end)))
- (if (and (eql left-end 0)
+ (if (and (eql left-end start)
(eql right-end end))
string
(subseq (the simple-string string) left-end right-end)))))
(assert (equal "abcdaba" s))
(assert (equal "cdaba" s2))
(assert (equal "abcd" s3)))
+
+;;; Trimming should replace displacement offsets
+(let* ((etype 'base-char)
+ (s0
+ (make-array '(6) :initial-contents "abcaeb" :element-type etype))
+ (s
+ (make-array '(3) :element-type etype :displaced-to s0 :displaced-index-offset 1)))
+ (assert (equal "bc" (string-right-trim "ab" s)))
+ (assert (equal "bca" s))
+ (assert (equal "abcaeb" s0)))
;;; 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".)
-"1.0.17.22"
+"1.0.17.23"