[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#1003: 23.0.60; set-keyboard-coding-system incompatible with TeX inpu
From: |
Stefan Monnier |
Subject: |
bug#1003: 23.0.60; set-keyboard-coding-system incompatible with TeX input method |
Date: |
Sat, 20 Sep 2008 16:45:41 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
> in TeX input mode, I expect to be able to type ént by typing "\'ent".
> When I set:
> (set-keyboard-coding-system 'utf-8)
> typing those four characters gives me some Chinese character.
IIUC the problem is that the input method processing is done before the
keyboard-coding-system processing. So the sequence "\ ' e n t" is
turned by the input method into "é n t" (i.e. 233 110 116) which is then
interpreted as a utf-8 sequence which happens to give you
a chinese character.
In Emacs-22, bytes such as 233 were different from any other char, so
such confusion wasn't possible, which worked around the underlying
ordering problem.
A real fix would probably be to perform keyboard-coding-system decoding
earlier, but it's a non trivial change which may introduce its own set
of problems.
Maybe another way to fix the problem is to let quail emit not just é but
the sequence [im-char é] and then have input-decode-map strip the
`im-char' pseudo event; this would protect those im-generated chars from
being processed by the keyboard-coding-system processing.
Handa?
Stefan