GNU bug report logs -
#69893
29.2; Valid key "<TAB>" not accepted by `keymap-global-set'
Previous Next
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
[Message part 1 (text/plain, inline)]
Your bug report
#69893: 29.2; Valid key "<TAB>" not accepted by `keymap-global-set'
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 69893 <at> debbugs.gnu.org.
--
69893: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69893
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: tpeplt <tpeplt <at> gmail.com>, 69893 <at> debbugs.gnu.org
> Date: Thu, 21 Mar 2024 15:46:08 -0400
>
> > Stefan, is the below the right fix for this?
>
> Looks correct to me.
> That code dates back to
>
> commit 629d4dcd2a184da6a0b246d31f152a84327db51a
> Author: Richard M. Stallman <rms <at> gnu.org>
> Date: Tue Sep 21 03:44:04 1993 +0000
>
> Total rewrite by Gillespie.
>
> and I suspect it was just an oversight.
Thanks, installed on the emacs-29 branch, and closing the bug.
[Message part 3 (message/rfc822, inline)]
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 120 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.