diff options
author | Juri Linkov <juri@linkov.net> | 2021-08-01 23:07:29 +0300 |
---|---|---|
committer | Juri Linkov <juri@linkov.net> | 2021-08-01 23:07:29 +0300 |
commit | 9f5946b6ff2780a95a85909cd61e74986f5acf8a (patch) | |
tree | adb8aa7b750a331b43e69e2dc20e8cb4199ddc0d /lisp/help-mode.el | |
parent | ee1887bf54e7091a382ad24691ce0f482c61d7ea (diff) | |
download | emacs-9f5946b6ff2780a95a85909cd61e74986f5acf8a.tar.gz emacs-9f5946b6ff2780a95a85909cd61e74986f5acf8a.tar.bz2 emacs-9f5946b6ff2780a95a85909cd61e74986f5acf8a.zip |
* lisp/help-mode.el (help-mode-context-menu): New function.
(help-mode): Use it.
Diffstat (limited to 'lisp/help-mode.el')
-rw-r--r-- | lisp/help-mode.el | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lisp/help-mode.el b/lisp/help-mode.el index 3976a9ac4e5..6a11fc1ed9b 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -72,6 +72,35 @@ ["Customize" help-customize :help "Customize variable or face"])) +(defun help-mode-context-menu (menu) + (define-key menu [help-mode-separator] menu-bar-separator) + (let ((easy-menu (make-sparse-keymap "Help-Mode"))) + (easy-menu-define nil easy-menu nil + '("Help-Mode" + ["Previous Topic" help-go-back + :help "Go back to previous topic in this help buffer" + :active help-xref-stack] + ["Next Topic" help-go-forward + :help "Go back to next topic in this help buffer" + :active help-xref-forward-stack])) + (dolist (item (reverse (lookup-key easy-menu [menu-bar help-mode]))) + (when (consp item) + (define-key menu (vector (car item)) (cdr item))))) + + (when (and + ;; First check if `help-fns--list-local-commands' + ;; used `where-is-internal' to call this function + ;; with wrong `last-input-event'. + (eq (current-buffer) (window-buffer (posn-window (event-start last-input-event)))) + (mouse-posn-property (event-start last-input-event) 'mouse-face)) + (define-key menu [help-mode-push-button] + '(menu-item "Follow Link" (lambda (event) + (interactive "e") + (push-button event)) + :help "Follow the link at click"))) + + menu) + (defvar help-mode-tool-bar-map (let ((map (make-sparse-keymap))) (tool-bar-local-item "close" 'quit-window 'quit map @@ -342,6 +371,7 @@ Commands: \\{help-mode-map}" (setq-local revert-buffer-function #'help-mode-revert-buffer) + (add-hook 'context-menu-functions 'help-mode-context-menu 5 t) (setq-local tool-bar-map help-mode-tool-bar-map) (setq-local help-mode--current-data nil) |