GNU bug report logs -
#14368
24.3.50; Big screw: multibyte characters become unibyte
Previous Next
Reported by: rms <at> gnu.org
Date: Wed, 8 May 2013 08:23:01 UTC
Severity: important
Found in version 24.3.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
Message #38 received at 14368 <at> debbugs.gnu.org (full text, mbox):
I'm very sorry for the late response on this matter.
In article <83a9o09oc1.fsf <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>
writes:
> However, quail seems to work by deleting some characters from the
> buffer, and then reinserting them, possibly after translation, as
> instructed by the additional characters you type. In this case,
> typing "a '" inserts á, and quail then waits for another character.
> Typing C-a at this point removes á from the buffer, and then sends as
> input 2 events: a self-inserting character whose code is 225 decimal
> (that's á), followed by the code 1, which is C-a. (I don't know if
> this is how quail is supposed to work; what I described is what I saw
> in the debugger. Perhaps Handa-san could comment on that.)
Your analysis is correct. Quail is an event translator. It
is designed not to insert a character directly but to
generate proper character events.
> I'm not sure how to fix this cleanly. One way would be to get quail
> to encode the character events it sends, but then we have problems
> with un-encodable characters.
It is a possible way, but I don't think that is the right
thing. Making quail encode characters and making the caller
to re-decode them looks like very silly.
> Another way would be to somehow detect
> that the character comes from quail and refrain from decoding it,
It's not only the quail problem. Currently the handling of
unread-command-events is broken; this does not work correctly on
terminal
(setq unread-command-events '(?À))
---
Kenichi Handa
handa <at> gnu.org
This bug report was last modified 11 years and 361 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.