1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00

(read-multilingual-string): Use

current-input-method prior to default-input-method.  Don't bind
current-input-method by `let', instead, activate the specified
input method in the current buffer temporarily.
This commit is contained in:
Kenichi Handa 1997-10-21 10:47:35 +00:00
parent 3fcbab9a49
commit d34596414e

View file

@ -549,8 +549,7 @@ When there's no input method to turn on, turn on what read from minibuffer."
(ding))
(error "No input method is activated now")))
(defun read-multilingual-string (prompt &optional initial-input
input-method)
(defun read-multilingual-string (prompt &optional initial-input input-method)
"Read a multilingual string from minibuffer, prompting with string PROMPT.
The input method selected last time is activated in minibuffer.
If optional second arg INITIAL-INPUT is non-nil, insert it in the minibuffer
@ -560,12 +559,19 @@ to be activated instead of the one selected last time. It is a symbol
or a string."
(setq input-method
(or input-method
current-input-method
default-input-method
(read-input-method-name "Input method: " nil t)))
(if (and input-method (symbolp input-method))
(setq input-method (symbol-name input-method)))
(let ((current-input-method input-method))
(read-string prompt initial-input nil nil t)))
(let ((previous-input-method current-input-method))
(unwind-protect
(progn
(activate-input-method input-method)
(read-string prompt initial-input nil nil t))
(if previous-input-method
(activate-input-method previous-input-method)
(inactivate-input-method)))))
;; Variables to control behavior of input methods. All input methods
;; should react to these variables.