Inhibit displaying help buffer in main window in perform-replace

* lisp/replace.el (perform-replace): Use
display-buffer-overriding-action with inhibit-same-window to prevent
the help buffer from being displayed in the main window.  (Bug#34972)

Author: Michał Krzywkowski <k.michal@zoho.com>
Copyright-paperwork-exempt: yes
This commit is contained in:
Juri Linkov 2019-04-10 23:48:13 +03:00
parent d2255c6065
commit 8ecce6af47

View file

@ -2643,22 +2643,24 @@ characters."
(setq def (lookup-key map key))
;; Restore the match data while we process the command.
(cond ((eq def 'help)
(with-output-to-temp-buffer "*Help*"
(princ
(concat "Query replacing "
(if backward "backward " "")
(if delimited-flag
(or (and (symbolp delimited-flag)
(get delimited-flag
'isearch-message-prefix))
"word ") "")
(if regexp-flag "regexp " "")
from-string " with "
next-replacement ".\n\n"
(substitute-command-keys
query-replace-help)))
(with-current-buffer standard-output
(help-mode))))
(let ((display-buffer-overriding-action
'(nil (inhibit-same-window . t))))
(with-output-to-temp-buffer "*Help*"
(princ
(concat "Query replacing "
(if backward "backward " "")
(if delimited-flag
(or (and (symbolp delimited-flag)
(get delimited-flag
'isearch-message-prefix))
"word ") "")
(if regexp-flag "regexp " "")
from-string " with "
next-replacement ".\n\n"
(substitute-command-keys
query-replace-help)))
(with-current-buffer standard-output
(help-mode)))))
((eq def 'exit)
(setq keep-going nil)
(setq done t))