GNU bug report logs - #60867
29.0.60; keymap-set-after does not accept the AFTER=t argument

Previous Next

Package: emacs;

Reported by: Daniel Mendler <mail <at> daniel-mendler.de>

Date: Mon, 16 Jan 2023 18:21:01 UTC

Severity: normal

Tags: fixed

Found in version 29.0.60

Fixed in version 29.1

Done: Robert Pluim <rpluim <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Daniel Mendler <mail <at> daniel-mendler.de>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 60867 <at> debbugs.gnu.org
Subject: bug#60867: 29.0.60; keymap-set-after does not accept the AFTER=t argument
Date: Thu, 19 Jan 2023 11:08:07 +0100
On 1/19/23 10:55, Robert Pluim wrote:
> And of course the following for consistency for `keymap-lookup' as
> well. I now firmly believe that the new keymap functions should use
> `key-parse' and not `kbd'.

Robert, speaking of `key-parse', I wonder why this function accepts
invalid key strings. Why don't we move the `key-valid-p' check to
`key-parse'? This would alleviate the need for many additional
`key-valid-p' checks across keymap.el. One could maybe even get rid of
the `keymap--check' helper.

The function `key-parse' is publicly exposed to the user and as such it
would be good if it were as strict as the rest of the keymap.el API.
However `kbd' has been reimplemented based on `key-parse' which prevents
`key-parse' from being more strict. One could either introduce a
`key--parse-lax` function which is used by `kbd' and `key-parse' (plus a
`key-valid-p' check) or add a NOERROR/NOVALIDATE argument to
`key-parse', which is then used by `kbd'. What do you think?

> Eli, is this too much for emacs-29?

While it is late for 29, these APIs were newly and I believe it would be
better to improve them now, such that they don't have to change again in
the next release.

Daniel




This bug report was last modified 2 years and 117 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.