emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 0ce216b38f 2/2: Restore how (read-from-minibuffer ... read-expres


From: Lars Ingebrigtsen
Subject: master 0ce216b38f 2/2: Restore how (read-from-minibuffer ... read-expression-map) worked
Date: Thu, 14 Jul 2022 13:59:35 -0400 (EDT)

branch: master
commit 0ce216b38fbf10ba94955d7a9789b16c95130a9a
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    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.
---
 lisp/simple.el | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/lisp/simple.el b/lisp/simple.el
index e048df3695..5443d961e1 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 ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]