Subject: bug#61667: 29.0.60; Failure to redisplay

From: Po Lu <[email-masked]>
Date: Tue, 18 Apr 2023 09:35:12 +0800

Dmitry Gutov <[email-masked]> writes:

> Finished now. It was a pain because the offending commit predated the
> two commits that fixed the build without XDBE (4dc1f2b9a01e and
> f1c838980601), so I had to dump them as patch files and apply when
> building older commits.
>
> ae4ff4f25fbf704446f8f38d8e818f223b79042b is the first bad commit
> commit ae4ff4f25fbf704446f8f38d8e818f223b79042b
> Author: Po Lu <[email-masked]>
> Date:   Sun Feb 12 19:55:28 2023 +0800
>
>     Support input method ``text conversion'' on X Windows
>
>     * configure.ac (HAVE_TEXT_CONVERSION): Define on X.
>     * etc/NEWS: Announce new change.
>     * src/emacs.c (main): Always call init_xterm.
>     * src/frame.c (do_switch_frame): Use `fset_selected_window'.
>     * src/insdel.c (struct safe_del_range_context): New structure.
>     (safe_del_range_1, safe_del_range_2, safe_del_range): New
>     functions.
>     * src/lisp.h: Export new functions.
>     * src/window.c (run_window_change_functions): Report selected
>     window and buffer changes so that the input method can be reset.
>     * src/xfns.c (XICCallback, Xxic_preedit_caret_callback)
>     (Xxic_preedit_done_callback, Xxic_preedit_start_callback)
>     (Xxic_preedit_draw_callback): Fix coding style.
>     (Xxic_string_conversion_callback): New callback.
>     (create_frame_xic): Register string conversion callback.
>     (struct x_xim_text_conversion_data): New field `size'.
>     (x_encode_xim_text_1, x_encode_xim_text): New functions.
>     (xic_string_conversion_callback): New function.
>     * src/xterm.c (x_reset_conversion): New function.
>     (text_conversion_interface): New variable.
>     (init_xterm): Initialize text conversion interface.
>
> (Together with the next one, 9510e8ad68271f58b4, which it doesn't
> build without).
>
> I've double checked that 9510e8ad682 exhibits the problem (with Lucid
> and xdbe=off), whereas ae4ff4f25fbf's parent (50140585a29) does not.

What if you only revert this commit on top of master? This change should
not affect redisplay at all, as it only adds additional mechanisms for
talking with the input method.