]> git.eshelyaron.com Git - emacs.git/commitdiff
(narrow-to-page): With negative arg, move back one extra
authorRichard M. Stallman <rms@gnu.org>
Wed, 6 Nov 1996 22:42:41 +0000 (22:42 +0000)
committerRichard M. Stallman <rms@gnu.org>
Wed, 6 Nov 1996 22:42:41 +0000 (22:42 +0000)
page unless we start right after a page delimiter.

lisp/textmodes/page.el

index aecfbd698d7c14d978b2df141dc6dbf80caa7b75..2cc0533535d490980c5ef3f2117a84bb2190163a 100644 (file)
@@ -89,7 +89,16 @@ thus showing a page other than the one point was originally in."
     (if (> arg 0)
        (forward-page arg)
       (if (< arg 0)
-         (forward-page (1- arg))))
+         (let ((adjust 0)
+               (opoint (point)))
+           ;; If we are not now at the beginning of a page,
+           ;; move back one extra time, to get to the start of this page.
+           (save-excursion
+             (beginning-of-line)
+             (or (and (looking-at page-delimiter)
+                      (eq (match-end 0) opoint))
+                 (setq adjust 1)))
+           (forward-page (- arg adjust)))))
     ;; Find the end of the page.
     (forward-page)
     ;; If we stopped due to end of buffer, stay there.