Files
emacs/lisp
Po Lu 751789471c Display pre-edit information from X input methods
This also repurposes the `pgtk-preedit-text' event to be
meaningful on X, renames it `preedit-text', and documents it.

* doc/lispref/commands.texi (Misc Events): Document
`preedit-text'.
* lisp/term/pgtk-win.el (pgtk-preedit-text): Bind to
`preedit-text' instead.
* lisp/term/x-win.el (x-preedit-overlay): New variable.
(x-preedit-text): New command, bound as a special event to
`preedit-text'.

* src/keyboard.c (kbd_buffer_get_event):
(make_lispy_event): Rename PGTK_PREEDIT_TEXT_EVENT
PREEDIT_TEXT_EVENT.
(syms_of_keyboard): New defsym `preedit-text'.
* src/pgtkterm.c (pgtk_enqueue_preedit): Use PREEDIT_TEXT_EVENT
instead.
* src/termhooks.h (enum event_kind): Rename
`PGTK_PREEDIT_TEXT_EVENT' `PREEDIT_TEXT_EVENT'.

* src/xfns.c (Xxic_preedit_draw_callback):
(Xxic_preedit_caret_callback):
(Xxic_preedit_done_callback):
(Xxic_preedit_start_callback): New callback variables.

(STYLE_OFFTHESPOT, STYLE_OVERTHESPOT):
(STYLE_ROOT, STYLE_CALLBACK, STYLE_NONE): New macros.
(supported_xim_styles): Use reasonable values.  This also serves
as a better fix for bug#10867.
(best_xim_style): Restore code deleted as part of the original
fix for bug#10867.
(create_frame_xic): Add preedit callbacks.
(xic_set_preeditarea): Add preedit callbacks.
(x_xic_to_frame):
(xic_preedit_start_callback):
(xic_preedit_caret_callback):
(xic_preedit_done_callback):
(x_xim_text_to_utf8_unix):
(xic_preedit_draw_callback): New functions.

* src/xterm.c (x_detect_focus_change): Fix type of XI event.
(x_free_frame_resources): Free preedit text buffer if still
present.
* src/xterm.h (struct x_output): New fields `preedit_size',
`preedit_chars' and `preedit_active'.
2022-01-07 14:42:08 +08:00
..
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-05 14:28:37 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:07:15 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-05 06:30:39 +01:00
2022-01-01 07:03:03 -05:00
2022-01-05 17:07:07 +01:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-05 15:14:54 +02:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:25:56 +01:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:07:15 -05:00
2022-01-01 07:07:15 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-02 16:46:02 +01:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 02:45:51 -05:00
2022-01-01 07:03:03 -05:00
2022-01-01 07:07:15 -05:00

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.