]> git.eshelyaron.com Git - emacs.git/commitdiff
(perform-replace): Use `limit' to terminate the while-loop explicitly.
authorJuri Linkov <juri@jurta.org>
Thu, 10 Jun 2004 04:21:14 +0000 (04:21 +0000)
committerJuri Linkov <juri@jurta.org>
Thu, 10 Jun 2004 04:21:14 +0000 (04:21 +0000)
lisp/replace.el

index f7afcd594cf0c23907612377828a6fc864dd0e87..014762be53e6be5b51a15a07901321085c15106f 100644 (file)
@@ -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.