From: Daniel Mendler <mail@daniel-mendler.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: monnier@iro.umontreal.ca, rpluim@gmail.com, larsi@gnus.org,
emacs-devel@gnu.org
Subject: Re: 29.0.60; keymap-local-set and keymap-global-set became less strict
Date: Thu, 2 Feb 2023 10:29:56 +0100 [thread overview]
Message-ID: <43deaa5c-2f55-fe12-7447-be345d55420b@daniel-mendler.de> (raw)
In-Reply-To: <831qn8zh84.fsf@gnu.org>
On 2/2/23 07:58, Eli Zaretskii wrote:
>>> Emacs is not in the business of imposing The Right Way, instead we
>>> prefer to encourage it while still allowing people to shoot themselves
>>> in the foot in all kinds of fun ways.
>>
>> Tell that to Eli, who seems to be in the business of preaching The Right
>> Way and also following it.
>
> But preaching is very different from imposing. And I think "do as I
> say, not as I do" is not a great stance for us (although we sometimes
> do it).
You preach and impose it on the new API. But it is okay.
>> But that's beside the point - keymap.el is a newly introduced library
>> with a newly designed API. I would expect that such a library can be
>> implemented according to the best practices without any kludges -
>> without `call-interactively-p' and without advertised calling
>> conventions. That this does not seem to be possible, leaves me
>> unsatisfied. Well, it would actually be possible, we just have to do it
>> differently - either allowing vectors as arguments or by using a
>> different interactive form calling `keymap--read-key`. But these better
>> solutions were rejected for other reasons.
>
> We could go for a different design if we had more time. These
> functions were introduced just 2.5 months ago, and the problems with
> them were only brought to our attention very recently. We don't have
> enough time to switch to using other APIs in the interactive form, as
> we had bitter experience with doing that in similar cases (subtle bugs
> and behavior changes that took many moons to uncover and even longer
> to fix). It's too bad no one tried these new commands earlier and
> reported the problems back then, but that's water under the bridge.
> So we don't have the luxury of going for the ideal design. We must
> choose one of the safe solutions that will not delay the pretest nor
> endanger its quick success and the following release. I prefer the
> additional argument method, and it sounds like so does Stefan.
I agree that we should be careful for emacs-29. I think you convinced me
that the additional (non-advertised) argument isn't worse than
`call-interactively-p'. I would still prefer a solution without either
of those kludges (or maybe even just allowing vector arguments to avoid
the complications), but I've repeated that often enough. Maybe when the
API is overhauled the next time.
Thanks for the consideration and thanks for addressing this issue in the
first place.
Daniel
next prev parent reply other threads:[~2023-02-02 9:29 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <5876987d-2479-f512-5767-218c8c16a909@daniel-mendler.de>
[not found] ` <875ycngyji.fsf@gnus.org>
2023-01-31 9:05 ` 29.0.60; keymap-local-set and keymap-global-set became less strict Robert Pluim
2023-01-31 10:08 ` Stephen Berman
2023-01-31 14:27 ` [External] : " Drew Adams
2023-01-31 14:30 ` Stefan Monnier
2023-01-31 15:02 ` Robert Pluim
2023-01-31 15:06 ` Eli Zaretskii
2023-01-31 15:48 ` Robert Pluim
2023-01-31 16:37 ` Eli Zaretskii
2023-01-31 16:48 ` Robert Pluim
2023-01-31 18:43 ` Eli Zaretskii
2023-02-01 12:52 ` Robert Pluim
2023-02-01 13:06 ` Eli Zaretskii
2023-02-01 13:13 ` Daniel Mendler
2023-02-01 13:44 ` Robert Pluim
2023-02-01 14:11 ` Daniel Mendler
2023-02-01 13:50 ` Eli Zaretskii
2023-02-01 13:57 ` Daniel Mendler
2023-02-01 17:30 ` Eli Zaretskii
2023-02-01 18:20 ` Daniel Mendler
2023-02-01 18:54 ` Stefan Monnier
2023-02-01 20:22 ` Daniel Mendler
2023-02-01 22:42 ` Stefan Monnier
2023-02-01 22:56 ` Daniel Mendler
2023-02-02 6:58 ` Eli Zaretskii
2023-02-02 9:29 ` Daniel Mendler [this message]
2023-02-02 9:40 ` Robert Pluim
2023-02-02 10:17 ` Eli Zaretskii
2023-02-03 9:17 ` Robert Pluim
2023-02-03 9:56 ` Richard Stallman
2023-02-04 9:55 ` Daniel Mendler
2023-02-03 9:56 ` Richard Stallman
2023-02-03 12:11 ` Eli Zaretskii
2023-02-05 4:27 ` Richard Stallman
2023-02-05 7:11 ` Eli Zaretskii
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=43deaa5c-2f55-fe12-7447-be345d55420b@daniel-mendler.de \
--to=mail@daniel-mendler.de \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=larsi@gnus.org \
--cc=monnier@iro.umontreal.ca \
--cc=rpluim@gmail.com \
/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).