* 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
+ fill pointers 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=)))
(1+ index))
(declare (fixnum index)))
- (length string))))
+ end)))
(if (and (eql left-end 0)
- (eql right-end (length string)))
+ (eql right-end end))
string
(subseq (the simple-string string) left-end right-end)))))
(make-test " x x " "x x " " x x" "x x"))
+;;; Trimming should respect fill-pointers
+(let* ((s (make-array 9 :initial-contents "abcdabadd" :element-type
+ 'character :fill-pointer 7))
+ (s2 (string-left-trim "ab" s))
+ (s3 (string-right-trim "ab" s)))
+ (assert (equal "abcdaba" s))
+ (assert (equal "cdaba" s2))
+ (assert (equal "abcd" s3)))
;;; 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.21"
+"1.0.17.22"