Subject: Re: bug#75933: 29; Disabling smerge-command-prefix results in error

From: Stefan Monnier <[email-masked]>
Date: Wed, 05 Feb 2025 18:08:26 -0500

>   (easy-mmode-defmap smerge-mode-map
>     `((,smerge-command-prefix . ,smerge-basic-map))
>     "Keymap for `smerge-mode'.")
>
> In Emacs 29.1 (after 2ae3b66fa80 and some fixup commits), the former
> remained as it was in 28, but the latter was replaced with:
>
>   (defvar-keymap smerge-mode-map
>     (key-description smerge-command-prefix) smerge-basic-map)
>
> Setting the option to "", to add no prefix command, results in:
>
>   keymap--check: "" is not a valid key definition; see `key-valid-p'

Emacs Emacs<29 setting the option to "" resulted in keeping
`smerge-mode-map` empty, AFAICT.  Is that what you wanted or did you
expect all the bindings of `smerge-basic-map` to be made available
without a prefix?

To my mind the value "" would be closer to meaning that all the bindings
of `smerge-basic-map` should be made available without a prefix, and if
we want to allow the bindings to be completely absent, it might make
more sense to use a nil value.

        Stefan