]> git.eshelyaron.com Git - emacs.git/commit
Support input method ``text conversion'' on X Windows
authorPo Lu <luangruo@yahoo.com>
Sun, 12 Feb 2023 11:55:28 +0000 (19:55 +0800)
committerPo Lu <luangruo@yahoo.com>
Sun, 12 Feb 2023 11:56:36 +0000 (19:56 +0800)
commitae4ff4f25fbf704446f8f38d8e818f223b79042b
tree38487d1d2276e69d3060f80fccbc96dfebf312a6
parent50140585a29f132e5e0562142ec223bc8e6870a0
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.
configure.ac
etc/NEWS
src/emacs.c
src/frame.c
src/insdel.c
src/lisp.h
src/window.c
src/xfns.c
src/xterm.c