From: Andreas Fuchs Date: Tue, 28 Sep 2004 08:42:57 +0000 (+0000) Subject: 0.8.14.30: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=b9259fb16c44cb32bc39e76e14741f8fa4d4dab6;p=sbcl.git 0.8.14.30: One last fix before the release: make REMOVE-DUPLICATES :START work * Fix due to Peter Graves and the Sacla test suite * Also add a test case for that and DELETE-DUPLICATES, while we're at it. --- diff --git a/src/code/seq.lisp b/src/code/seq.lisp index d7d1f43..5afbc7f 100644 --- a/src/code/seq.lisp +++ b/src/code/seq.lisp @@ -1548,7 +1548,7 @@ (declare (fixnum index)) (setq splice (cdr (rplacd splice (list (car current))))) (setq current (cdr current))) - (do ((index 0 (1+ index))) + (do ((index start (1+ index))) ((or (and end (= index (the fixnum end))) (atom current))) (declare (fixnum index)) diff --git a/tests/seq.pure.lisp b/tests/seq.pure.lisp index 18ea6dc..ae9ea86 100644 --- a/tests/seq.pure.lisp +++ b/tests/seq.pure.lisp @@ -64,6 +64,13 @@ (make-list (- 10 j) :initial-element 'a)))))))) +;;; And equally similarly, REMOVE-DUPLICATES misbehaved when given +;;; :START arguments: + +(let ((orig (list 0 1 2 0 1 2 0 1 2 0 1 2))) + (assert (equalp (remove-duplicates orig :start 3 :end 9) '(0 1 2 0 1 2 0 1 2))) + (assert (equalp (delete-duplicates orig :start 3 :end 9) '(0 1 2 0 1 2 0 1 2)))) + ;;; tests of COUNT (assert (= 1 (count 1 '(1 2 3)))) (assert (= 2 (count 'z #(z 1 2 3 z)))) diff --git a/version.lisp-expr b/version.lisp-expr index 0973086..d759053 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".) -"0.8.14.29" +"0.8.14.30"