+2007-11-29 Richard Stallman <rms@gnu.org>
+
+ * international/mule-cmds.el (toggle-input-method-active): New var.
+ (toggle-input-method): Bind toggle-input-method-active to t.
+ Error if it was already non-nil.
+
2007-11-29 Glenn Morris <rgm@gnu.org>
* calendar/time-date.el (with-decoded-time-value): Doc fix.
(customize-mark-as-set 'default-input-method))
default-input-method)
+(defvar toggle-input-method-active nil
+ "Non-nil inside `toggle-input-method'.")
+
(defun toggle-input-method (&optional arg interactive)
"Enable or disable multilingual text input method for the current buffer.
Only one input method can be enabled at any time in a given buffer.
which marks the variable `default-input-method' as set for Custom buffers."
(interactive "P\np")
+ (if toggle-input-method-active
+ (error "Recursive use of `toggle-input-method'"))
(if (and current-input-method (not arg))
(inactivate-input-method)
- (let ((default (or (car input-method-history) default-input-method)))
+ (let ((toggle-input-method-active t)
+ (default (or (car input-method-history) default-input-method)))
(if (and arg default (equal current-input-method default)
(> (length input-method-history) 1))
(setq default (nth 1 input-method-history)))