From: Juri Linkov Date: Thu, 10 Jun 2004 04:21:14 +0000 (+0000) Subject: (perform-replace): Use `limit' to terminate the while-loop explicitly. X-Git-Tag: ttn-vms-21-2-B4~5855 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=22a76778dbb444bd15fd9947446b643cf85881b8;p=emacs.git (perform-replace): Use `limit' to terminate the while-loop explicitly. --- 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.