(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)