Subject: Re: bug#68338: 30.0.50; Repeat mode and input methods

From: Stefan Monnier <[email-masked]>
Date: Thu, 11 Jan 2024 22:31:33 -0500

>> For the record and AFAIU, it seems that having an input method results
>> in having a translation keymap (see "quail.el").  And OTOH, repeat-mode
>> sets a transient keymap (see 'set-transient-map' from "subr.el").  So
>> maybe there is something going on here?
>
> Here is the simplest test case without repeat-mode:
>
> (progn
>   (set-transient-map (define-keymap "o" #'other-window))
>   (other-window 1))

Indeed, in `quail-input-method` I see we have some ad-hoc support for
`C-u` which has not been made more generic to support other transient
keymaps.

I suspect all it takes is to change the:

                   (not (eq (cadr overriding-terminal-local-map)
                            universal-argument-map))

so it recognizes any transient keymap rather than only
`universal-argument-map`.

IOW define something like a `keymap-transient-p` function, use it there,
and make sure the keymaps installed by `set-transient-map` are recognized
by that new function.

        Stefan