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

From: martin rudalics <[email-masked]>
Date: Sun, 24 Nov 2024 09:59:03 +0100

> This is a nice feature.  But please use a different name
 > since the 'category' alist entry is reserved exclusively
 > to match display-buffer calls in user's configuration
 > in the user option 'display-buffer-alist'.
 > When using the same name for different purposes
 > then the users won't be able to match by category
 > and not to reuse the same window.

This is over my head: How can a (category . foo) entry make sense if it
is not initially set up by the 'foo' package?  As a user I might not
have the slightest idea of categories.  I'd proceed as follows:

- Package 'foo' designates a 'display-buffer' call as something
   pertaining to 'foo-some' by adding a (category . foo-some) alist entry
   and facultatively providing one or a couple of suitable action
   functions.

- A knowledgeable user can override the suggestion of 'foo' by putting
   into 'display-buffer-alist' a (category . foo-some) condition (so
   'buffer-match-p' will handle it) with an appropriate ACTION.

- 'display-buffer' has to

   - respect the user customization if there is one (and it's not
     overridden by the caller),

   - tries any action function provided by the caller,

   - automagically tries to do something reasonable by finding a window
     that already has an association with 'foo-some'.

Am I wrong about this concept?

martin