From 481977f5970e71d0c0575d48dbd5b1b0ea1bc63f Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Mon, 1 Dec 2025 19:29:11 +0200 Subject: [PATCH] Override 'display-buffer-overriding-action' conditionally in perform-replace * lisp/replace.el (perform-replace): For 'diff' display, override 'display-buffer-overriding-action' only when it has the default value. https://lists.gnu.org/archive/html/emacs-devel/2025-11/msg01077.html --- lisp/replace.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lisp/replace.el b/lisp/replace.el index 5ef16b9df68..e4709040dff 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -3341,9 +3341,12 @@ characters." (setq replaced t)) ((eq def 'diff) - (let ((display-buffer-overriding-action - '(nil (inhibit-same-window . t)))) - (save-selected-window + (let ((display-buffer-overriding-action + ;; Override only the default value. + (if (equal display-buffer-overriding-action '(nil)) + '(nil (inhibit-same-window . t)) + display-buffer-overriding-action))) + (save-selected-window (multi-file-replace-as-diff (list (or buffer-file-name (current-buffer))) from-string (or replacements next-replacement)