发现一个奇怪的空匿名 keymap

今天在 which-key 的菜单中发现了一个奇怪的空 keymap,绑定到了 C-c ^(describe-key (kbd "C-c ^")) 显示

C-c ^ runs the command #<keymap 335> (found in global-map), which is a sparse keymap.

并且即使 emacs -Q 启动这个 keymap 依然存在。我是 emacs-plus 编译的 igc branch。请问有人遇到过类似的问题吗?

在普通的 Emacs 下,Emacs -Q 也有相同的情况。

有点意思 :open_mouth:

(key-binding (kbd "C-c ^"))
;;=> (keymap)

啥叫空匿名 keymap?不是这个嘛:

可以找到这个按键的一些出处,不过奇怪的是为什么 fundmental-mode 下也会有。

我在 fundmental-mode 下这个按键没有绑定。“GNU Emacs 30.1 (build 2, x86_64-w64-mingw32) of 2025-02-24”

在 GNU Emacs 31.0.50 (build 4, x86_64-w64-mingw32) of 2025-11-15 上,有这个问题,在官方提供的 Emacs 30.2 上没有这个问题。

刚才编译了一版,看来这个问题可能是不知道什么时候在 Emacs 30 之后的 master 分支上引入的。

bug#79845: 31.0.50; (key-binding (kbd “C-c ^”)) get an empty sparse keym

看来是改动 smerge 引入的,而且维护者感觉没什么大问题不想改了。

4 个赞