On Tue, 12 Jan 2010 09:15:11 -0500, Stefan Monnier<address@hidden> said:
Thanks. But then a special event such as SIGUSR1 cancels an
incomplete key sequence being typed. How about doing this only
when the current buffer is changed by the special event?
IIRC the general approach to these kinds of problems in
read-key-sequence is to only recompute the initial state if the
current key-sequence is still empty. I.e. rather than check whether
the special event has changed current buffer, we would instead check
whether the keybuf is still empty.
Well, at least, it seems to be much cleaner for read_char just to
return a special code (instead of -2) indicating a command is executed
via special event map, and let the caller determine what to do for
that case.