From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Eli Zaretskii <eliz@gnu.org>
Cc: tomas@tuxteam.de, rms@gnu.org, emacs-devel@gnu.org
Subject: Re: [ELPA] New package: transient
Date: Sat, 02 May 2020 16:39:57 -0400 [thread overview]
Message-ID: <jwvd07mozjd.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <83v9leqmss.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 02 May 2020 20:17:07 +0300")
>> >> Typical examples: is it `multibyte-string-p` or `string-multibyte-p`,
>> >> `file-name-absolute-p` or `absolute-file-name-p`, ... ?
>> > Then "C-u C-h a WORDS..." is your friend.
>> Nope, way too slow.
> Is that the only problem? then let's speed it up, and Bob's our uncle.
When I say "slow" I measure the time in number of hand movements.
I'm in the middle of writing code, I might have already written `str`
even and now I'd have to do `C-u C-h a str mul RET` and that will only
display the answer, I still have to find it in the list and then arrange
for it to make its way to my buffer.
Compared to `-mul TAB`, I can't see any way the `C-h` route could be
even remotely competitive.
>> I shouldn't have to do anything more than `str-mul TAB`.
> If you remembered the function's name, yes. But that's not the use
> case we are discussing here.
I remember it's a string manipulating function and it has "multibyte"
in its name, so `str-mul` *should* find it (along with a few other
candidates, probably), even if I can't remember the whole name.
>> >> Yes, we can try and improve completion, but we have a real underlying
>> >> problem of irregular naming and completion would just help us paper
>> >> over it.
>> > The command "C-u C-h d regexp RET" brings up 111 matching functions.
>> > Who will have patience looking through that list, unless the likely
>> > candidates are near the beginning?
>> IIUC that means you agree with my argument?
> Of course not! I'm saying that "regular naming" will increase the
> length of the candidate list.
No, because it lets you use a more targeted (non-substring) matching, so
you'll have much fewer matches.
Having a bit more or a bit less than 111 matches makes no difference: as
you say "who will have patience looking through that list"? You need to
narrow down that list and the only way to do it (short of removing
existing functions) is to use a less permissive matching.
> The prefix convention we impose has almost nothing to do with the
> issue at hand, because the package's name in many (most?) cases says
> nothing about its domain of application. E.g., take message.el or
> tmm.el or windmove.el or tempo.el or xdg.el, to name just a few random
> examples.
That's only unhelpful in the case where you don't know the relevant
prefix name. In such a situation, you definitely need to resort to some
kind of manual to find your way to relevant library.
A regular/structured naming system doesn't help for that, but it helps
afterwards: once you know under which prefix things should be found,
then you can find the relevant function more easily.
>> It's not a new opinion, BTW: I started doing that back in Emacs-21 with
>> the newcomment.el package which tried to stick to the "comment-" prefix
>> even for things which previously used a different name.
> Beginner's luck. Occasionally, this could just happen to work, when
> the package's name happens to say something about its purpose. But
> mostly it doesn't, as packages like the one whose name is in the
> Subject clearly demonstrate.
No, the actual name is irrelevant to my argument. What is relevant is
that the *same* name is used, so the functions are grouped together in
the namespace.
Stefan "who finds this discussion enlightening, because he took
it for granted that everyone knows that such structuring
is *obviously* good (tho not necessarily always best)."
next prev parent reply other threads:[~2020-05-02 20:39 UTC|newest]
Thread overview: 238+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-28 13:01 [ELPA] New package: transient Jonas Bernoulli
[not found] ` <jwv4kt3d1r8.fsf-monnier+emacs@gnu.org>
[not found] ` <87v9ljo5d0.fsf@bernoul.li>
[not found] ` <jwvh7x3bfoe.fsf-monnier+emacs@gnu.org>
[not found] ` <87ftcnxu5m.fsf@bernoul.li>
2020-04-29 8:29 ` Philippe Vaucher
2020-04-29 9:26 ` Eli Zaretskii
2020-04-29 9:50 ` Philippe Vaucher
2020-04-29 10:05 ` Eli Zaretskii
2020-04-29 10:17 ` tomas
2020-04-29 10:33 ` Eli Zaretskii
2020-04-29 10:52 ` tomas
2020-04-30 12:44 ` Arthur Miller
2020-04-30 13:28 ` tomas
2020-04-30 14:26 ` Namespacing Emacs's core (was: [ELPA] New package: transient) Stefan Monnier
2020-04-30 15:08 ` tomas
2020-04-30 18:23 ` Philippe Vaucher
2020-04-30 18:56 ` Philippe Vaucher
2020-04-30 19:02 ` tomas
2020-04-30 2:30 ` [ELPA] New package: transient Richard Stallman
2020-05-01 2:49 ` Richard Stallman
2020-05-01 6:33 ` Eli Zaretskii
2020-05-02 2:24 ` Richard Stallman
2020-05-02 7:04 ` Eli Zaretskii
2020-05-02 8:09 ` Philippe Vaucher
2020-05-02 9:05 ` Eli Zaretskii
2020-05-02 9:19 ` Eli Zaretskii
2020-05-02 10:11 ` Philippe Vaucher
2020-05-02 10:33 ` Eli Zaretskii
2020-05-02 10:56 ` Philippe Vaucher
2020-05-02 10:59 ` Philippe Vaucher
2020-05-02 11:09 ` Use elisp--xref-backend in *Apropos* and *Help* (Was Re: [ELPA] New package: transient) João Távora
2020-05-02 14:03 ` Stefan Monnier
2020-05-03 2:08 ` Dmitry Gutov
2020-05-02 11:22 ` [ELPA] New package: transient Eli Zaretskii
2020-05-02 11:52 ` Philippe Vaucher
2020-05-02 12:08 ` Eli Zaretskii
2020-05-02 12:09 ` 조성빈
2020-05-02 12:14 ` Eli Zaretskii
2020-05-02 12:22 ` 조성빈
2020-05-02 12:54 ` Eli Zaretskii
2020-05-02 17:33 ` Drew Adams
2020-05-04 3:07 ` Richard Stallman
2020-05-04 16:04 ` Drew Adams
2020-05-02 9:53 ` Philippe Vaucher
2020-05-02 10:39 ` João Távora
2020-05-02 11:10 ` Philippe Vaucher
2020-05-02 11:17 ` João Távora
2020-05-02 11:39 ` Philippe Vaucher
2020-05-02 12:02 ` João Távora
2020-05-02 12:11 ` 조성빈
2020-05-02 12:20 ` João Távora
2020-05-02 12:36 ` 조성빈
2020-05-02 12:59 ` João Távora
2020-05-02 13:02 ` Eli Zaretskii
2020-05-02 13:12 ` João Távora
2020-05-02 12:28 ` tomas
2020-05-02 12:22 ` tomas
2020-05-03 3:43 ` Richard Stallman
2020-05-03 4:24 ` Stefan Monnier
2020-05-04 3:08 ` Richard Stallman
2020-05-02 17:48 ` Drew Adams
2020-05-02 14:50 ` Dmitry Gutov
2020-05-02 14:57 ` João Távora
2020-05-02 17:42 ` Drew Adams
2020-05-02 10:54 ` Eli Zaretskii
2020-05-02 11:47 ` Philippe Vaucher
2020-05-02 12:04 ` Eli Zaretskii
2020-05-02 14:56 ` Dmitry Gutov
2020-05-02 15:37 ` Eli Zaretskii
2020-05-02 15:51 ` Dmitry Gutov
2020-05-02 16:09 ` Eli Zaretskii
2020-05-02 13:59 ` Stefan Monnier
2020-05-02 14:10 ` Philippe Vaucher
2020-05-02 14:12 ` Eli Zaretskii
2020-05-02 14:26 ` Philippe Vaucher
2020-05-02 15:29 ` Eli Zaretskii
2020-05-02 15:43 ` Philippe Vaucher
2020-05-02 16:05 ` Eli Zaretskii
2020-05-02 16:12 ` Philippe Vaucher
2020-05-02 16:26 ` Eli Zaretskii
2020-05-02 16:42 ` Philippe Vaucher
2020-05-02 18:27 ` Drew Adams
2020-05-03 3:43 ` Richard Stallman
2020-05-03 7:47 ` Philippe Vaucher
2020-05-03 19:46 ` Drew Adams
2020-05-03 21:18 ` Stefan Monnier
2020-05-03 22:04 ` João Távora
2020-05-04 0:41 ` Drew Adams
2020-05-04 3:09 ` Richard Stallman
2020-05-02 16:48 ` Stefan Monnier
2020-05-02 17:17 ` Eli Zaretskii
2020-05-02 18:10 ` 조성빈
2020-05-02 18:30 ` Eli Zaretskii
2020-05-02 18:37 ` 조성빈
2020-05-02 18:45 ` Eli Zaretskii
2020-05-02 19:12 ` 조성빈
2020-05-02 19:44 ` Drew Adams
2020-05-02 18:32 ` Yuan Fu
2020-05-02 20:41 ` Stefan Monnier
2020-05-02 20:39 ` Stefan Monnier [this message]
2020-05-02 21:00 ` João Távora
2020-05-02 21:53 ` Drew Adams
2020-05-02 22:13 ` João Távora
2020-05-04 3:07 ` Richard Stallman
2020-05-02 21:27 ` Philippe Vaucher
2020-05-03 14:45 ` Eli Zaretskii
2020-05-03 15:03 ` João Távora
2020-05-03 15:11 ` Joost Kremers
2020-05-03 15:28 ` C-h f and C-h v (was: [ELPA] New package: transient) Stefan Monnier
2020-05-03 17:41 ` João Távora
2020-05-03 17:44 ` João Távora
2020-05-03 16:21 ` [ELPA] New package: transient Eli Zaretskii
2020-05-03 15:17 ` Stefan Monnier
2020-05-03 16:32 ` Eli Zaretskii
2020-05-03 21:13 ` Stefan Monnier
2020-05-04 13:52 ` Eli Zaretskii
2020-05-04 15:14 ` Stefan Monnier
2020-05-04 15:55 ` Eli Zaretskii
2020-05-04 18:41 ` Stefan Monnier
2020-05-04 18:58 ` Eli Zaretskii
2020-05-03 16:23 ` Dmitry Gutov
2020-05-03 16:47 ` Eli Zaretskii
2020-05-03 17:04 ` Dmitry Gutov
2020-05-03 17:29 ` Eli Zaretskii
2020-05-03 17:42 ` Dmitry Gutov
2020-05-03 18:58 ` Eli Zaretskii
2020-05-04 0:04 ` Dmitry Gutov
2020-05-03 19:49 ` João Távora
2020-05-03 23:47 ` Dmitry Gutov
2020-05-04 1:01 ` João Távora
2020-05-04 1:28 ` Dmitry Gutov
2020-05-04 18:05 ` João Távora
2020-05-04 14:24 ` Eli Zaretskii
2020-05-04 15:23 ` Stefan Monnier
2020-05-04 16:00 ` Eli Zaretskii
2020-05-04 17:31 ` Drew Adams
2020-05-04 1:13 ` Jean-Christophe Helary
2020-05-04 14:22 ` Eli Zaretskii
2020-05-05 8:23 ` Jean-Christophe Helary
2020-05-05 14:48 ` Eli Zaretskii
2020-05-05 15:39 ` Jean-Christophe Helary
2020-05-05 16:13 ` Eli Zaretskii
2020-05-05 16:33 ` Jean-Christophe Helary
2020-05-05 15:44 ` Jean-Christophe Helary
2020-05-05 16:15 ` Eli Zaretskii
2020-05-05 16:40 ` Jean-Christophe Helary
2020-05-05 8:27 ` Jean-Christophe Helary
2020-05-03 21:04 ` Stefan Monnier
2020-05-04 13:51 ` Eli Zaretskii
2020-05-03 16:50 ` João Távora
2020-05-03 16:54 ` Eli Zaretskii
2020-05-03 17:43 ` João Távora
2020-05-04 3:08 ` Richard Stallman
2020-05-02 18:57 ` Drew Adams
2020-05-02 19:15 ` 조성빈
2020-05-02 19:59 ` Drew Adams
2020-05-02 20:47 ` Stefan Monnier
2020-05-02 14:22 ` João Távora
2020-04-29 13:12 ` Philippe Vaucher
2020-04-29 13:42 ` tomas
2020-04-29 13:50 ` Philippe Vaucher
2020-04-29 17:03 ` Robert Pluim
2020-04-29 19:25 ` Philippe Vaucher
2020-04-29 17:51 ` Clément Pit-Claudel
2020-04-29 19:24 ` Philippe Vaucher
2020-04-29 13:53 ` Stefan Kangas
2020-04-29 14:01 ` tomas
2020-04-29 14:20 ` Eli Zaretskii
2020-04-29 15:25 ` Philippe Vaucher
2020-04-30 18:13 ` Dmitry Gutov
2020-04-30 18:19 ` Philippe Vaucher
2020-04-30 18:41 ` Dmitry Gutov
2020-04-30 19:26 ` Philippe Vaucher
2020-04-30 19:34 ` Philippe Vaucher
2020-04-30 22:47 ` Dmitry Gutov
2020-04-30 22:20 ` Dmitry Gutov
2020-05-01 3:13 ` Stefan Monnier
2020-05-01 3:15 ` Stefan Monnier
2020-05-01 15:36 ` Dmitry Gutov
2020-05-01 16:05 ` Philippe Vaucher
2020-05-02 2:27 ` Richard Stallman
2020-05-02 7:07 ` Eli Zaretskii
2020-05-02 8:06 ` Philippe Vaucher
2020-05-02 17:08 ` Drew Adams
2020-04-30 19:31 ` Stefan Monnier
2020-04-29 17:27 ` Alan Mackenzie
2020-04-29 19:01 ` tomas
2020-04-29 19:31 ` Philippe Vaucher
2020-04-30 11:51 ` Alan Mackenzie
2020-04-30 12:38 ` tomas
2020-04-30 17:30 ` Dmitry Gutov
2020-04-30 17:53 ` Philippe Vaucher
2020-04-30 18:42 ` tomas
2020-04-30 18:41 ` tomas
2020-04-30 18:14 ` Philippe Vaucher
2020-04-30 18:58 ` tomas
2020-04-30 19:13 ` Philippe Vaucher
2020-04-30 19:33 ` tomas
2020-04-30 20:54 ` Alan Mackenzie
2020-04-30 22:46 ` chad
2020-05-02 2:27 ` Richard Stallman
2020-05-01 8:23 ` Philippe Vaucher
2020-05-02 2:24 ` Richard Stallman
2020-04-30 22:04 ` Keeping it kind Clément Pit-Claudel
2020-05-01 7:17 ` tomas
2020-05-01 8:31 ` Philippe Vaucher
2020-05-02 2:24 ` Richard Stallman
2020-05-02 2:27 ` Richard Stallman
2020-05-01 2:51 ` [ELPA] New package: transient Richard Stallman
2020-04-29 20:02 ` Clément Pit-Claudel
2020-04-30 1:08 ` Stefan Monnier
2020-04-29 13:19 ` Philippe Vaucher
2020-04-29 14:28 ` Eli Zaretskii
2020-04-29 14:51 ` Eli Zaretskii
2020-04-30 2:28 ` Richard Stallman
2020-04-29 13:32 ` Stefan Monnier
2020-04-29 13:43 ` Philippe Vaucher
2020-04-29 14:17 ` Yuan Fu
2020-04-29 14:19 ` Yuan Fu
2020-04-30 2:28 ` Richard Stallman
2020-04-29 15:31 ` Eli Zaretskii
2020-04-29 15:48 ` Stefan Monnier
2020-04-29 16:05 ` Drew Adams
2020-05-01 17:38 ` João Távora
2020-05-01 18:03 ` Stefan Monnier
2020-04-30 2:30 ` Richard Stallman
2020-04-29 14:56 ` Drew Adams
2020-04-29 12:52 ` Adam Porter
2020-04-30 2:29 ` Richard Stallman
2020-04-30 10:50 ` Phil Sainty
2020-05-01 2:52 ` Richard Stallman
2020-05-01 5:36 ` Phil Sainty
2020-05-02 2:25 ` Richard Stallman
2020-05-02 2:30 ` T.V Raman
2020-05-01 10:40 ` Kévin Le Gouguec
2020-05-01 15:16 ` Clément Pit-Claudel
2020-05-02 2:24 ` Richard Stallman
-- strict thread matches above, loose matches on Subject: below --
2020-04-30 11:43 Zhu Zihao
[not found] <<87368npxw4.fsf@bernoul.li>
[not found] ` <<jwv4kt3d1r8.fsf-monnier+emacs@gnu.org>
[not found] ` <<87v9ljo5d0.fsf@bernoul.li>
[not found] ` <<jwvh7x3bfoe.fsf-monnier+emacs@gnu.org>
[not found] ` <<87ftcnxu5m.fsf@bernoul.li>
[not found] ` <<CAGK7Mr52_xBMYnPTO4XZ5EqvMji0pKD_YmqKHQzVo2HMCXd0KA@mail.gmail.com>
[not found] ` <<83y2qezlpd.fsf@gnu.org>
[not found] ` <<CAGK7Mr57NeMeXk5kT4fqPUGP_C1y9g8XfL8S4oXN=w=Hy8MJEA@mail.gmail.com>
[not found] ` <<83tv12zjx1.fsf@gnu.org>
[not found] ` <<CAGK7Mr7i6uMH1JRnj2E1hY5vSwiGkVwQARLHq0Q_wMn7aBKP9Q@mail.gmail.com>
[not found] ` <<837dxyz83p.fsf@gnu.org>
[not found] ` <<CAGK7Mr50tQ+DeWvxT7O6E7Pm0jg7TFCxhS-iMeW03pgBcp8Lhw@mail.gmail.com>
[not found] ` <<978f970b-b5c2-bd83-39da-f632d069d7d5@yandex.ru>
[not found] ` <<CAGK7Mr5-sYDJBWxeSE6VoAJkYxLgffDkJPRv9g7cd9qME0nLEw@mail.gmail.com>
[not found] ` <<98ab19cf-680b-9cd2-7c42-89dd0b2f470a@yandex.ru>
[not found] ` <<CAGK7Mr5Qu-4iKvZuWmA0uswUrmZYgQmv4Dw=CibRjwUk1PggUw@mail.gmail.com>
[not found] ` <<E1jUhsZ-0006mV-Rb@fencepost.gnu.org>
[not found] ` <<83y2qau86i.fsf@gnu.org>
2020-05-02 16:51 ` Drew Adams
[not found] ` <<20200429101755.GF24737@tuxteam.de>
[not found] ` <<E1jTyxu-0008FM-LM@fencepost.gnu.org>
[not found] ` <<E1jULk7-0007ZA-OQ@fencepost.gnu.org>
[not found] ` <<838sicw4do.fsf@gnu.org>
[not found] ` <<E1jUhpj-00064u-VY@fencepost.gnu.org>
[not found] ` <<83zhaqu89z.fsf@gnu.org>
[not found] ` <<CAGK7Mr48xznD4uc0zxDRqUrYGbsWU4dg2t_CfnpKipzV7_-xbg@mail.gmail.com>
[not found] ` <<83sggiu2p9.fsf@gnu.org>
2020-05-02 17:16 ` Drew Adams
[not found] ` <<83r1w2u20y.fsf@gnu.org>
[not found] ` <<CAGK7Mr7z+L+1Ziptjvc8wBmZDooLfonuL3VOC8OGex+z1d7Oqg@mail.gmail.com>
[not found] ` <<83lfmatym6.fsf@gnu.org>
2020-05-02 17:36 ` Drew Adams
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=jwvd07mozjd.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=rms@gnu.org \
--cc=tomas@tuxteam.de \
/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.