From: Philip Kaludercic <philipk@posteo.net>
To: Augusto Stoffel <arstoffel@gmail.com>
Cc: Lars Ingebrigtsen <larsi@gnus.org>,
Andreas Schwab <schwab@linux-m68k.org>,
emacs-devel@gnu.org
Subject: Re: Deprecation of define-key?
Date: Tue, 02 Aug 2022 09:54:42 +0000 [thread overview]
Message-ID: <87v8rbc6n1.fsf@posteo.net> (raw)
In-Reply-To: <871qtzou8e.fsf@gmail.com> (Augusto Stoffel's message of "Tue, 02 Aug 2022 11:44:17 +0200")
Augusto Stoffel <arstoffel@gmail.com> writes:
> On Sat, 30 Jul 2022 at 13:51, Lars Ingebrigtsen <larsi@gnus.org> wrote:
>
>> Philip Kaludercic <philipk@posteo.net> writes:
>>
>>> That is obvious, the question is should package developers avoid using
>>> `define-key' if possible or not?
>>
>> As the doc string says -- `keymap-set' is the recommended function to
>> use. However, `define-key' is not (and won't be) obsoleted, so it's up
>> to them to follow the recommendation (or not).
>
> I didn't catch any of the previous discussion about keymap.el, but I
> have a comment -- sorry if redundant.
>
> Wouldn't it make sense to let keymap-set take multiple key-definition
> pairs as arguments, like setq et al? This would be very convenient
> e.g. in user configuration files, where currently one often finds long
> sequences of define-key calls.
One thing I still don't understand about keymap (which is part of the
reason I initiated this thread), is who the "target audience" is, if
any? Core development, ELPA packages in general, user configurations,
or someone else?
> This looks much better to me:
>
> (keymap-set some-map
> "a" 'command-a
> "b" 'command-b
> "c" 'command-c)
Not quite the same, but that is what `defvar-keymap' allows you to do. E.g.
(defvar-keymap gnus-undo-mode-map
"C-M-_" #'gnus-undo
"C-_" #'gnus-undo
"C-x u" #'gnus-undo
;; many people are used to type `C-/' on GUI frames and get `C-_'.
"C-/" #'gnus-undo)
Just in this case binding a variable and defining a map is merged into
one, instead of modifying an existing map.
next prev parent reply other threads:[~2022-08-02 9:54 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-29 15:33 Deprecation of define-key? Philip Kaludercic
2022-07-29 16:16 ` Andreas Schwab
2022-07-30 11:46 ` Philip Kaludercic
2022-07-30 11:51 ` Lars Ingebrigtsen
2022-07-31 6:48 ` Jean Louis
2022-07-31 7:14 ` Visuwesh
2022-08-02 9:44 ` Augusto Stoffel
2022-08-02 9:54 ` Philip Kaludercic [this message]
2022-08-02 10:01 ` Lars Ingebrigtsen
2022-08-02 10:06 ` Philip Kaludercic
2022-08-02 10:11 ` Lars Ingebrigtsen
2022-08-02 10:00 ` Lars Ingebrigtsen
2022-08-02 10:11 ` Philip Kaludercic
2022-08-02 10:46 ` Lars Ingebrigtsen
2022-08-02 10:14 ` Augusto Stoffel
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=87v8rbc6n1.fsf@posteo.net \
--to=philipk@posteo.net \
--cc=arstoffel@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=larsi@gnus.org \
--cc=schwab@linux-m68k.org \
/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).