From 7e750943df9bb2acaff6d6fa9153636424ec59b2 Mon Sep 17 00:00:00 2001 From: Arthur Miller Date: Sat, 25 Sep 2021 16:21:07 +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..6ab6c7e482 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 "Run command in *Help* buffer: ") + (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