]> git.eshelyaron.com Git - emacs.git/commitdiff
(Info-next-preorder): After we move up, move forward again.
authorRichard M. Stallman <rms@gnu.org>
Sun, 30 Jun 1996 08:12:17 +0000 (08:12 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 30 Jun 1996 08:12:17 +0000 (08:12 +0000)
(Info-last-preorder): After we move down or to the prev,
move down again.

lisp/info.el

index 1e6e0dd472c286357e0cbd40b7f0de7d47d257bb..ead6ab92c98752488faadba10a8974cbc4e7c69f 100644 (file)
@@ -1184,7 +1184,10 @@ N is the digit argument used to invoke this command."
        ((Info-no-error (Info-up))
         ;; Since we have already gone thru all the items in this menu,
         ;; go up to the end of this node.
-        (goto-char (point-max)))
+        (goto-char (point-max))
+        ;; Since logically we are done with the node with that menu,
+        ;; move on from it.
+        (Info-next-preorder))
        (t
         (error "No more nodes"))))
 
@@ -1196,9 +1199,20 @@ N is the digit argument used to invoke this command."
          ;; If we go down a menu item, go to the end of the node
          ;; so we can scroll back through it.
          (goto-char (point-max)))
+        ;; Keep going down, as long as there are nested menu nodes.
+        (while (Info-no-error
+                (Info-last-menu-item)
+                ;; If we go down a menu item, go to the end of the node
+                ;; so we can scroll back through it.
+                (goto-char (point-max))))
         (recenter -1))
        ((Info-no-error (Info-prev))
         (goto-char (point-max))
+        (while (Info-no-error
+                (Info-last-menu-item)
+                ;; If we go down a menu item, go to the end of the node
+                ;; so we can scroll back through it.
+                (goto-char (point-max))))
         (recenter -1))
        ((Info-no-error (Info-up))
         (goto-char (point-min))
@@ -1234,9 +1248,14 @@ previous node or back up to the parent node."
   (if (or (< (window-start) (point-min))
          (> (window-start) (point-max)))
       (set-window-start (selected-window) (point)))
-  (let ((virtual-end (save-excursion
-                      (goto-char (point-min))
-                      (search-forward "\n* Menu:" nil t))))
+  (let* ((current-point (point))
+        (virtual-end (save-excursion
+                       (beginning-of-line)
+                       (setq current-point (point))
+                       (goto-char (point-min))
+                       (search-forward "\n* Menu:"
+                                       current-point
+                                       t))))
     (if (or virtual-end (pos-visible-in-window-p (point-min)))
        (Info-last-preorder)
       (scroll-down))))