]> git.eshelyaron.com Git - emacs.git/commitdiff
(Info-follow-nearest-node): Implement new behavior.
authorJuanma Barranquero <lekktu@gmail.com>
Mon, 10 Feb 2003 11:41:09 +0000 (11:41 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Mon, 10 Feb 2003 11:41:09 +0000 (11:41 +0000)
lisp/info.el

index cf3b8e2ab78fbc4b62b41e46575486842e76d6e4..5af0787d50521bebfea978b9ca868ef68ec1ae01 100644 (file)
@@ -2113,12 +2113,22 @@ At end of the node's text, moves to the next node, or up if none."
        (Info-next-preorder)))
 
 (defun Info-follow-nearest-node ()
-  "\\<Info-mode-map>Follow a node reference near point.
-Like \\[Info-menu], \\[Info-follow-reference], \\[Info-next], \\[Info-prev] or \\[Info-up] command, depending on where point is.
-If no reference to follow, moves to the next node, or up if none."
+  "Follow a node reference near point.
+If point is on a reference, follow that reference.  Otherwise,
+if point is in a menu item description, follow that menu item."
   (interactive)
   (or (Info-try-follow-nearest-node)
-      (Info-next-preorder)))
+      (when (save-excursion
+             (search-backward "\n* menu:" nil t))
+       (save-excursion
+         (beginning-of-line)
+         (while (not (or (bobp) (looking-at "[^ \t]\\|[ \t]*$")))
+           (beginning-of-line 0))
+         (when (looking-at "\\* +\\([^\t\n]*\\):")
+           (Info-goto-node
+            (Info-extract-menu-item (match-string-no-properties 1)))
+           t)))
+      (error "Point neither on reference nor in menu item description")))
 
 ;; Common subroutine.
 (defun Info-try-follow-nearest-node ()