1.0.17.21: LIST-FILL* return value (regression 1.0.12.16)
authorNikodemus Siivola <nikodemus@random-state.net>
Tue, 3 Jun 2008 15:07:03 +0000 (15:07 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Tue, 3 Jun 2008 15:07:03 +0000 (15:07 +0000)
 * Revealed by ansi-tests.

NEWS
src/code/seq.lisp
tests/seq.impure.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 7d0fe6e..5141699 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,7 @@ changes in sbcl-1.0.18 relative to 1.0.17:
     in sb-bsd-sockets.
   * 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)
 
 changes in sbcl-1.0.17 relative to 1.0.16:
   * temporary regression: user code can no longer allocate closure
index b49f616..7cf17f4 100644 (file)
               (loop repeat n
                     do (setf pointer (cdr (rplaca pointer item))))))
           (loop while pointer
-                do (setf pointer (cdr (rplaca pointer item))))))))
+                do (setf pointer (cdr (rplaca pointer item)))))))
+  sequence)
 
 (defun vector-fill* (sequence item start end)
   (with-array-data ((data sequence)
index f6e79d3..a575352 100644 (file)
 
 ;;; FILL on lists
 (let ((l (list 1 2 3)))
-  (fill l 0 :start 1 :end 2)
+  (assert (eq l (fill l 0 :start 1 :end 2)))
   (assert (equal l '(1 0 3)))
-  (fill l 'x :start 2 :end 3)
+  (assert (eq l (fill l 'x :start 2 :end 3)))
   (assert (equal l '(1 0 x)))
-  (fill l 'y :start 1)
+  (assert (eq l (fill l 'y :start 1)))
   (assert (equal l '(1 y y)))
-  (fill l 'z :end 2)
+  (assert (eq l (fill l 'z :end 2)))
   (assert (equal l '(z z y)))
-  (fill l 1)
+  (assert (eq l (fill l 1)))
   (assert (equal l '(1 1 1)))
   (assert (raises-error? (fill l 0 :start 4)))
   (assert (raises-error? (fill l 0 :end 4)))
index b7ed28b..fb141ad 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".)
-"1.0.17.20"
+"1.0.17.21"