From: Juri Linkov <juri@linkov.net>
To: martin rudalics <rudalics@gmx.at>
Cc: Dmitry Gutov <dmitry@gutov.dev>, 74361@debbugs.gnu.org
Subject: bug#74361: [PATCH] New option xref-navigation-display-window-action
Date: Sun, 24 Nov 2024 19:40:19 +0200 [thread overview]
Message-ID: <87y118cyyk.fsf@mail.linkov.net> (raw)
In-Reply-To: <05452bef-dd2e-4e93-abdd-6eb391027197@gmx.at> (martin rudalics's message of "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?
The key word is "automagically". Only this is a problem.
Many users might not want such magic.
Compare this with 'display-buffer-reuse-mode-window'.
Its alist entry `mode' is not the same as `major-mode' in condition:
(add-to-list 'display-buffer-alist
'((major-mode . Info-mode)
(display-buffer-reuse-mode-window)
(mode . help-mode)))
But the category should be the same to match:
(add-to-list 'display-buffer-alist
'((category . Info-mode)
(display-buffer-same-window)))
(display-buffer (get-buffer-create "*info*")
'(nil (category . Info-mode)))
So for a similar function like 'display-buffer-reuse-category-window'
we need another alist element, not 'category'.
Maybe 'display-buffer-reuse-group-window' with 'group' list element
for a group of buffers in the same window.
next prev parent reply other threads:[~2024-11-24 17:40 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-14 22:29 bug#74361: [PATCH] New option xref-navigation-display-window-action Dmitry Gutov
2024-11-15 0:50 ` Dmitry Gutov
2024-11-15 7:49 ` Juri Linkov
2024-11-15 19:05 ` Dmitry Gutov
2024-11-16 19:12 ` Juri Linkov
2024-11-18 1:28 ` Dmitry Gutov
2024-11-19 18:33 ` Juri Linkov
2024-11-19 19:43 ` Dmitry Gutov
2024-11-20 7:11 ` Juri Linkov
2024-11-20 19:12 ` Dmitry Gutov
2024-11-21 7:34 ` Juri Linkov
2024-11-25 1:58 ` Dmitry Gutov
2024-11-27 1:45 ` Dmitry Gutov
2024-11-20 8:37 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-20 17:31 ` Juri Linkov
2024-11-20 19:10 ` Dmitry Gutov
2024-11-21 7:29 ` Juri Linkov
2024-11-20 19:08 ` Dmitry Gutov
2024-11-22 9:22 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-23 9:35 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-23 18:45 ` Juri Linkov
2024-11-23 19:16 ` Juri Linkov
2024-11-24 8:59 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-24 17:40 ` Juri Linkov [this message]
2024-11-25 9:18 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-25 17:49 ` Juri Linkov
2024-11-26 9:15 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-27 1:52 ` Dmitry Gutov
2024-11-27 8:58 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-27 13:07 ` Dmitry Gutov
2024-11-28 9:27 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-28 17:15 ` Dmitry Gutov
2024-11-28 18:32 ` Juri Linkov
2024-11-28 20:27 ` Dmitry Gutov
2024-12-04 7:35 ` Juri Linkov
2024-12-04 8:00 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-04 17:14 ` Juri Linkov
2024-12-05 9:23 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05 17:52 ` Juri Linkov
2024-12-06 8:31 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 17:18 ` Juri Linkov
2024-12-08 16:55 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05 18:08 ` Dmitry Gutov
2024-11-27 7:30 ` Juri Linkov
2024-11-27 9:00 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-20 8:36 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-15 12:13 ` Eli Zaretskii
2024-11-15 17:20 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-15 19:10 ` Dmitry Gutov
2024-11-16 8:43 ` Eli Zaretskii
2024-11-18 1:42 ` Dmitry Gutov
2024-11-18 12:25 ` Eli Zaretskii
2024-11-18 16:10 ` Dmitry Gutov
2024-11-18 17:03 ` Eli Zaretskii
2024-11-19 1:21 ` Dmitry Gutov
2024-11-19 15:33 ` Eli Zaretskii
2024-11-19 19:51 ` Dmitry Gutov
2024-11-20 12:54 ` Eli Zaretskii
2024-11-21 10:37 ` Eli Zaretskii
2024-11-21 18:01 ` Juri Linkov
2024-11-21 19:16 ` Eli Zaretskii
2024-11-21 19:39 ` Juri Linkov
2024-11-21 19:56 ` Eli Zaretskii
2024-11-22 7:29 ` Juri Linkov
2024-11-22 8:20 ` Eli Zaretskii
2024-11-23 18:25 ` Juri Linkov
2024-11-23 18:53 ` Eli Zaretskii
2024-11-23 19:14 ` Juri Linkov
2024-11-23 19:36 ` Eli Zaretskii
2024-11-24 7:34 ` Juri Linkov
2024-11-24 9:42 ` Eli Zaretskii
2024-11-25 7:28 ` Juri Linkov
2024-12-04 7:41 ` Juri Linkov
2024-11-19 18:36 ` Juri Linkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y118cyyk.fsf@mail.linkov.net \
--to=juri@linkov.net \
--cc=74361@debbugs.gnu.org \
--cc=dmitry@gutov.dev \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.