From: Eli Zaretskii <eliz@gnu.org>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: 19468@debbugs.gnu.org
Subject: bug#19468: 25.0.50; UI inconveniences with M-.
Date: Fri, 01 May 2015 21:38:01 +0300 [thread overview]
Message-ID: <83oam4qh2u.fsf@gnu.org> (raw)
In-Reply-To: <554392E2.7080109@yandex.ru>
> Cc: 19468@debbugs.gnu.org
> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Fri, 1 May 2015 17:51:14 +0300
>
> On 05/01/2015 03:57 PM, Eli Zaretskii wrote:
>
> > Sorry, I don't understand what "Elisp environment at runtime" means in
> > practice, or how it's used to affect what results are returned for a
> > query.
>
> find-func knows about defined functions and defined variables.
> elisp-mode knows that a function usually goes after a paren, and a
> variable - after a space (to simplify things).
>
> Thus, elisp-xref-find could narrow the search space based on whether
> there is a paren before the symbol at point (we don't do that, partially
> because the situation is more complicated; but we should, in the
> future). A language-agnostic UI won't ever be able to do so.
A language-agnostic UI could well ask the back-end for variables, or
for functions, or for both, or whatever.
Like I said: some functionality must reside in the back-end, but the
UI must control it, instead of blindly trusting its defaults. When we
blindly trust the defaults of each back-end, we get what triggered
this discussion, because etags' default is to produce a 140-long list
of potential matches, which elisp-mode's xref default is to produce
only one. In most of my use cases, neither is TRT.
> > That's the case where the UI should instruct the back-end what it
> > needs, because the back-end doesn't know which of these alternatives
> > is the right one. If the user wants all bar functions, or maybe those
> > whose parent class matches some regexp, not just the one from the
> > class instance at point, then producing only one match would be wrong,
> > and the UI won't be able to correct that.
>
> If the user calls xref-find-definitions, we consider that to see the
> definition of the function called at point (or definitions, if virtual
> dispatch is unavoidable, such as in case of a Java interface, and there
> are several options), but not more.
We shall never second-guess the user. I already described an
important class of use cases where this assumption is simply wrong.
It shouldn't probably even be the default.
> For more lax matching options, the user will call xref-find-apropos.
It's an annoyance to have to use more than one command for a single
purpose.
next prev parent reply other threads:[~2015-05-01 18:38 UTC|newest]
Thread overview: 161+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-29 20:26 bug#19468: 25.0.50; UI inconveniences with M- Eli Zaretskii
2014-12-30 6:04 ` Dmitry Gutov
2014-12-30 8:19 ` Helmut Eller
2014-12-30 16:00 ` Eli Zaretskii
2014-12-30 17:02 ` Helmut Eller
2014-12-30 17:39 ` Eli Zaretskii
2014-12-30 19:56 ` Dmitry Gutov
2014-12-30 19:38 ` Dmitry Gutov
2014-12-30 22:58 ` Helmut Eller
2015-01-03 21:37 ` Dmitry Gutov
2015-01-04 8:55 ` martin rudalics
2015-01-04 22:51 ` Dmitry Gutov
2015-01-05 7:08 ` martin rudalics
2015-01-06 10:39 ` Dmitry Gutov
2015-04-26 14:56 ` Eli Zaretskii
2015-04-27 4:30 ` Stefan Monnier
2015-04-27 15:07 ` Eli Zaretskii
2015-04-27 17:35 ` Stefan Monnier
2015-04-27 19:26 ` Eli Zaretskii
2015-04-27 21:54 ` Stefan Monnier
2015-04-27 22:45 ` Dmitry Gutov
2015-04-28 14:56 ` Eli Zaretskii
2015-04-28 14:48 ` Eli Zaretskii
2015-04-28 21:00 ` Dmitry Gutov
2015-04-29 15:41 ` Eli Zaretskii
2015-04-29 17:22 ` Dmitry Gutov
2015-04-29 17:58 ` Eli Zaretskii
2015-04-27 22:36 ` Dmitry Gutov
2015-04-27 23:15 ` Stefan Monnier
2015-04-27 23:25 ` Dmitry Gutov
2015-04-28 1:26 ` Stefan Monnier
2015-04-28 1:37 ` Dmitry Gutov
2015-04-28 13:30 ` Stefan Monnier
2015-04-28 21:04 ` Dmitry Gutov
2015-04-27 22:44 ` Dmitry Gutov
2015-04-27 23:19 ` Stefan Monnier
2015-04-28 0:24 ` Dmitry Gutov
2015-04-28 1:34 ` Stefan Monnier
2015-04-28 15:01 ` Eli Zaretskii
2015-04-28 18:47 ` Dmitry Gutov
2015-04-28 14:59 ` Eli Zaretskii
2015-04-28 14:55 ` Eli Zaretskii
2015-04-28 21:33 ` Dmitry Gutov
2015-04-29 15:46 ` Eli Zaretskii
2015-04-29 22:56 ` Dmitry Gutov
2015-04-30 13:48 ` Eli Zaretskii
2015-05-01 2:27 ` Dmitry Gutov
2015-05-01 6:45 ` Eli Zaretskii
2015-05-01 11:27 ` Dmitry Gutov
2015-05-01 12:57 ` Eli Zaretskii
2015-05-01 14:51 ` Dmitry Gutov
2015-05-01 18:38 ` Eli Zaretskii [this message]
2015-05-01 18:44 ` Dmitry Gutov
2015-05-01 19:22 ` Eli Zaretskii
2015-05-01 20:36 ` Dmitry Gutov
2015-05-02 7:39 ` Eli Zaretskii
2015-05-01 18:13 ` Stefan Monnier
2015-04-27 22:09 ` Dmitry Gutov
2015-04-28 14:49 ` Eli Zaretskii
2015-04-28 21:59 ` Dmitry Gutov
2015-04-29 15:46 ` Eli Zaretskii
2015-04-29 22:32 ` Dmitry Gutov
2015-04-27 15:13 ` Eli Zaretskii
2015-04-27 17:21 ` Stefan Monnier
2015-04-27 19:15 ` Eli Zaretskii
2015-04-27 21:42 ` Stefan Monnier
2015-04-27 22:32 ` Dmitry Gutov
2015-04-28 14:55 ` Eli Zaretskii
2015-04-28 22:04 ` Dmitry Gutov
2015-04-29 15:47 ` Eli Zaretskii
2015-04-27 22:25 ` Dmitry Gutov
2015-04-27 22:54 ` Stefan Monnier
2015-04-27 23:15 ` Dmitry Gutov
2015-04-28 1:25 ` Stefan Monnier
2015-04-28 2:15 ` Dmitry Gutov
2015-04-28 13:36 ` Stefan Monnier
2015-04-29 0:24 ` Dmitry Gutov
2015-04-28 15:03 ` Eli Zaretskii
2015-04-28 22:07 ` Dmitry Gutov
2015-04-29 15:47 ` Eli Zaretskii
2015-04-28 14:58 ` Eli Zaretskii
2015-04-28 22:08 ` Dmitry Gutov
2015-04-28 0:01 ` Drew Adams
2015-04-28 14:57 ` Eli Zaretskii
2015-04-29 15:00 ` Vitalie Spinu
2015-04-29 15:25 ` Dmitry Gutov
2015-04-29 16:01 ` Vitalie Spinu
2015-04-29 22:02 ` Stefan Monnier
2015-04-29 16:11 ` Eli Zaretskii
2015-04-28 14:52 ` Eli Zaretskii
2015-04-28 22:28 ` Dmitry Gutov
2015-04-29 15:48 ` Eli Zaretskii
2015-04-29 17:43 ` Dmitry Gutov
2015-04-29 18:03 ` Eli Zaretskii
2015-05-02 0:08 ` Dmitry Gutov
2015-05-02 6:42 ` Eli Zaretskii
2015-05-02 10:23 ` Dmitry Gutov
2015-05-02 11:24 ` Eli Zaretskii
2015-05-02 12:07 ` Dmitry Gutov
2015-05-02 12:46 ` Eli Zaretskii
2015-05-02 7:10 ` Eli Zaretskii
2015-05-02 10:11 ` Dmitry Gutov
2015-05-02 11:16 ` Eli Zaretskii
2015-05-02 11:45 ` Eli Zaretskii
2015-05-02 12:16 ` Dmitry Gutov
2015-05-02 12:49 ` Eli Zaretskii
2015-05-02 13:04 ` Dmitry Gutov
2015-05-03 14:44 ` Eli Zaretskii
2015-05-02 12:01 ` Dmitry Gutov
2015-05-02 12:45 ` Eli Zaretskii
2015-05-02 13:42 ` Dmitry Gutov
2015-05-02 14:13 ` Eli Zaretskii
2015-05-02 17:41 ` Dmitry Gutov
2015-05-02 18:45 ` Eli Zaretskii
2015-05-02 19:17 ` Dmitry Gutov
2015-05-02 19:45 ` Eli Zaretskii
2015-05-02 20:06 ` Dmitry Gutov
2015-05-02 13:41 ` Eli Zaretskii
2015-05-02 17:35 ` Dmitry Gutov
2015-05-04 14:48 ` Eli Zaretskii
2015-04-27 22:15 ` Dmitry Gutov
2015-04-28 14:50 ` Eli Zaretskii
2015-04-28 22:15 ` Dmitry Gutov
2015-04-29 15:48 ` Eli Zaretskii
2015-04-29 17:42 ` Dmitry Gutov
2015-04-27 22:02 ` Dmitry Gutov
2015-04-27 23:47 ` Dmitry Gutov
2015-04-28 15:00 ` Eli Zaretskii
2015-04-28 23:24 ` Dmitry Gutov
2015-04-29 15:49 ` Eli Zaretskii
2015-04-29 23:03 ` Dmitry Gutov
2015-04-30 13:49 ` Eli Zaretskii
2014-12-30 15:41 ` Eli Zaretskii
2014-12-30 20:26 ` Dmitry Gutov
2015-01-04 23:52 ` Dmitry Gutov
2015-01-05 19:43 ` Eli Zaretskii
2014-12-30 17:03 ` Stefan Monnier
2014-12-30 17:11 ` Dmitry Gutov
2014-12-30 17:43 ` Eli Zaretskii
2014-12-30 17:49 ` Dmitry Gutov
2014-12-30 18:01 ` Eli Zaretskii
2014-12-30 17:25 ` Helmut Eller
2014-12-30 18:08 ` Stefan Monnier
2014-12-30 17:41 ` Eli Zaretskii
2014-12-30 17:50 ` Helmut Eller
2014-12-30 17:58 ` Eli Zaretskii
2014-12-30 18:08 ` Dmitry Gutov
2014-12-30 17:53 ` Dmitry Gutov
2014-12-30 18:00 ` Eli Zaretskii
2014-12-30 18:01 ` Helmut Eller
2014-12-30 18:13 ` Eli Zaretskii
2014-12-30 18:20 ` Helmut Eller
2014-12-30 18:27 ` Eli Zaretskii
2014-12-30 18:33 ` Helmut Eller
2014-12-30 18:38 ` Eli Zaretskii
2014-12-30 18:53 ` Helmut Eller
2014-12-30 19:33 ` Eli Zaretskii
2014-12-30 18:33 ` Dmitry Gutov
2016-02-21 23:00 ` Dmitry Gutov
2016-02-22 17:18 ` Eli Zaretskii
2016-02-22 21:15 ` 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=83oam4qh2u.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=19468@debbugs.gnu.org \
--cc=dgutov@yandex.ru \
/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).