]> git.eshelyaron.com Git - emacs.git/commit
Update Android port
authorPo Lu <luangruo@yahoo.com>
Thu, 16 Feb 2023 15:57:01 +0000 (23:57 +0800)
committerPo Lu <luangruo@yahoo.com>
Thu, 16 Feb 2023 15:57:01 +0000 (23:57 +0800)
commit2dcce30290dc7782e9de3b4adf59f38b42408c98
tree67b79ee1049c8fa31c8fdc2c9c67df77ac4e86ee
parentcf24b61985c26cbf2e5a24cb0b64a8528aa3a9cc
Update Android port

* doc/emacs/android.texi (Android Fonts):
* doc/emacs/input.texi (On-Screen Keyboards):
* doc/lispref/commands.texi (Misc Events): Update documentation.
* java/org/gnu/emacs/EmacsInputConnection.java (setSelection):
New function.
* java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView)
(reconfigureFrontBuffer): Make bitmap references weak
references.
* java/org/gnu/emacs/EmacsView.java (handleDirtyBitmap): Don't
clear surfaceView bitmap.
* lisp/comint.el (comint-mode):
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Improve detection of CJK fonts.
* lisp/isearch.el (set-text-conversion-style): New variable.
(isearch-mode, isearch-done): Save and restore the text
conversion style.
* lisp/minibuffer.el (minibuffer-mode): Set an appropriate text
conversion style.
* lisp/simple.el (analyze-text-conversion): Run
post-self-insert-hook properly.
* lisp/subr.el (read-char-from-minibuffer): Disable text
conversion when reading character.
* src/androidterm.c (show_back_buffer): Don't check that F is
not garbaged.
(android_update_selection, android_reset_conversion): Use the
ephemeral last point and handle text conversion being disabled.
* src/buffer.c (syms_of_buffer): Convert old style DEFVAR.
* src/keyboard.c (kbd_buffer_get_event): Handle text conversion
first.
* src/lisp.h: Update prototypes.
* src/lread.c (read_filtered_event): Temporarily disable text
conversion.
* src/sfnt.c (sfnt_decompose_glyph_1, sfnt_decompose_glyph_2):
New functions.
(sfnt_decompose_glyph, sfnt_decompose_instructed_outline):
Refactor contour decomposition to those two functions.
(main): Update tests.
* src/sfntfont-android.c (system_font_directories): Add empty
field.
(Fandroid_enumerate_fonts, init_sfntfont_android): Enumerate
fonts in a user fonts directory.
* src/sfntfont.c (struct sfnt_font_desc): New field
`num_glyphs'.
(sfnt_enum_font_1): Set num_glyphs and avoid duplicate fonts.
(sfntfont_glyph_valid): New function.
(sfntfont_lookup_char, sfntfont_list_1): Make sure glyphs found
are valid.

* src/textconv.c (sync_overlay, really_commit_text)
(really_set_composing_text, really_set_composing_region)
(really_delete_surrounding_text, really_set_point_and_mark)
(handle_pending_conversion_events_1)
(handle_pending_conversion_events, conversion_disabled_p)
(disable_text_conversion, resume_text_conversion)
(Fset_text_conversion_style, syms_of_textconv): Update to
respect new options.
* src/textconv.h:
* src/window.h (GCALIGNED_STRUCT): New field
`ephemeral_last_point'.
* src/xdisp.c (mark_window_display_accurate_1): Set it.
24 files changed:
doc/emacs/android.texi
doc/emacs/input.texi
doc/lispref/commands.texi
java/org/gnu/emacs/EmacsInputConnection.java
java/org/gnu/emacs/EmacsSurfaceView.java
java/org/gnu/emacs/EmacsView.java
lisp/comint.el
lisp/international/fontset.el
lisp/isearch.el
lisp/minibuffer.el
lisp/simple.el
lisp/subr.el
src/androidterm.c
src/buffer.c
src/keyboard.c
src/lisp.h
src/lread.c
src/sfnt.c
src/sfntfont-android.c
src/sfntfont.c
src/textconv.c
src/textconv.h
src/window.h
src/xdisp.c