changeset 16525:521d5794ac2b

(narrow-to-page): With negative arg, move back one extra page unless we start right after a page delimiter.
author Richard M. Stallman <rms@gnu.org>
date Wed, 06 Nov 1996 22:42:41 +0000
parents 84440bd95727
children f34bfb5aa684
files lisp/textmodes/page.el
diffstat 1 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/textmodes/page.el	Wed Nov 06 19:51:38 1996 +0000
+++ b/lisp/textmodes/page.el	Wed Nov 06 22:42:41 1996 +0000
@@ -89,7 +89,16 @@
     (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.