Subject: bug#7380: 23.2; Dead keys misinterpreted in gtk emacs

From: Stefan Monnier <[email-masked]>
Date: Fri, 18 Nov 2011 13:03:26 -0500

>> Not sure it'll help, tho.  We'll need either someone to be able to
>> reproduce it, or you'll need to dig in the code, play with GDB to try
>> and see what's going on there.  If you're up to it, you can try and
>> place breakpoints near the call to XmbLookupString in xterm.c and single
>> step there.  Normally, the dead-acute event should not escape from this
>> part of the code: instead it should turn into "nothing" (just change
>> some state somewhere either in compose_status or in "FRAME_XIC (f)"
>> depending on whether that frame uses XIM/XIC),

> I had a first crack at this.  XmbLookupString is never called because
> FRAME_XIC (f) is NULL, so lines 6413--6441 are skipped and
> XLookupString is called instead.

Hmm... that's clearly the source of the problem (XLookupString can only
handle latin-1 locales, IIRC).

> Where is FRAME_XIC (f) supposed to be set?

In the x_window function, in src/xfns.c (there are 3 versions of this
function :-( depending on whether or not we're using Gtk or some other
toolkit or no toolkit at all).

Could it be that use_xim is 0, somehow?

        Stefan "still works for me, even with en_US.UTF-8"