From: "Gerd Möllmann" <gerd.moellmann@gmail.com>
To: Pip Cet <pipcet@protonmail.com>
Cc: Yikai Zhao <yikai@z1k.dev>, Helmut Eller <eller.helmut@gmail.com>,
74590@debbugs.gnu.org
Subject: bug#74590: 31.0.50 [scratch/igc branch]; key input sometimes skip fcitx input method preedit box
Date: Sun, 01 Dec 2024 07:04:18 +0100 [thread overview]
Message-ID: <m2iks4hrbx.fsf@gmail.com> (raw)
In-Reply-To: <E17CtvpBS4E6fb6Ar1spO3oBhW-LsFu5YPgvs0YKtdDg9lpa0oDXSK5sgnX34L8GmZesdX6ATp5YhZUCjPqn62_ODorRuPBcMIjOocELw7c=@protonmail.com> (Pip Cet's message of "Sat, 30 Nov 2024 16:37:03 +0000")
Pip Cet <pipcet@protonmail.com> writes:
> On Saturday, November 30th, 2024 at 10:55, Gerd Möllmann <gerd.moellmann@gmail.com> wrote:
>> Helmut Eller eller.helmut@gmail.com writes:
>>
>> > On Fri, Nov 29 2024, Gerd Möllmann wrote:
>> >
>> > > > Not sure if that is used in your build, but in x_display_info (xterm.h)
>> > > > I see a number of struct frame pointers that are not fixed in fix_frame,
>> > > > starting with
>> > > >
>> > > > struct frame *x_focus_frame;
>> > > >
>> > > > And if it's not that display info that is being used, I'd bet a small
>> > > > amount that whatever is actually used (pgtk_display_info?) has a similar
>> > > > problems.
>> > > >
>> > > > (Can't fix this myself, sorry, I only have macOS.)
>> >
>> > I think the x_display_info struct (I guess usually only one exists) is
>> > allocated in x_term_init (or pgtk_term_init) with igc_xzalloc_ambig. So
>> > theoretically it doesn't need to be traced.
>>
>>
>> Then we're good, sorry for the noise.
>
> So it turns out X input method handling is somewhat complicated!
>
> I've tried installing fcitx, but it seems to be working the same here with and without MPS.
>
> It would help to establish the value of x-gtk-use-native-input, since that determines whether we use the GTK or X method for communicating with fcitx.
>
> I've attached a patch which logs some debugging info to stderr
> (because displaying messages using X while debugging X code is a bad
> idea, IME). If you could apply it and reproduce the output around a
> keypress that's handled incorrectly, that might help us track this
> down.
>
> Pip
Searching for "closure" and "user_data" turns up this in gtkutil.c:
static void
xg_im_context_commit (GtkIMContext *imc, gchar *str,
gpointer user_data)
{
struct frame *f = get_glib_user_data (user_data);
That's a Gtk signal handler, or whatever they are called, which
gets set, also in gtkutil.c
g_signal_connect_data (G_OBJECT (imc), "commit",
G_CALLBACK (xg_im_context_commit),
glib_user_data (f), free_glib_user_data,
G_CONNECT_DEFAULT);
Looks to me like a struct frame * might be "hidden" by this in some Gtk
data structure so that it can be passed to the handler at some point.
Don't know if that's relevant.
next prev parent reply other threads:[~2024-12-01 6:04 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-28 13:18 bug#74590: 31.0.50 [scratch/igc branch]; key input sometimes skip fcitx input method preedit box Yikai Zhao
2024-11-28 13:32 ` Pip Cet via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-29 4:26 ` Yikai Zhao
2024-11-29 5:21 ` Gerd Möllmann
2024-11-29 5:55 ` Gerd Möllmann
2024-11-30 10:39 ` Helmut Eller
2024-11-30 10:55 ` Gerd Möllmann
2024-11-30 16:37 ` Pip Cet via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 6:04 ` Gerd Möllmann [this message]
2024-12-01 7:33 ` Gerd Möllmann
2024-12-01 10:08 ` Pip Cet via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 11:30 ` Gerd Möllmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2iks4hrbx.fsf@gmail.com \
--to=gerd.moellmann@gmail.com \
--cc=74590@debbugs.gnu.org \
--cc=eller.helmut@gmail.com \
--cc=pipcet@protonmail.com \
--cc=yikai@z1k.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).