From: "Fumitaka Tokumitsu" <toku345@gmail.com>
To: "Eli Zaretskii" <eliz@gnu.org>
Cc: emacs-devel@gnu.org, monnier@iro.umontreal.ca,
Dmitry Gutov <dgutov@yandex.ru>
Subject: Re: UI inconveniences with M-.
Date: Sat, 02 May 2015 01:46:34 -0700 (PDT) [thread overview]
Message-ID: <1430556393960.5aca91aa@Nodemailer> (raw)
In-Reply-To: <83zj5npfcp.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 6401 bytes --]
こなた
やなまかわ
おたかたけ
ま
—
Sent from Mailbox
On Sat, May 2, 2015 at 5:14 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> Cc: emacs-devel@gnu.org
>> From: Dmitry Gutov <dgutov@yandex.ru>
>> Date: Sat, 2 May 2015 00:11:28 +0300
>>
>> > If I wanted to talk about the code, I'd say something like
>> > "this-and-that function does wrong things because of so-and-so".
>>
>> I think both I and Stefan very much wanted you to look at the actual
>> code here. It's much easier to make demands on functionality than to
>> propose a clean and modular design.
> One person can only do so much, given her free time, and can only be
> an expert in so many fields. When you or Stefan report a problem with
> the display engine, or in some other area where I know enough, I don't
> ask for a design before I start working on it. In this case, all I
> have to offer is user experience, some requirements for what I
> consider to be a good solution, and some general guidelines for such a
> solution (which I only provided in response to repeated demands to do
> so). If that is not useful, perhaps we should revise our instructions
> for bug reporting.
> IOW, I was reporting problems in an area where I know very little. I
> don't think it's fair to demand that I provide, let alone code, a
> solution, as a prerequisite for acting on my report. I think the job
> of making the feature better in response to bug reports is the job of
> those who worked on the feature to begin with, and thus have intimate
> knowledge of the design and the implementation.
>> > 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.
>>
>> That is, of course, possible. But then we'll need to define some
>> universal language-arnostic metadata that the UI would use to operate.
> I think this kind of universal metadata is very much clear and mostly
> already supported. After all, Emacs has been doing this kind of jobs
> for a very long time, which is why we have notions like e.g. "symbols",
> which each language defines differently.
>> > It sounds more and more like it could be the fault of the design, and
>> > specifically of how functionality is divided between the back-end and
>> > the UI. Let me elaborate.
>> >
>> > <...>
>> > To me, this means that separating the back-ends from the UI while
>> > leaving the UI "dumb" is basically unworkable, because such a
>> > separation does not really separate anything: there will still be a
>> > very high degree of coherency and cohesion between the two parts. Or
>> > maybe there will only be one usable back-end, and the rest will
>> > bit-rot.
>>
>> Sorry, all I see here is a lot of conjecture.
> Of course it is. What else did you expect from a bystander who wasn't
> involved in the design and implementation?
> It is up to you to do whatever you want with this conjecture. Some
> people pay a lot of money to get my conjectures in this and similar
> fields. You get it for free.
>> The current implementations took not a lot of code, and they work
>> well enough.
> That's not an evidence of the design validity, not IME. This feature
> is with us for too short time to be able to draw conclusions about its
> design. At least it "didn't work well enough" for me, which is a sign
> that it isn't perfect. And you already made quite a few changes based
> on my experience. I think it might be a good time to step back and
> review those changes, looking for some more fundamental issues that
> might benefit from some redesign. I don't know what you will find, if
> you do that, but I do know that if you continue to insist that the
> design is perfect, you will never see its flaws, if they exist.
>> By the way, CEDET has had a similar feature for a while (try `M-x
>> semantic-mode', then `C-c , G' on some function, in a C file). Arguably,
>> even with a better interface.
>>
>> Any reason why you haven't been using it?
> Partly because CEDET is too heavyweight for most of my needs, and
> partly because I simply didn't have enough time to learn it.
>> > And I'm not even sure your ideas of how to solve that "little detail"
>> > are workable, because of the potentially adverse consequences of
>> > loading code you don't actually need (or want) to execute. What if
>> > the code is buggy, or dangerous, or simply does things you don't want
>> > to be done in your Emacs session?
>>
>> That's a valid concern, but you'd have to read that kind of project from
>> top to bottom first. Then you can load it and proceed to use the
>> navigation functions.
> That's impossible. I'm talking about projects whose line counts are
> in hundreds of thousands, sometimes millions. You cannot read such
> project from top to bottom, when all you need to do is fix some bug or
> find the reason for some particular behavior: you will never make your
> deadline. Using the tools I'm talking about is the only way to find
> the _relevant_ places which you do need to read and understand.
> IOW, your methodology would put the cart before the horse, in these
> use cases.
>> > I don't know what that means, and don't know enough about JDEE to talk
>> > about it. In any case, Java is not a "classic" compiled language, as
>> > a Jave development environment is generally capable of running the
>> > code in an interpreter.
>>
>> There are several ones for C, example:
>> http://www.drdobbs.com/cpp/ch-a-cc-interpreter-for-script-computing/184402054
>>
>> Not that it has any relevance to the xref backend interface.
> Then why bring it up?
>> > See above: you assume that the division of functionality between the
>> > UI and the back-ends is at the right place. I'm not so sure. If I'm
>> > right, then when more back-ends come, we will see more problems, not
>> > less.
>>
>> That's conjecture again.
> And I have some gray heir to back it up with. I have learned from
> long experience that good design is frequently backed up by intuition
> and "conjecture". I'm not necessarily saying I'm right in this case,
> but what if I am? Shouldn't you at least consider that, instead of
> rejecting it flatly as "conjecture" and sticking to the original
> design as if it were a scripture?
[-- Attachment #2: Type: text/html, Size: 7417 bytes --]
next prev parent reply other threads:[~2015-05-02 8:46 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
2015-05-01 21:11 ` Dmitry Gutov
2015-05-02 8:12 ` Eli Zaretskii
2015-05-02 8:46 ` Fumitaka Tokumitsu [this message]
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=1430556393960.5aca91aa@Nodemailer \
--to=toku345@gmail.com \
--cc=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--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 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.