Before, command keys were substituted into the ielm-header when
ielm.el was loaded, which resulted in the substitutions depending on
the user's current buffer instead of the ielm buffer.
For example, if the user was in an info-mode buffer, the key would
appear as 'H' instead of 'C-h m'.
Now, the command key is substituted after the ielm buffer has been
created.
* lisp/ielm.el (ielm-header): Remove substitute-command-keys.
(inferior-emacs-lisp-mode): Add substitute-command-keys. (Bug#65213)
Copyright-paperwork-exempt: yes
This variable is buffer-local.")
(defvar ielm-header
- (substitute-command-keys
"*** Welcome to IELM *** Type (describe-mode) or press \
-\\[describe-mode] for help.\n")
+\\[describe-mode] for help.\n"
"Message to display when IELM is started.")
(defvaralias 'inferior-emacs-lisp-mode-map 'ielm-map)
(setq-local comint-inhibit-carriage-motion t)
;; Add a silly header
- (insert ielm-header)
+ (insert (substitute-command-keys ielm-header))
(ielm-set-pm (point-max))
(unless comint-use-prompt-regexp
(let ((inhibit-read-only t))