From 87f2d022b869ed1005713e8e89949e4691a52f4f Mon Sep 17 00:00:00 2001 From: Po Lu Date: Tue, 7 May 2024 09:02:00 +0800 Subject: [PATCH] Disable text-conversion in map-ynp * 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 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/map-ynp.el b/lisp/emacs-lisp/map-ynp.el index b603f2e6d0b..60e572fba30 100644 --- a/lisp/emacs-lisp/map-ynp.el +++ b/lisp/emacs-lisp/map-ynp.el @@ -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 -- 2.39.5