]> git.eshelyaron.com Git - emacs.git/commitdiff
Disable text-conversion in map-ynp
authorPo Lu <luangruo@yahoo.com>
Tue, 7 May 2024 01:02:00 +0000 (09:02 +0800)
committerEshel Yaron <me@eshelyaron.com>
Wed, 8 May 2024 16:48:30 +0000 (18:48 +0200)
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Bind
overriding-text-conversion-style to nil around read-event and
arrange that the input method be reset.

(cherry picked from commit d4d9db8dc6ee20d3c0c1b2e647f40ebf2cc719f3)

lisp/emacs-lisp/map-ynp.el

index b603f2e6d0bd0feaa11f6418ca754f33b59cdbe5..60e572fba304ef2b321f02b3bc6d5c97058954bd 100644 (file)
@@ -35,6 +35,9 @@
 ;;; Code:
 
 (declare-function x-popup-dialog "menu.c" (position contents &optional header))
+(declare-function set-text-conversion-style "textconv.c")
+
+(defvar overriding-text-conversion-style)
 
 (defun map-y-or-n-p (prompter actor list &optional help action-alist
                              no-cursor-in-echo-area)
@@ -168,7 +171,11 @@ The function's value is the number of actions taken."
                                (key-description (vector help-char)))
                       (if minibuffer-auto-raise
                           (raise-frame (window-frame (minibuffer-window))))
-                      (setq char (read-event))
+                       (unwind-protect
+                           (let ((overriding-text-conversion-style nil))
+                             (set-text-conversion-style text-conversion-style)
+                            (setq char (read-event)))
+                         (set-text-conversion-style text-conversion-style))
                       ;; Show the answer to the question.
                       (message "%s(y, n, !, ., q, %sor %s) %s"
                                prompt user-keys