Subject: Re: bug#74361: [PATCH] New option xref-navigation-display-window-action

From: Eli Zaretskii <[email-masked]>
Date: Sun, 24 Nov 2024 11:42:43 +0200

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Sun, 24 Nov 2024 09:34:51 +0200
> 
> >> Adapting config files means replacing such settings
> >> 
> >>   (setopt display-comint-buffer-action
> >>           '((display-buffer-same-window)
> >>             (inhibit-same-window . nil)))
> >> 
> >> with
> >> 
> >>   (add-to-list 'display-buffer-alist
> >>                '((category . comint)
> >>                  (display-buffer-same-window)
> >>                  (inhibit-same-window . nil)))
> >> 
> >> This already works since all corresponding display-buffer calls
> >> already provide the 'comint' category.
> >
> > They do?  I thought they use display-comint-buffer-action instead?
> 
> Indeed, they do this via display-comint-buffer-action.
> 
> > I just searched the entire Lisp tree, and didn't find even a single
> > match for "(category . comint)" except in the default value of
> > display-comint-buffer-action.  So if that user option's value is
> > changed, the replacement above will stop working, no?
> 
> Do you mean that the users might want to shoot themselves in the foot
> and remove '(category . comint)' from the default value of
> display-comint-buffer-action?

Yes, that's the scenario that bothers me.  Users could do that without
understanding the subtleties of the issue.

> Then indeed we need to move '(category . comint)' directly
> to every display-buffer call that currently uses
> display-comint-buffer-action.

I think we should do that for Emacs 31, yes.