GNU bug report logs - #68338
30.0.50; Repeat mode and input methods

Previous Next

Package: emacs;

Reported by: Gautier Ponsinet <gautier <at> gautierponsinet.xyz>

Date: Tue, 9 Jan 2024 08:32:02 UTC

Severity: normal

Found in version 30.0.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


Message #32 received at 68338 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Juri Linkov <juri <at> linkov.net>
Cc: 68338 <at> debbugs.gnu.org, Gautier Ponsinet <gautier <at> gautierponsinet.xyz>,
 Manuel Giraud <manuel <at> ledu-giraud.fr>
Subject: Re: bug#68338: 30.0.50; Repeat mode and input methods
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





This bug report was last modified 1 year and 182 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.