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.
This commit is contained in:
Po Lu 2024-05-07 09:02:00 +08:00
parent 6583916a05
commit d4d9db8dc6

View 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