Mercurial > emacs
changeset 21910:702383d93b75
(Info-up): New arg SAME-FILE: don't move to different file.
(Info-next-preorder): Pass new arg to Info-up.
(Info-last-preorder): Likewise.
(Info-last-preorder): Don't follow the Prev if it's same as the Up.
Instead, follow it as the Up.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 03 May 1998 00:02:10 +0000 |
parents | bd22ccd2151e |
children | 8087931b409e |
files | lisp/info.el |
diffstat | 1 files changed, 13 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/info.el Sat May 02 16:41:44 1998 +0000 +++ b/lisp/info.el Sun May 03 00:02:10 1998 +0000 @@ -911,10 +911,15 @@ (interactive) (Info-goto-node (Info-extract-pointer "prev[ious]*" "previous"))) -(defun Info-up () - "Go to the superior node of this node." +(defun Info-up (&optional same-file) + "Go to the superior node of this node. +If SAME-FILE is non-nil, do not move to a different Info file." (interactive) - (Info-goto-node (Info-extract-pointer "up")) + (let ((node (Info-extract-pointer "up"))) + (and same-file + (string-match "^(" node) + (error "Up node is in another Info file")) + (Info-goto-node node)) (Info-restore-point Info-history)) (defun Info-last () @@ -1277,7 +1282,7 @@ (interactive) (cond ((Info-no-error (Info-next-menu-item))) ((Info-no-error (Info-next))) - ((Info-no-error (Info-up)) + ((Info-no-error (Info-up t)) ;; Since we have already gone thru all the items in this menu, ;; go up to the end of this node. (goto-char (point-max)) @@ -1302,7 +1307,9 @@ ;; so we can scroll back through it. (goto-char (point-max)))) (recenter -1)) - ((Info-no-error (Info-prev)) + ((and (not (equal (Info-extract-pointer "up") + (Info-extract-pointer "prev")))) + (Info-no-error (Info-prev)) (goto-char (point-max)) (while (Info-no-error (Info-last-menu-item) @@ -1310,7 +1317,7 @@ ;; so we can scroll back through it. (goto-char (point-max)))) (recenter -1)) - ((Info-no-error (Info-up)) + ((Info-no-error (Info-up t)) (goto-char (point-min)) (or (search-forward "\n* Menu:" nil t) (goto-char (point-max))))