diff --git a/src/cmp/cmpopt-sequence.lsp b/src/cmp/cmpopt-sequence.lsp index 21ad2bd95..cbbf34416 100644 --- a/src/cmp/cmpopt-sequence.lsp +++ b/src/cmp/cmpopt-sequence.lsp @@ -161,7 +161,9 @@ (unless ,test (return ,output)) (let ((,%elt (si::seq-iterator-ref ,%sequence ,%iterator))) ,@body) - (setf ,%iterator (si::seq-iterator-next ,%sequence ,%iterator))))))) + (setf ,%iterator (si::seq-iterator-next ,%sequence ,%iterator)) + ,(when end + `(decf ,%counter))))))) ;;; ;;; MEMBER