From: "Fumitaka Tokumitsu" <toku345@gmail.com>
To: "Stefan Monnier" <monnier@iro.umontreal.ca>,
ファミマTカード(ポイント)からのお知らせ <p.confirm@ft.family.co.jp>
Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org, dgutov@yandex.ru
Subject: Re: UI inconveniences with M-.
Date: Sat, 02 May 2015 01:35:24 -0700 (PDT) [thread overview]
Message-ID: <1430555724149.e91f702e@Nodemailer> (raw)
In-Reply-To: <jwv1tj0e7j7.fsf-monnier+emacsbugs@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 5883 bytes --]
にた泣かねけあせけかきねはきかきか
—
Sent from Mailbox
On Fri, May 1, 2015 at 11:21 PM, Stefan Monnier <monnier@iro.umontreal.ca>
wrote:
>> If the back-end conceals potentially useful information, it should be
>> fixed not to do so.
> "Conceal" makes it sound like it's ill-intentioned, done on purpose
> or something.
> For (defadvice find-tag ...), the problem is in advice.el.
> Patches welcome, but since this library is on the way out AFAIC, I'd
> recommend you don't bother spending time on it.
>> That you personally find that information always redundant does not
>> mean it's true for everyone else. There's more than one use case for
>> these queries, see below.
> We can't know what the user wants and handle all conceivable scenarios.
> Maybe the user really wants to jump to this chunk of code somewhere that
> does (fset foo bar) and hence ends up overriding the "official"
> definition of the function. But unless you can solve the halting
> problem and read the user's mind at the same time, we'll have to settle
> for something imperfect.
> etags.el also failed miserably in some scenarios which xref/elisp
> handles acceptably. E.g. try C-u M-. diff-mode-abrev-table RET.
>> That's your misunderstanding. I described my user experience from
>> using this new feature; I never said where the fixes should be made,
> Well, you kept insisting that it's not a question of backend, so maybe
> you didn't say where the fixes should go, but you did say where the blame
> should go.
>> Says you. Through my naive-user eyes, filtering 140 hits to provide
>> just a few is perfectly within the capabilities of the UI, at least in
>> principle.
> The 140 hits are just a list of locations. The UI has no fucking clue
> whether these are function definitions or what, nor does it know in
> which language the file is written.
>> IOW, the separation of functionality is in the wrong place. To be
>> useful, some of the "smarts" need to be on the UI side, where user
>> control can be best implemented, and where user intent is known much
>> better.
> The UI has to be agnostic. So the smarts can't be in the UI. The API
> can be extended to provide the extra smarts that the UI might need, of
> course. E.g. we could add to the API a function that sorts/groups the
> entries, so the etags backend can sort them based on "likelyhood" rather
> than group them by file.
>> I very much hope Emacs will continue to be able to support the kind of
>> activities I described above, which AFAIK are very important part of a
>> software developer's job throughout the industry.
> You fail to understand why complaint about etags.el. I'm not
> complaining about `etags', but about the etags.el front-end, which is in
> need of improvement to handle the case where the user is navigating
> several completely different projects and doesn't want one to pollute
> the other one.
>>> I've tried several times to make real use of it, but always found it
>>> completely unpalatable. What with having to build those damn TAGS
>>> files, remember to refresh them, remember where they are, constantly
>>> tell Emacs again where they are, deal with its inability to find the
>>> right spot and having to repeat the "C-u M-." finger gymnastics
>>> umpteen times.
>> Those are exaggerations.
> Partly, yes. I'm just venting my frustration with the tool, and
> pointing out that if xref/elisp (and xref/etags) has some downsides,
> etags.el had its own set of downsides. And some of those shouldn't be
> that hard to fix (tho they would probably be a lot easier if we didn't
> have to worry about annoying some old-time users because they'd have to
> slightly change their habits).
>> Building TAGS is almost instant, even in Emacs,
> The problem is not computer-time but human-time.
>> you need only refresh them very seldom, and Emacs offers the
>> place from which to load them so you don't need to remember.
> If Emacs knows where the file is, the user shouldn't need to be queried.
>> But this, again, is immaterial for this discussion. I hope you will
>> agree that, whatever issues we have with etags, replacing it with
>> something that lacks important functionality is not a good idea.
> As I said, going back to etags.el is not an option.
>> That "little detail" all but invalidates most of my use cases.
> Then don't use that backend. E.g. use xref-etags-mode.
>>> C-u M-. also lets you do loose matching, via completion, if your memory
>>> is failing you.
>> I don't think completion is the right tool for these searches, because
>> the name alone doesn't tell enough.
> Don't pretend you don't know about xref-apropos.
>> See above: you assume that the division of functionality between the
>> UI and the back-ends is at the right place.
> No I don't. I don't assume the API is fixed either. All I assume is
> that the UI can't know about the programming language or about the
> quality of any given answer, or any such thing.
>>> But to me, "find-tag" and "find-tag-tag" are not two different
>>> matches to my request. They're just two completely unrelated
>>> things: either I'm looking for one or I'm looking for the other.
>> Assuming you know what you are looking for, yes. I described a
>> situation that is frequent for me where you generally don't, at least
>> not well enough to be satisfied by a single exact match.
> And that's not what M-. for. For that we have xref-apropos.
>> And therein lies its weakness. I actually don't understand how this
>> kind of assumption could be allowed to exist, when the _default_
> Because this assumption is known to be obtainable, with help from the
> toolchain (the compiler will generally know with 100% certainty the few
> possible definitions matching a particular use).
> Stefan
[-- Attachment #2: Type: text/html, Size: 6781 bytes --]
next prev parent reply other threads:[~2015-05-02 8:35 UTC|newest]
Thread overview: 250+ 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-29 2:41 ` Stefan Monnier
2015-04-29 6:10 ` Helmut Eller
2015-04-29 13:23 ` conflicting uses of next-error-function (was: UI inconveniences with M-.) Stefan Monnier
2015-04-29 16:58 ` conflicting uses of next-error-function Helmut Eller
2015-04-29 17:40 ` Dmitry Gutov
2015-04-29 18:15 ` Helmut Eller
2015-04-29 23:14 ` Dmitry Gutov
2015-04-30 6:19 ` Helmut Eller
2015-04-30 8:04 ` Dmitry Gutov
2015-04-30 17:46 ` Helmut Eller
2015-05-02 23:20 ` Dmitry Gutov
2015-05-03 6:54 ` Helmut Eller
2015-05-03 11:45 ` Dmitry Gutov
2015-05-03 13:25 ` Helmut Eller
2015-05-03 14:12 ` Dmitry Gutov
2015-05-04 22:21 ` Ted Zlatanov
2015-05-05 2:28 ` Dmitry Gutov
2015-05-05 9:47 ` Ted Zlatanov
2015-05-05 14:05 ` Dmitry Gutov
2015-05-05 14:26 ` Ted Zlatanov
2015-04-29 23:05 ` Vitalie Spinu
2015-04-29 23:11 ` Dmitry Gutov
2015-04-29 23:52 ` Vitalie Spinu
2015-04-29 23:15 ` Dmitry Gutov
2015-04-30 6:35 ` Stefan Monnier
2015-04-29 15:26 ` UI inconveniences with M- Vitalie Spinu
2015-04-30 0:44 ` Dmitry Gutov
2015-04-30 0:55 ` Vitalie Spinu
2015-04-29 17:08 ` Dmitry Gutov
2015-04-29 15:44 ` Eli Zaretskii
2015-04-29 15:57 ` Dmitry Gutov
2015-04-29 16:17 ` Eli Zaretskii
2015-04-29 16:25 ` Dmitry Gutov
2015-04-29 16:53 ` Eli Zaretskii
2015-04-29 17:06 ` Dmitry Gutov
2015-04-29 17:15 ` Eli Zaretskii
2015-04-29 17:26 ` Dmitry Gutov
2015-04-29 17:59 ` Eli Zaretskii
2015-04-29 18:10 ` Dmitry Gutov
2015-04-29 21:54 ` Stefan Monnier
2015-04-30 13:42 ` Eli Zaretskii
2015-05-01 14:21 ` Stefan Monnier
2015-05-01 18:32 ` Eli Zaretskii
2015-05-01 21:04 ` Stefan Monnier
2015-05-01 21:13 ` Dmitry Gutov
2015-05-02 7:00 ` Stefan Monnier
2015-05-02 7:18 ` Eli Zaretskii
2015-05-02 8:35 ` Fumitaka Tokumitsu [this message]
2015-05-01 21:11 ` Dmitry Gutov
2015-05-02 8:12 ` Eli Zaretskii
2015-05-02 8:46 ` Fumitaka Tokumitsu
2015-05-02 12:41 ` Dmitry Gutov
2015-05-02 12:57 ` Eli Zaretskii
2015-05-02 13:31 ` Dmitry Gutov
2015-05-02 13:44 ` Eli Zaretskii
2015-05-02 17:44 ` Dmitry Gutov
2015-05-02 8:26 ` Fumitaka Tokumitsu
2015-04-27 22:36 ` bug#19468: 25.0.50; " 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-29 3:13 ` Stefan Monnier
2015-04-29 3:25 ` Dmitry Gutov
2015-04-29 4:15 ` Stefan Monnier
2015-04-27 22:44 ` bug#19468: 25.0.50; " 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 6:59 ` Stefan Monnier
2015-05-02 7:59 ` Helmut Eller
2015-05-02 8:39 ` Eli Zaretskii
2015-05-02 9:09 ` Helmut Eller
2015-05-02 9:24 ` Eli Zaretskii
2015-05-02 9:50 ` Helmut Eller
2015-05-02 18:29 ` Dmitry Gutov
2015-05-02 13:13 ` xref "find references" and grouping Dmitry Gutov
2015-05-02 14:14 ` Helmut Eller
2015-05-02 19:01 ` Dmitry Gutov
2015-05-03 7:47 ` Helmut Eller
2015-05-04 1:35 ` Stefan Monnier
2015-05-04 2:09 ` Dmitry Gutov
2015-05-04 13:10 ` Vitalie Spinu
2015-05-04 14:21 ` Vitalie Spinu
2015-05-04 21:29 ` Dmitry Gutov
2015-05-05 0:02 ` Vitalie Spinu
2015-05-05 0:18 ` Dmitry Gutov
2015-05-05 1:45 ` Vitalie Spinu
2015-05-02 19:10 ` UI inconveniences with M- Dmitry Gutov
2015-05-04 13:41 ` Vitalie Spinu
2015-05-04 21:34 ` Dmitry Gutov
2015-05-05 0:13 ` Vitalie Spinu
2015-05-05 0:14 ` Dmitry Gutov
2015-05-05 1:36 ` Vitalie Spinu
2015-05-05 15:06 ` Dmitry Gutov
2015-05-02 7:39 ` bug#19468: 25.0.50; " 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 3:12 ` Etags.el (was: UI inconveniences with M-.) Stefan Monnier
2015-04-29 15:52 ` Eli Zaretskii
2015-04-29 22:14 ` Etags.el Stefan Monnier
2015-04-29 15:00 ` bug#19468: 25.0.50; UI inconveniences with M- 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1430555724149.e91f702e@Nodemailer \
--to=toku345@gmail.com \
--cc=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=p.confirm@ft.family.co.jp \
/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.