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

Re: xterm choking on compose key input



Dear Sven,

Thanks for the e-mail.

On Wed, Jan 07, 2015 at 06:12:22PM +0100, Sven Joachim wrote:
> On 2015-01-07 09:38 +0100, Kumar Appaiah wrote:
> 
> > I regularly use the compose key to insert characters. The locale I
> > use, en_IN, doesn't have a Compose file in /usr/share/X11/locale, so I
> > copied the /usr/share/X11/locale/en_US.UTF-8/Compose file to
> > ~/.XCompose.
> >
> > Now, most applications work fine. However, xterm seems to choke on
> > compose key input, and I get garbage whenever I type any compose key
> > sequence. However, if I run LANG=en_US.UTF-8 xterm, then it works
> > fine.
> 
> Which version of xterm is that?  If ~/.XCompose exists, xterm does not
> read any other Compose files here:

dpkg -l xterm gives me:
Desired=Unknown/Install/Remove/Purge/Hold
ii  xterm          312-1        amd64        X terminal emulator

> ,----
> | $ strace xterm -e true 2>&1 | grep Compose                 
> | open("/home/sven/.XCompose", O_RDONLY)  = 5
> | stat64("/home/sven/.XCompose", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> | stat64("/home/sven/.XCompose", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> | open("/home/sven/.XCompose", O_RDONLY)  = 5
> `----
> 
> So I don't have any explanation for the behavior you observe.

strace xterm -e true 2>&1 | grep Compose
open("/home/kumar/.XCompose", O_RDONLY) = 6
stat("/home/kumar/.XCompose", {st_mode=S_IFREG|0644, st_size=563251, ...}) = 0
stat("/home/kumar/.XCompose", {st_mode=S_IFREG|0644, st_size=563251, ...}) = 0
open("/home/kumar/.XCompose", O_RDONLY) = 6

This is fine. It is clear that xterm honours the .XCompose file. It's
just that the characters it seems to receive aren't the right
ones. For example, Compose + . + . should give me an ellipsis, as it
does on other programs. But on xterm, I get "â\200¦". But LC_ALL=en_US.UTF-8 xterm
works perfectly.

Thanks.

Kumar


Reply to: