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:
parent
3fcbab9a49
commit
d34596414e
1 changed files with 10 additions and 4 deletions
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue