Subject: Re: bug#32607: 27.0.50; pop-to-buffer in next-error-no-select

From: Juri Linkov <[email-masked]>
Date: Fri, 14 Sep 2018 02:04:08 +0300

>>> BTW, it's not just a question of selection: "display the locus buffer"
>>> may also hide the source buffer, hence the need for the subsequent
>>> pop-to-buffer.
>> ... which may then hide the locus buffer.
>
> Indeed.  I guess for this reason next-error-no-select might want to
> let-bind display-buffer-overriding-action to something like
> (nil (inhibit-same-window . t)) during the call to next-error.

Then the same overriding should be applied to both:

diff --git a/lisp/simple.el b/lisp/simple.el
index ffd7fcc067..17ebcb2e16 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -383,9 +383,10 @@ next-error-no-select
 Finds and highlights the source line like \\[next-error], but does not
 select the source buffer."
   (interactive "p")
-  (let ((next-error-highlight next-error-highlight-no-select))
+  (let ((next-error-highlight next-error-highlight-no-select)
+        (display-buffer-overriding-action '(nil (inhibit-same-window . t))))
     (next-error n))
-  (let ((display-buffer-overriding-action '(display-buffer-reuse-window)))
+  (let ((display-buffer-overriding-action '(nil (inhibit-same-window . t))))
     ;; Override user customization such as display-buffer-same-window
     ;; and use display-buffer-reuse-window to ensure next-error-last-buffer
     ;; is displayed somewhere, not necessarily in the same window (bug#32607).
     (pop-to-buffer next-error-last-buffer)