0.8.3.44:
authorChristophe Rhodes <csr21@cam.ac.uk>
Mon, 8 Sep 2003 09:00:17 +0000 (09:00 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Mon, 8 Sep 2003 09:00:17 +0000 (09:00 +0000)
"Oops"
... as reported on #lisp IRC by pfdietz, FILL would on occasion
consume all available CPU and RAM...
... unbreak the new vectorized transform by returning the
sequence argument rather than NIL.

src/compiler/generic/vm-tran.lisp
tests/seq.pure.lisp
version.lisp-expr

index df2dcb7..4bb3a9f 100644 (file)
            ((= index end)
             (let ((place (* times 4)))
               (declare (fixnum place))
-              (dotimes (j rem)
+              (dotimes (j rem sequence)
                 (declare (index j))
                 (setf (schar sequence (the index (+ place j))) item))))
          (declare (optimize (speed 3) (safety 0))
index 1123ae2..18ea6dc 100644 (file)
 (assert (equal (stable-sort (list 1 2 3 -3 -2 -1) '< :key 'abs)
               '(1 -1 2 -2 3 -3)))
 
+;;; CSR broke FILL by not returning the sequence argument in a transform.
+(let* ((s1 (copy-seq "abcde"))
+       (s2 (fill s1 #\z)))
+  (assert s2)
+  (assert (string= s2 "zzzzz")))
index 03affac..9d398ae 100644 (file)
@@ -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.8.3.43"
+"0.8.3.44"