Subject: bug#33258: inhibit-select-window

From: Juri Linkov <[email-masked]>
Date: Sun, 04 Nov 2018 23:17:56 +0200

Many commands use pop-to-buffer to display a buffer and
select its window by default.

Sometimes it's not desirable to select the displayed window.

One of the many examples is 'C-x v =' (vc-diff) where
the need is only to look at the diffs, but not to operate
on the *vc-diff* buffer in its window.

Currently there is no configurable way for the user
to override the default window selection.

I propose a new alist entry to support such feature.
An example of usage in user's customization:

  (push '("\\*vc-diff\\*" nil
          (inhibit-select-window . t))
        display-buffer-alist)

then pop-to-buffer could check for the alist entry
'inhibit-select-window' and to not select the window
if it's non-nil.

OTOH, when a command uses display-buffer that doesn't select a window,
then the same alist entry with a different value or a new entry e.g.
'(select-window . t)' could be used to force selecting the window.
This could be implemented by using the same code from pop-to-buffer
and adding it to display-buffer functions.