unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Stefan Monnier <monnier@IRO.UMontreal.CA>
Cc: dgutov@yandex.ru, 19468@debbugs.gnu.org
Subject: bug#19468: 25.0.50; UI inconveniences with M-.
Date: Mon, 27 Apr 2015 22:26:40 +0300	[thread overview]
Message-ID: <83k2wxwexb.fsf@gnu.org> (raw)
In-Reply-To: <jwvvbgh5vve.fsf-monnier+emacsbugs@gnu.org>

> From: Stefan Monnier <monnier@IRO.UMontreal.CA>
> Cc: dgutov@yandex.ru, 19468@debbugs.gnu.org
> Date: Mon, 27 Apr 2015 13:35:25 -0400
> 
> >> I don't understand exactly the scenario you're talking about.  Can you
> >> give a recipe?
> >
> > Yes:
> >
> >   emacs -Q
> >   C-x C-f lisp/simple.el RET
> >   M-. find-tag RET
> >
> > This puts you at the first line of find-tag, without showing the other
> > possible symbols whose names contain "find-tag" as their substring.
> 
> Yes, that's the expected behavior, and matches the behavior of Emacs-24.

Emacs 24 also had "C-u M-." to go to the next one.  This one doesn't;
moreover, if you try "C-u M-.", you get prompted for the symbol again,
and if you type the same one, you get nowhere.  The other matches are
only available via completion, see below.

> Is that a behavior you like or a behavior you dislike?

It's surprising, since I expected to see the *xref* buffer, as I
understood this is the core of the new UI.  But it sounds like the
back-end can easily affect the UI in radical ways, which I think is
not a good thing: the entire idea of the back-end means to me that the
front-end is not affected, UI-wise.

> > By contrast, this:
> >
> >   emacs -Q
> >   C-x C-f lisp/simple.el RET
> >   M-x load-library RET xref RET
> >   M-x xref-etags-mode RET
> >   M-. find-tag RET
> >
> > does NOT show the definition of find-tag, but instead opens an *xref*
> > buffer with possible matches, and expects you to pick one of them (and
> 
> Indeed, one of the differences in the new UI is that we don't have the
> "C-u M-. lets you cycle among matches" any more.  Instead we pop up an
> *xref* buffer where you can choose the match that interests you.  I find
> this easier (and generally faster) to use.

OK, but then why aren't we shown *xref* in the first case?

> > But it's confusing to have such evident differences just because you
> > changed the back-end, I think.
> 
> But popping up the *xref* buffer when there's only one element in it
> doesn't make much sense I think.

Oh, but there shouldn't be only one element: you will see the others
if you type TAB instead of RET.  IOW, the elisp-mode back-end does
know about the other candidates, it just doesn't show them in *xref*.
It somehow decided for me that I want only the exact match.

And btw, there is another confusing difference between these back-ends
that somehow bubbles up to the UI level: the elisp-mode back-end only
supports finding multiple matches via completion, and completion, at
least by default, only finds candidates whose leading substring
matches what you type.  By contrast, the *xref* buffer popped when the
etags back-end is in use shows substring matches _anywhere_ in the
symbol names, so it shows much more candidates.





  reply	other threads:[~2015-04-27 19:26 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 [this message]
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
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=83k2wxwexb.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=19468@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    --cc=monnier@IRO.UMontreal.CA \
    /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).