Mercurial > emacs
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.