Subject: 28.0.60; substitute-command-keys finds global binding for undo instead of in specified keymap

From: Robert Pluim <[email-masked]>
Date: Mon, 25 Oct 2021 11:57:38 +0200

The \<MAPVAR> construct is documented to set the keymap for subsequent
\[COMMAND] lookups, but for some bindings it doesnʼt seem to work,
finding the global binding instead:

emacs -Q
(require 'repeat)
(substitute-command-keys "\\<undo-repeat-map>\\[undo]")
=> #("C-x u" 0 5 (face help-key-binding font-lock-face help-key-binding))
(substitute-command-keys "\\{undo-repeat-map}")
=> #("key             binding
---             -------

u               undo

" 49 50 (face help-key-binding font-lock-face help-key-binding) 50 52 (font-loc\
k-face nil face nil))

This is a with-native-compilation emacs-28, but emacs-28 without
native compilation behaves the same.

In GNU Emacs 28.0.60 (build 7, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0)
 of 2021-10-24 built on rltb
Repository revision: b0d64be0bc581958bf3a74152a2cd10172916b03
Repository branch: emacs-28
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure --with-native-compilation'

Robert
--