Function: hkey-help-show
hkey-help-show is an autoloaded and byte-compiled function defined in
hmouse-drv.el.
Signature
(hkey-help-show &optional BUFFER CURRENT-WINDOW)
Documentation
Save prior window configuration if BUFFER displays help. Display BUFFER.
With optional second arg CURRENT-WINDOW non-nil, force display of buffer within the current window. By default, it is displayed according to the setting of hpath:display-where.
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-drv.el
;;;###autoload
(defun hkey-help-show (&optional buffer current-window)
"Save prior window configuration if BUFFER displays help. Display BUFFER.
With optional second arg CURRENT-WINDOW non-nil, force display of buffer within
the current window. By default, it is displayed according to the setting of
`hpath:display-where'."
(if (bufferp buffer) (setq buffer (buffer-name buffer)))
(if (null buffer) (setq buffer (buffer-name (current-buffer))))
(let ((hkey-org-help (and (stringp buffer) (string-match "\\`\\*Org Help\\*" buffer)))
(owind (selected-window)))
(and (stringp buffer)
(string-match "^\\*Help\\|Help\\*$" buffer)
(not (memq t (mapcar (lambda (wind)
(string-match
"^\\*Help\\|Help\\*$"
(buffer-name (window-buffer wind))))
(hypb:window-list 'no-mini))))
(setq hkey--wconfig (current-window-configuration)))
(unwind-protect
(let* ((buf (get-buffer-create buffer))
;; Help-mode calls with-temp-buffer which invokes one of these hooks
;; which calls hkey-help-show again, so nullify them before
;; displaying the buffer.
(temp-buffer-show-hook)
(temp-buffer-show-function)
(wind (cond (current-window
(switch-to-buffer buf)
(selected-window))
(t (hpath:display-buffer buf)))))
;; Ignore org-mode's temp help buffers which it handles on its own.
(when (and wind (not hkey-org-help))
(setq minibuffer-scroll-window wind)
;; Don't use help-mode in buffers already set up with a
;; quit-key to bury the buffer, e.g. minibuffer completions,
;; as this will sometimes disable default left mouse key item
;; selection.
(unless (or (where-is-internal 'quit-window (current-local-map))
(where-is-internal 'hkey-help-hide (current-local-map)))
(when (string-match "^\\*Help\\|Help\\*$" (buffer-name))
(help-mode))
(when (derived-mode-p 'help-mode)
(local-set-key "q" #'hkey-help-hide)))))
;; If in an *Org Help* buffer, reselect the Org buffer.
(when hkey-org-help
(select-window owind))
;; If in a *Completions* buffer, re-select the window that
;; generated the completions.
(when (buffer-live-p completion-reference-buffer)
(select-window (get-buffer-window completion-reference-buffer t))))))