emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden: sit-for (detect_input_pending ?) and postfix input m


From: Stefan Monnier
Subject: Re: address@hidden: sit-for (detect_input_pending ?) and postfix input methods.]
Date: Wed, 05 Oct 2005 13:42:40 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

> This is because sit-for instantly returns t if
> unread-command-events is not nil, and the currrent input
> method mechanism uses unread-command-events in the following
> way:

...Hmmm... interesting.
Indeed, what happens basically is that when you type

        a b

the `a' is only executed when you type the `b', because in the time between
the two events, quail is waiting for another key in order to decide whether
to really meant to type an `a' or maybe some other char (like à, ä, ...).

In the case where `a' and `b' are bount to self-insert-command, I could
imagine changing Quail such that the first (quail-input-method ?a) returns
'(?a) and that a subsequent (quail-input-method ?\") returns '(?\^? ?ä),
with some added magic to add/remove the underscore.  But since those chars
can be bound to something else than self-insert-command, there's no
guarantee that it'll do the right thing.

Or maybe we should first return '(set-quail-undo-boundary ?a) and then
'(quail-undo-last ?ä) where both set-quail-undo-boundary and quail-undo-last
are special events bound to similarly named functions.  I guess that could
work, although it would need additional hacks to enable/disable the undo-log
and to add/remove the underscore.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]