Subject: bug#52245: Wishlist: cycle input methods

From: Robert Pluim <[email-masked]>
Date: Wed, 08 Dec 2021 15:51:18 +0100

>>>>> On Wed, 08 Dec 2021 16:29:18 +0200, Eli Zaretskii <[email-masked]> said:

    >> From: Robert Pluim <[email-masked]>

    Eli> Sounds good, but I don't understand how you will pull out the trick in
    Eli> the last sentence.  How will Emacs know to "just deactivate" instead
    Eli> of cycling?
    >> 
    >> Similar to how it knows to toggle today, by storing an "I was
    >> activated via prefix" state in a defvar-local state variable.

    Eli> Hmm... so just C-\ to activate is not enough to cause the toggle back?

No, because you need to distinguish "Iʼm cycling through
default-input-method" from "previous invocation used prefix", since in
the former you need to look up the current input method in
default-input-method and then activate the next one.

Hmm, what do we expect for the following sequence, assuming
default-input-method of '(a b c), and no input method activated.

1. C-\ ; activates a
2. C-u C-\ d RET ; activates d
3. C-\ ; back to a, I guess
4. C-\ ; activates b

Or do we want step 3 to be 'deactivate input method'?

    >> What did you think of the C-u C-u C-\ suggestion to mean "always
    >> deactivate"? Or do you feel itʼs unnecessary?

    Eli> Given the above, some way of turning off the input method is
    Eli> necessary, I think.

Escape hatches are always good, especially if we end up with confusing
behaviour :-)

Robert
--