From: Nikodemus Siivola Date: Tue, 3 Jun 2008 15:07:03 +0000 (+0000) Subject: 1.0.17.21: LIST-FILL* return value (regression 1.0.12.16) X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=5423b2e0f7e7643001ed3ef2f66681c0114a72a6;p=sbcl.git 1.0.17.21: LIST-FILL* return value (regression 1.0.12.16) * Revealed by ansi-tests. --- diff --git a/NEWS b/NEWS index 7d0fe6e..5141699 100644 --- 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 diff --git a/src/code/seq.lisp b/src/code/seq.lisp index b49f616..7cf17f4 100644 --- a/src/code/seq.lisp +++ b/src/code/seq.lisp @@ -497,7 +497,8 @@ (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) diff --git a/tests/seq.impure.lisp b/tests/seq.impure.lisp index f6e79d3..a575352 100644 --- a/tests/seq.impure.lisp +++ b/tests/seq.impure.lisp @@ -1086,15 +1086,15 @@ ;;; 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))) diff --git a/version.lisp-expr b/version.lisp-expr index b7ed28b..fb141ad 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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"