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