Function: texinfo-make-menu
texinfo-make-menu is an autoloaded, interactive and byte-compiled
function defined in texnfo-upd.el.gz.
Signature
(texinfo-make-menu &optional BEGINNING END)
Documentation
Without any prefix argument, make or update a menu.
Make the menu for the section enclosing the node found following point.
A prefix argument means make or update menus for nodes within or part of the marked region.
Whenever a menu exists, and is being updated, the descriptions that are associated with node names in the pre-existing menu are incorporated into the new menu.
Leaves trailing whitespace in a menu that lacks descriptions, so descriptions will format well. In general, a menu should contain descriptions, because node names and section titles are often too short to explain a node well.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/texnfo-upd.el.gz
;;;###autoload
(defun texinfo-make-menu (&optional beginning end)
"Without any prefix argument, make or update a menu.
Make the menu for the section enclosing the node found following point.
A prefix argument means make or update menus
for nodes within or part of the marked region.
Whenever a menu exists, and is being updated, the descriptions that
are associated with node names in the pre-existing menu are
incorporated into the new menu.
Leaves trailing whitespace in a menu that lacks descriptions, so
descriptions will format well. In general, a menu should contain
descriptions, because node names and section titles are often too
short to explain a node well."
(interactive
(if prefix-arg
(list (point) (mark))))
(if (null beginning)
(let ((level (texinfo-hierarchic-level)))
(texinfo-make-one-menu level)
(message "Menu updated"))
;; else
(message "Making or updating menus in %s... " (buffer-name))
(save-excursion
(goto-char (min beginning end))
;; find section type following point
(let ((level (texinfo-hierarchic-level))
(region-end-marker (make-marker)))
(set-marker region-end-marker (max beginning end))
(save-restriction
(widen)
(while (texinfo-find-lower-level-node
level (marker-position region-end-marker))
(setq level (texinfo-hierarchic-level)) ; new, lower level
(texinfo-make-one-menu level))
(while (and (< (point) (marker-position region-end-marker))
(texinfo-find-higher-level-node
level (marker-position region-end-marker)))
(setq level (texinfo-hierarchic-level))
;; Don't allow texinfo-find-higher-level-node
;; to find the same node again.
(forward-line 1)
(while (texinfo-find-lower-level-node
level (marker-position region-end-marker))
(setq level (texinfo-hierarchic-level)) ; new, lower level
(texinfo-make-one-menu level))))))
(message "Making or updating menus in %s...done" (buffer-name))))