]> git.eshelyaron.com Git - emacs.git/commitdiff
(Info-last-preorder): Don't barf on nodes without a prev.
authorMiles Bader <miles@gnu.org>
Tue, 12 Dec 2000 07:15:52 +0000 (07:15 +0000)
committerMiles Bader <miles@gnu.org>
Tue, 12 Dec 2000 07:15:52 +0000 (07:15 +0000)
(Info-scroll-down): Respect `Info-scroll-prefer-subnodes'.

lisp/ChangeLog
lisp/info.el

index c2a000e908d05e0f1f18aa10b440a6a5b793d5da..30b8cebc5de4f138060dd1590f0ee7978c814bbf 100644 (file)
@@ -1,3 +1,8 @@
+2000-12-12  Miles Bader  <miles@gnu.org>
+
+       * info.el (Info-last-preorder): Don't barf on nodes without a prev.
+       (Info-scroll-down): Respect `Info-scroll-prefer-subnodes'.
+
 2000-12-12  Andrew Choi  <akochoi@i-cable.com>
 
        * term/mac-win.el: Remove load for ls-lisp.
index d9efaa7ad37789e65e2ec9323b11e59c0a07a5d1..948e106a51e11ef6657f669f049214b65f297626 100644 (file)
@@ -1612,7 +1612,8 @@ N is the digit argument used to invoke this command."
                 ;; so we can scroll back through it.
                 (goto-char (point-max))))
         (recenter -1))
-       ((and (not (equal (Info-extract-pointer "up")
+       ((and (Info-no-error (Info-extract-pointer "prev"))
+             (not (equal (Info-extract-pointer "up")
                          (Info-extract-pointer "prev"))))
         (Info-no-error (Info-prev))
         (goto-char (point-max))
@@ -1664,22 +1665,25 @@ in other ways.)"
 
 (defun Info-scroll-down ()
   "Scroll one screenful back in Info, considering all nodes as one sequence.
-Within the menu of a node, this goes to its last subnode.
-When you scroll past the beginning of a node, that goes to the
-previous node or back up to the parent node."
+If point is within the menu of a node, and `Info-scroll-prefer-subnodes'
+is non-nil, this goes to its last subnode.  When you scroll past the
+beginning of a node, that goes to the previous node or back up to the
+parent node."
   (interactive)
   (if (or (< (window-start) (point-min))
          (> (window-start) (point-max)))
       (set-window-start (selected-window) (point)))
   (let* ((case-fold-search t)
         (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))))
+        (virtual-end
+         (and Info-scroll-prefer-subnodes
+              (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))))