Subject: Re: bug#55842: 29.0.50; Using shorthand syntax in keymap-global-set

From: Lars Ingebrigtsen <[email-masked]>
Date: Thu, 09 Jun 2022 15:35:02 +0200

Arash Esbati <[email-masked]> writes:

> I tried to switch from `global-set-key' to `keymap-global-set' and this
> is my first observation: I can't use shorthand syntax.  To reproduce:
>
> 1. emacs -Q
> 2. In scratch, eval (key-valid-p "C-TAB") => t
> 3. In scratch, eval (keymap-global-set "C-TAB" #'other-window)
> 4. Try 'C-h k Ctrl-Tab' => C-<tab> is undefined
> 5. In scratch, eval (keymap-global-set "C-<tab>" #'other-window)
> 6. 'C-h k Ctrl-Tab' returns the expected result.
>
> Am I missing something about shorthands?  Reading the docstring of
> `key-valid-p', I thought the item 3. above should also work.

TAB is a complicated issue in Emacs, unfortunately.

"C-TAB" is just a different way to write "C-i", because TAB and C-i are
the same in most terminals.

If you want to bind the C-<tab> key stroke, you have to specify it as
such.  (And it won't work in most terminals, only in GUI Emacs.)

(key-valid-p "C-TAB") could signal an error to help lessen the
confusion, I guess?  (And C-RET and C-LFD.)  Anybody got an opinion
here?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no