GNU bug report logs - #69893
29.2; Valid key "<TAB>" not accepted by `keymap-global-set'

Previous Next

Package: emacs;

Reported by: tpeplt <tpeplt <at> gmail.com>

Date: Tue, 19 Mar 2024 04:06:03 UTC

Severity: normal

Found in version 29.2

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: tpeplt <tpeplt <at> gmail.com>
To: 69893 <at> debbugs.gnu.org
Subject: bug#69893: 29.2; Valid key "<TAB>" not accepted by `keymap-global-set'
Date: Mon, 18 Mar 2024 17:14:16 -0400
Recipe for reproducing this problem:

1. Start Emacs at a shell prompt using "emacs -Q".

2. Evaluate the following expressions in the *scratch* buffer.

The following keys evaluate as valid (as expected):

(key-valid-p "TAB")
(key-valid-p "<TAB>")
(key-valid-p "<tab>")

The following key evaluates as invalid (as expected):

(key-valid-p "tab")

3. So, the following expressions should evaluate to
‘indent-for-tab-command’:

(keymap-global-set "<tab>" 'indent-for-tab-command)
(keymap-global-set "TAB" 'indent-for-tab-command)
(keymap-global-set "<TAB>" 'indent-for-tab-command)

The first two expressions evaluate as expected, but when the third
expression is evaluated, then the following message is reported:

keymap-global-set: To bind the key TAB, use [?\t], not [TAB]

Because (key-valid-p "<TAB>") evaluates to t, that error message appears
to be invalid.

4. Also, the following expressions all evaluate to nil:

(key-valid-p "[?\t]")
(key-valid-p "[?\\t]")

(key-valid-p "?\t")
(key-valid-p "?\\t")

(key-valid-p "<?\t>")
(key-valid-p "<?\\t>")

So the error message appears to direct a user to change the key string
to an invalid key.

--










This bug report was last modified 1 year and 122 days ago.

Previous Next


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