# HG changeset patch # User Kenichi Handa # Date 903401060 0 # Node ID 82a27d5b45829ddefeb55f07260557bbdbe4c00b # Parent fd2d1a752d93e67b3c9b5ec1081f84d5030865a0 (activate-input-method): Handle the case that the arg INPUT-METHOD is nil correctly. (read-multilingual-string): Activate the specified input method before calling read-string. Afterward, activate the original input method. diff -r fd2d1a752d93 -r 82a27d5b4582 lisp/international/mule-cmds.el --- a/lisp/international/mule-cmds.el Tue Aug 18 00:43:52 1998 +0000 +++ b/lisp/international/mule-cmds.el Tue Aug 18 00:44:20 1998 +0000 @@ -786,11 +786,11 @@ "Switch to input method INPUT-METHOD for the current buffer. If some other input method is already active, turn it off first. If INPUT-METHOD is nil, deactivate any current input method." - (if (symbolp input-method) + (if (and input-method (symbolp input-method)) (setq input-method (symbol-name input-method))) (if (and current-input-method (not (string= current-input-method input-method))) - (inactivate-input-method)) + (inactivate-input-method)) (unless (or current-input-method (null input-method)) (let ((slot (assoc input-method input-method-alist))) (if (null slot) @@ -907,8 +907,12 @@ (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 ((prev-input-method current-input-method)) + (unwind-protect + (progn + (activate-input-method input-method) + (read-string prompt initial-input nil nil t)) + (activate-input-method prev-input-method)))) ;; Variables to control behavior of input methods. All input methods ;; should react to these variables.