diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2022-07-14 19:58:30 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2022-07-14 19:58:30 +0200 |
commit | 0ce216b38fbf10ba94955d7a9789b16c95130a9a (patch) | |
tree | 501fbfa2ca67fdf988794b9825589a22cc28f52b | |
parent | 26af1ca9e9a37cf9b42f16b3fbeb41d0a3c4fb35 (diff) | |
download | emacs-0ce216b38fbf10ba94955d7a9789b16c95130a9a.tar.gz |
Restore how (read-from-minibuffer ... read-expression-map) worked
* lisp/simple.el (read-expression-map): Don't override RET and C-j
here, since that leads to breakages of other usages of this map
(bug#56548).
(read--expression-map): New map.
(read--expression): Use it.
-rw-r--r-- | lisp/simple.el | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/lisp/simple.el b/lisp/simple.el index e048df36951..5443d961e13 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -1918,17 +1918,19 @@ in *Help* buffer. See also the command `describe-char'." bidi-fixer encoding-msg pos total percent col hscroll)))))) ;; Initialize read-expression-map. It is defined at C level. -(defvar read-expression-map - (let ((m (make-sparse-keymap))) - (define-key m "\M-\t" 'completion-at-point) - ;; Might as well bind TAB to completion, since inserting a TAB char is - ;; much too rarely useful. - (define-key m "\t" 'completion-at-point) - (define-key m "\r" 'read--expression-try-read) - (define-key m "\n" 'read--expression-try-read) - (define-key m "\M-g\M-c" 'read-expression-switch-to-completions) - (set-keymap-parent m minibuffer-local-map) - m)) +(defvar-keymap read-expression-map + :parent minibuffer-local-map + "C-M-i" #'completion-at-point + ;; Might as well bind TAB to completion, since inserting a TAB char is + ;; much too rarely useful. + "TAB" #'completion-at-point + "M-g M-c" #'read-expression-switch-to-completions) + +(defvar-keymap read--expression-map + :doc "Keymap used by `read--expression'." + :parent read-expression-map + "RET" #'read--expression-try-read + "C-j" #'read--expression-try-read) (defun read-minibuffer (prompt &optional initial-contents) "Return a Lisp object read using the minibuffer, unevaluated. @@ -2020,7 +2022,7 @@ function `read-from-minibuffer'." #'elisp-completion-at-point nil t) (run-hooks 'eval-expression-minibuffer-setup-hook)) (read-from-minibuffer prompt initial-contents - read-expression-map t + read--expression-map t 'read-expression-history))) (defun read--expression-try-read () |