>From a918b47feaa307808c5b2a3c913802b502ff61aa Mon Sep 17 00:00:00 2001 From: Arthur Miller Date: Sat, 25 Sep 2021 18:11:13 +0200 Subject: [PATCH] Send input to help-buffer form any buffer * help-mode.el (help-do-command): New command. Install help-do-command in global-map on C-h M-h key. --- lisp/help-mode.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lisp/help-mode.el b/lisp/help-mode.el index 551cf7e1a3..1a810e4379 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -875,6 +875,23 @@ help-insert-string (with-output-to-temp-buffer (help-buffer) (insert string))) +(defun help-do-command () + "Execute a command in \"*Help*\" buffer while working in other buffer. + +If *Help* buffer is not visible, the HELP-DO-COMMAND will be aborted." + (interactive) + (if (get-buffer-window (help-buffer)) + (let ((help-window (get-buffer-window (help-buffer)))) + (unless (window-dedicated-p help-window) + (set-window-dedicated-p help-window t)) + (read-key-sequence "") + (with-current-buffer (help-buffer) + (call-interactively + (key-binding + (kbd (edmacro-format-keys (vector last-input-event))))))) + (keyboard-quit))) + +(define-key global-map (kbd "C-h M-h") 'help-do-command) ;; Bookmark support -- 2.33.0