unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: juri@linkov.net, joaotavora@gmail.com, 44611@debbugs.gnu.org
Subject: bug#44611: Prefix arg for xref-goto-xref
Date: Fri, 25 Dec 2020 15:32:51 +0200	[thread overview]
Message-ID: <834kkanh8c.fsf@gnu.org> (raw)
In-Reply-To: <c0169786-7a72-6800-b1c1-57f196bfd628@yandex.ru> (message from Dmitry Gutov on Fri, 25 Dec 2020 14:14:30 +0200)

> Cc: juri@linkov.net, joaotavora@gmail.com, 44611@debbugs.gnu.org
> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Fri, 25 Dec 2020 14:14:30 +0200
> 
> > Then why do we need to have 2 separate modes?
> 
> Well, Grep (and similar major modes people wrote in third-part packages) 
> do have a certain advantage: its execution is asynchronous, and the user 
> sees the results as soon as they arrive, even during a search over a 
> huge number of files. This can be implemented for xref, with certain 
> changes in the API, and with some use of threads, but that's still a 
> research problem.

I'm probably missing something: why cannot we display the Grep hits
received asynchronously in the Xref format?  That would "just" mean
changes in the filter function, right?  IOW, I'm confused by your
reference to asynchronous execution, which AFAIU has nothing to do
with the form in which we present the results, nor with the major mode
in which we put the buffer where the results are displayed.

> > Are there any plans for
> > replacing grep-mode with xref-mode in all the commands that use the
> > former?
> 
> I think we'd need a more concerted effort for something like that, 
> rather than just myself. To get such volunteers, making the current Grep 
> users even more satisfied with the current state of 
> xref--xref-buffer-mode is a good step, with much upside and really no 
> downside (at least to a point where we'd have to compromise on the design).
> 
> I can outline a possible roadmap for improving xref, making its code 
> structure and data more logical (which includes moving some of them 
> out), but I don't think we'll throw out 'M-x grep' away anytime soon.

We don't need to throw out Grep, not right away anyway.  We just need
a plan and a roadmap, and a decision that this is the long-term goal.
And even when we have "M-x grep" showing results in Xref mode, it will
still need at first be an optional feature, so people who are too used
to the old presentation could have it.

> Changing the latter to use the xref UI (which will have to be renamed 
> and become a separate package, BTW) is also likely to encounter much 
> bigger resistance than anything we've done in this area before: people 
> don't have the same expectations for new commands as they have for 
> existing ones, so I'm surprised you asked this (given your overall 
> backward compatibility stance, much stronger than mine).

An optional feature cannot hurt, even if and when it becomes the
default.  Thus, there's no need for me to object to such long-term
plans, if they are announced and proceed at a controlled pace
(including the decision when it becomes the default).

> > Do we also want to replace compilation-mode with xref-mode?
> 
> That wouldn't work.

I don't understand why.  Can you explain?

To clarify, all I'm talking about is a possibility to present compiler
messages in Xref format.  They are similar enough and show the same
information, so why won't that work?

> > If the plan is to make such replacements, that could be a good idea,
> > and we can discuss the roadmap towards that goal.  Such a roadmap
> > should include a transition plan that will help people migrate as
> > painlessly as possible, including the key bindings and the somewhat
> > different looks.
> 
> It's a big change, one I'm not at all confident we could manage before 
> Emacs 28 is released.

It doesn't all have to happen in Emacs 28.

> Do you really want this to happen, though?

I don't know, I just had this thought and wanted to see what others
think.  However, if that isn't the plan, then I really don't
understand the urge to make Xref be like Grep mode.  If they are
indeed different beasts, why make them similar?

> I never got the impression that you enjoy using xref.

Aside of the fact that I use it every hour of every day, you mean?





  reply	other threads:[~2020-12-25 13:32 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
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 [this message]
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=834kkanh8c.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=44611@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    --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).