]> git.eshelyaron.com Git - emacs.git/commitdiff
(forward-page): If we find a match that ends where we
authorRichard M. Stallman <rms@gnu.org>
Thu, 15 Sep 1994 03:21:56 +0000 (03:21 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 15 Sep 1994 03:21:56 +0000 (03:21 +0000)
started searching, look for another one.

lisp/textmodes/page.el

index dc86e6997be57fa51acc18c0b945f7fa9d505650..d84d7f5a07bbbfaca95a2841148e2abd81166a56 100644 (file)
@@ -43,9 +43,18 @@ A page boundary is any line whose beginning matches the regexp
     (setq count (1- count)))
   (while (and (< count 0) (not (bobp)))
     (forward-char -1)
-    (if (re-search-backward page-delimiter nil t)
-       (goto-char (match-end 0))
-      (goto-char (point-min)))
+    (let (result (end (point)))
+      ;; If we find a match that ends where we started searching,
+      ;; look for another one.
+      (while (and (setq result (re-search-backward page-delimiter nil t))
+                 (= (match-end 0) end))
+       ;; Just search again.
+       )
+      (if result
+         ;; We found one--move to the end of it.
+         (goto-char (match-end 0))
+       ;; We found nothing--go to beg of buffer.
+       (goto-char (point-min))))
     (setq count (1+ count))))
 
 (defun backward-page (&optional count)