From 22a76778dbb444bd15fd9947446b643cf85881b8 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Thu, 10 Jun 2004 04:21:14 +0000 Subject: [PATCH] (perform-replace): Use `limit' to terminate the while-loop explicitly. --- lisp/replace.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lisp/replace.el b/lisp/replace.el index f7afcd594cf..014762be53e 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -1132,7 +1132,7 @@ make, or the user didn't cancel the call." (unwind-protect ;; Loop finding occurrences that perhaps should be replaced. (while (and keep-going - (not (eobp)) + (not (or (eobp) (and limit (>= (point) limit)))) ;; Use the next match if it is already known; ;; otherwise, search for a match after moving forward ;; one char if progress is required. @@ -1148,7 +1148,10 @@ make, or the user didn't cancel the call." ;; character too far at the end, ;; but this is undone after the ;; while-loop. - (progn (forward-char 1) (not (eobp)))) + (progn + (forward-char 1) + (not (or (eobp) + (and limit (>= (point) limit)))))) (funcall search-function search-string limit t) ;; For speed, use only integers and ;; reuse the list used last time. -- 2.39.5