Subject: bug#55607: 28.1; C-x is hardcoded, but should use the keymap ctl-x-map

From: Teika Kazura <[email-masked]>
Date: Tue, 24 May 2022 15:22:11 +0900 (JST)

Hi, the emacs world.

At least in the file emacs-28.1/lisp/emacs-lisp/edebug.el, the prefix
key C-x is hardcoded. An error will be produced if you bind C-x to
something else.  Instead `ctl-x-map' should be respected.

How to reproduce it:
$ emacs -Q -l foo.el
------------------------------------------------------------------------

The content of foo.el:
------------------------------------------------------------------------
(setq debug-on-error t)
(global-set-key "\C-x" 'fill-paragraph) ; or whatever
(require 'edebug)
------------------------------------------------------------------------

Sorry that I fail to report exactly; if you don't set
(setq debug-on-error t), emacs can start without an error, only
showing a message in the minibuffer and in *Messages*. (However with my
personal configuration, it produces an error and emacs initialization
fails due to this problem, *without* debug-on-error. "edebug" is
require-ed from the package "helm", more precisely from the file
helm-eval.el .)

I cannot write a patch for this; I don't understand the code in edebug.el.

In fact, there seem to be other files with this problem. but I neglect
them this time. And it is not the only prefix keymap. (See the section
"prefix keymaps" in the emacs manual.)

Another minor issue: In edebug.el, the lines 43-44 read:
------------------------------------------------------------------------
;; If you wish to change the default edebug global command prefix, change:
;; (setq global-edebug-prefix "\C-xX")
------------------------------------------------------------------------
but `global-edebug-prefix' is obsolete since 28.1 .

Thank you very much indeed for developing Emacs.
Best regards.

# BTW 10 years ago I reported a similar problem:
#  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=10566
# Maybe not few aren't aware of prefix keymaps. ;-)