In a library I use a prefix key defined like this:
(defcustom ensime-mode-key-prefix [?\C-c]
"The prefix key for ensime-mode commands."
:group 'ensime-mode
:type 'sexp)
In my config file I've redefined it like the following:
(setq ensime-mode-key-prefix [?\C-c ?e])
Even though this has changed the prefix, all commands refuse to work with this error:
Symbol's function definition is void: ensime-mode-key-prefix
I've also tried to set it this way:
(customize-set-value 'ensime-mode-key-prefix [?\C-c ?e])
It also doesn't work, but with a different message - C-c e is undefined
, which is strange cause in description it's set:
ensime-mode-key-prefix is a variable defined in `ensime-vars.el'.
Its value is [3 101]
Original value was [3]
I want to change the prefix to C-c e
, tried to do that with std kbd
, but that didn't help.
(customize-set-value 'ensime-mode-key-prefix ...)
in your init file? I've seen load order issues trying to change default prefix keys for other modes.customize-set-variable
, notcustomize-set-value
. The former uses thecustom-set
property, if any, for the option; the latter does not.grep
for that variable in the source code, to see where it is handled. Thedefcustom
apparently does not have a:set
form, but there might be some code somewhere in the library that does handle setting the value.