unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Eli Zaretskii <eliz@gnu.org>, Juri Linkov <juri@linkov.net>
Cc: joaotavora@gmail.com, 44611@debbugs.gnu.org
Subject: bug#44611: Prefix arg for xref-goto-xref
Date: Sun, 20 Dec 2020 18:10:15 +0200	[thread overview]
Message-ID: <37e41473-08ba-7f5b-125e-74140395df88@yandex.ru> (raw)
In-Reply-To: <83v9cwsct7.fsf@gnu.org>

Hi Eli,

On 20.12.2020 17:43, Eli Zaretskii wrote:
>>> This is an incompatible behavior change, no?  If so, I'm not sure we
>>> can simply make it.
>>
>> This is what we have the section "Incompatible Editing Changes" in etc/NEWS for.
> 
> The fact that the section exists doesn't mean we can make incompatible
> changes whenever we feel like.

It does mean we can make such changes when we discover a better way to 
do things.

I think you can agree that we have been, overall, fairly conservative 
with UI changes in Xref.

> This key binding existed since Emacs
> 26.1, so changing it would definitely surprise someone.

In any case, it was one of the minor, later additions. I would be 
surprised to find out (if it ever were possible to obtain such data) 
that > 5% of regular Xref users take advantage of it.

And those who do, can discover the change without any terrible 
consequences (the new binding is pretty benign), look up the docs and adapt.

>> And since the new keybinding have no disastrous effect, it would safer
>> for the users to adapt to the new keybinding.
> 
> What disastrous effects?  AFAICT, TAB buries the XREF buffer, which is
> not a disaster.
> 
> More generally, I think it's wrong to try to make XREF buffers behave
> like *Grep* buffers.  They are different beasts, I think we
> established this long ago, when Xref was added to Emacs (I think I
> even made a comment regarding the difference, and Dmitry responded to
> the effect that this was intended).

While I indeed might have said something like that, it was probably in 
the context of copying some behavior from Grep that didn't make sense 
for Xref. This one does (IMO), and, in general, reducing gratuitous 
differences between packages and UIs we provide is a good thing.

And if things like that will make Xref more palatable to long-time 
Compilation/Grep aficionados without conflicting with Xref's goals, I'm 
all in favor of that.

 > *XREF* and *Grep* look
 > differently and behave differently, and it's impossible to make them
 > be similar enough.

If Juri's experience says different, it's a valuable data point. If you 
recall, we have received a fair number of criticisms for Xref's UI from 
him over the years.

Finally, the binding in question was added when the Xref buffers for 
"find definition" and "regexp matches in directory" have (without extra 
user-specific hacks) behaved the same. This has changed with the 
introduction of the option xref-show-definitions-function, using which 
we changed the latter's behavior a little.

I believe we might change xref-show-definitions-function's default soon 
enough, perhaps even in Emacs 28. xref--show-defs-minibuffer, which we 
have come up during a recent discussion in emacs-devel, works quite well 
in my testing for this particular use case (feedback welcome, BTW).

If/when we do, the xref-quit-and-goto-xref binding will lose even more 
of its importance. Though it should still remain useful on occasion.





  reply	other threads:[~2020-12-20 16:10 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-13  8:18 bug#44611: Prefix arg for xref-goto-xref Juri Linkov
2020-11-13 11:20 ` Dmitry Gutov
2020-11-14 20:36   ` Juri Linkov
2020-11-15  1:05     ` Dmitry Gutov
2020-11-15 19:51       ` Juri Linkov
2020-11-15 22:25         ` Dmitry Gutov
2020-11-15 22:52           ` Drew Adams
2020-11-15 23:11             ` João Távora
2020-12-19 20:38           ` Juri Linkov
2020-12-19 21:41             ` Dmitry Gutov
2020-12-19 22:36               ` João Távora
2020-12-19 23:59                 ` Dmitry Gutov
2020-12-20 20:32                   ` João Távora
2020-12-20 20:45                     ` Dmitry Gutov
2020-12-22  0:52                       ` João Távora
2020-12-20  3:26             ` Eli Zaretskii
2020-12-20  8:39               ` Juri Linkov
2020-12-20 15:43                 ` Eli Zaretskii
2020-12-20 16:10                   ` Dmitry Gutov [this message]
2020-12-22  8:58                   ` Juri Linkov
2020-12-22 12:20                     ` Dmitry Gutov
2020-12-22 15:53                     ` Eli Zaretskii
2020-12-22 21:20                       ` Juri Linkov
2020-12-23 15:08                         ` Eli Zaretskii
2020-12-23 16:20                           ` Dmitry Gutov
2020-12-23 16:46                             ` Eli Zaretskii
2020-12-23 18:45                               ` Dmitry Gutov
2020-12-23 19:23                                 ` Eli Zaretskii
2020-12-23 19:56                                   ` Dmitry Gutov
2020-12-23 20:30                                     ` Eli Zaretskii
2020-12-23 21:24                                       ` Dmitry Gutov
2020-12-24 17:44                                         ` Eli Zaretskii
2020-12-24 20:19                                           ` Juri Linkov
2020-12-24 20:44                                             ` Eli Zaretskii
2020-12-25  9:20                                               ` Juri Linkov
2020-12-25 11:44                                                 ` Eli Zaretskii
2020-12-25 15:24                                                   ` Dmitry Gutov
2020-12-27 16:22                                                     ` Juri Linkov
2020-12-27 17:16                                                       ` martin rudalics
2020-12-27 18:53                                                       ` Dmitry Gutov
2020-12-28 17:24                                                         ` Juri Linkov
2021-01-18  1:17                                                           ` Dmitry Gutov
2021-01-19 17:56                                                             ` Juri Linkov
2021-01-19 19:38                                                               ` Dmitry Gutov
2021-02-01 17:16                                                                 ` Juri Linkov
2021-03-16 18:15                                                                   ` Juri Linkov
2021-03-17  8:45                                                                     ` martin rudalics
     [not found]                                                                   ` <87sg4vgef6.fsf@mail.linkov.net>
2021-03-16 23:38                                                                     ` Dmitry Gutov
2021-03-17 17:23                                                                       ` Juri Linkov
2021-03-17 21:48                                                                         ` Dmitry Gutov
2020-12-27 16:20                                                   ` Juri Linkov
2020-12-27 18:21                                                     ` Eli Zaretskii
2020-12-28  0:54                                                       ` Dmitry Gutov
2020-12-28  9:16                                                       ` Juri Linkov
2021-04-22 15:18                                                       ` Dmitry Gutov
     [not found]                                                       ` <1fa6bd28-0524-011e-86c2-60c8faab51f8@yandex.ru>
2021-04-22 17:03                                                         ` Eli Zaretskii
2021-04-22 17:44                                                           ` Dmitry Gutov
2021-04-22 17:47                                                             ` Eli Zaretskii
2021-04-22 17:56                                                               ` Dmitry Gutov
2020-12-25 16:01                                           ` Dmitry Gutov
2021-04-23 10:41                                           ` Dmitry Gutov
2021-04-23 10:53                                             ` Eli Zaretskii
2021-04-24  9:56                                               ` Eli Zaretskii
2021-04-24 10:01                                                 ` Dmitry Gutov
2020-12-23 21:10                               ` Juri Linkov
2020-12-24  3:36                                 ` Eli Zaretskii
2020-12-24 21:38                                   ` Dmitry Gutov
2020-12-25  7:37                                     ` Eli Zaretskii
2020-12-25 12:14                                       ` Dmitry Gutov
2020-12-25 13:32                                         ` Eli Zaretskii
2020-12-25 14:49                                           ` Dmitry Gutov
2020-12-25 15:42                                             ` Eli Zaretskii
2020-12-28  0:36                                               ` Dmitry Gutov
2020-12-22  9:24                   ` João Távora
2020-12-11  9:30       ` Juri Linkov
2020-12-11 11:19         ` Dmitry Gutov
2020-12-11 12:08         ` Eli Zaretskii
2020-12-12 20:39           ` Juri Linkov
2020-12-13 15:10             ` Eli Zaretskii
2020-12-13 20:20               ` Juri Linkov
2020-12-13 20:50                 ` João Távora
2020-12-14 16:16                 ` Eli Zaretskii
2020-12-14 16:34                   ` Dmitry Gutov

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=37e41473-08ba-7f5b-125e-74140395df88@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=44611@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=joaotavora@gmail.com \
    --cc=juri@linkov.net \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).