Function: Info-history-menu

Info-history-menu is a byte-compiled function defined in info.el.gz.

Signature

(Info-history-menu E NAME HISTORY COMMAND)

Source Code

;; Defined in /usr/src/emacs/lisp/info.el.gz
(defun Info-history-menu (e name history command)
  (let* ((i (length history))
         (map (make-sparse-keymap name)))
    (mapc (lambda (history)
            (let ((file (nth 0 history))
                  (node (nth 1 history)))
              (when (stringp file)
                (setq file (file-name-sans-extension
                            (file-name-nondirectory file))))
              (define-key map (vector (intern (format "history-%i" i)))
                `(menu-item ,(format "(%s) %s" file node)
                            (lambda ()
                              (interactive)
                              (dotimes (_ ,i) (call-interactively ',command))))))
            (setq i (1- i)))
          (reverse history))
    (let* ((selection (x-popup-menu e map))
           (binding (and selection (lookup-key map (vector (car selection))))))
      (if binding (call-interactively binding)))))