<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/src/androidterm.h, branch feature/igc</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>Merge branch 'master' into feature/igc</title>
<updated>2026-01-02T20:01:55+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2026-01-02T20:01:55+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e049ec683d3e504e2ae36b37500405b37a162786'/>
<id>e049ec683d3e504e2ae36b37500405b37a162786</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>; Add 2026 to copyright years.</title>
<updated>2026-01-01T12:54:34+00:00</updated>
<author>
<name>Sean Whitton</name>
</author>
<published>2026-01-01T12:54:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c31f6adc31d48076c63ad82b83b2970e1b0d7b9b'/>
<id>c31f6adc31d48076c63ad82b83b2970e1b0d7b9b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement set_window_size_and_position_hook on Android</title>
<updated>2025-12-23T02:39:45+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-12-23T02:39:45+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b0140bcd44326632538dc377dd336b82a1df4dd9'/>
<id>b0140bcd44326632538dc377dd336b82a1df4dd9</id>
<content type='text'>
* java/org/gnu/emacs/EmacsWindow.java (moveResizeWindow): New
method, which alters all of the bounding box of a window at
once.

* src/android.c (android_init_emacs_window): Load method
`move_resize_window'.
(android_move_resize_window): Invoke this method, rather than a
sequence of operations that will produce two ConfigureNotify
events.

* src/androidterm.c (android_set_window_size_and_position_1)
(android_set_window_size_and_position): New functions; ported
from X.
(android_create_terminal): Register the same.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsWindow.java (moveResizeWindow): New
method, which alters all of the bounding box of a window at
once.

* src/android.c (android_init_emacs_window): Load method
`move_resize_window'.
(android_move_resize_window): Invoke this method, rather than a
sequence of operations that will produce two ConfigureNotify
events.

* src/androidterm.c (android_set_window_size_and_position_1)
(android_set_window_size_and_position): New functions; ported
from X.
(android_create_terminal): Register the same.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' into scratch/igc</title>
<updated>2025-01-08T03:04:49+00:00</updated>
<author>
<name>Gerd Möllmann</name>
</author>
<published>2025-01-08T03:04:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=2838be3fd554cf5965967e873a52c1e69363f170'/>
<id>2838be3fd554cf5965967e873a52c1e69363f170</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year to 2025</title>
<updated>2025-01-01T07:39:17+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-01-01T07:39:17+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=4da38c632161867e914b3a13dc760f8019255f94'/>
<id>4da38c632161867e914b3a13dc760f8019255f94</id>
<content type='text'>
Run "TZ=UTC0 admin/update-copyright".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run "TZ=UTC0 admin/update-copyright".
</pre>
</div>
</content>
</entry>
<entry>
<title>Turn union vectorlike_header into struct vectorlike_header</title>
<updated>2024-07-20T15:17:50+00:00</updated>
<author>
<name>Pip Cet</name>
</author>
<published>2024-07-14T10:45:50+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=6068cf00cddcd9f81a1390e7b4b8ecb02e285696'/>
<id>6068cf00cddcd9f81a1390e7b4b8ecb02e285696</id>
<content type='text'>
This makes it feasible to add GC header members to this struct; keeping
it as a union and merely turning its contents into a struct would have
been misleading and required more difficult changes.

* src/lisp.h (struct vectorlike_header): New type.  Adjust comments.
(union vectorlike_header): Remove.
(PSEUDOVECTORP):
(XSETPVECTYPESIZE):
(struct Lisp_Vector):
(PSEUDOVECTOR_TYPEP):
(struct Lisp_Bool_Vector):
(struct Lisp_Char_Table):
(struct Lisp_Sub_Char_Table):
(struct Lisp_Subr):
(struct Lisp_Obarray):
(struct Lisp_Weak_Hash_Table):
(struct Lisp_Hash_Table):
(struct Lisp_Marker):
(struct Lisp_Overlay)
(struct Lisp_Misc_Ptr):
(struct Lisp_Sqlite):
(struct Lisp_User_Ptr):
(struct Lisp_Finalizer):
(vectorlike_nbytes):
* src/alloc.c (pseudovector_nbytes):
(vectorlike_nbytes):
(vectorlike_marked_p):
(set_vectorlike_marked):
(mark_vectorlike):
* src/androidterm.h (struct scroll_bar):
* src/bignum.h (struct Lisp_Bignum):
* src/buffer.h (struct buffer):
* src/comp.c (helper_PSEUDOVECTOR_TYPEP_XUNTAG):
* src/comp.h (struct Lisp_Native_Comp_Unit):
* src/emacs-module.c (struct Lisp_Module_Function):
* src/emacs-module.h.in (struct module_global_reference):
* src/font.h (struct font_spec, struct font_entity)
(struct font):
* src/frame.h (struct frame):
* src/haikuterm.h (struct scroll_bar): Adjust
* src/pdumper.c (_dump_object_start_pseudovector):
(START_DUMP_PVEC):
(finish_dump_pvec):
(dump_pseudovector_lisp_fields):
(dump_vectorlike_generic):
(fill_pseudovec):
(dump_nilled_pseudovec):
* src/pgtkterm.h (struct scroll_bar):
* src/process.h (struct Lisp_Process):
* src/termhooks.h (struct terminal):
* src/thread.h (struct thread_state):
(struct Lisp_Mutex):
(struct Lisp_CondVar):
* src/treesit.h (struct Lisp_TS_Parser)
(struct Lisp_TS_Node):
(struct Lisp_TS_Query):
* src/w32term.h (struct scroll_bar):
* src/window.c (make_parent_window):
(struct save_window_data):
(struct saved_window):
* src/window.h (struct window):
* src/xterm.h (struct scroll_bar):
* src/xwidget.h (struct xwidget):
(struct xwidget_view): Replace `union vectorlike_header' by `struct
vectorlike_header' throughout.
* doc/lispref/internals.texi: Fix references.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes it feasible to add GC header members to this struct; keeping
it as a union and merely turning its contents into a struct would have
been misleading and required more difficult changes.

* src/lisp.h (struct vectorlike_header): New type.  Adjust comments.
(union vectorlike_header): Remove.
(PSEUDOVECTORP):
(XSETPVECTYPESIZE):
(struct Lisp_Vector):
(PSEUDOVECTOR_TYPEP):
(struct Lisp_Bool_Vector):
(struct Lisp_Char_Table):
(struct Lisp_Sub_Char_Table):
(struct Lisp_Subr):
(struct Lisp_Obarray):
(struct Lisp_Weak_Hash_Table):
(struct Lisp_Hash_Table):
(struct Lisp_Marker):
(struct Lisp_Overlay)
(struct Lisp_Misc_Ptr):
(struct Lisp_Sqlite):
(struct Lisp_User_Ptr):
(struct Lisp_Finalizer):
(vectorlike_nbytes):
* src/alloc.c (pseudovector_nbytes):
(vectorlike_nbytes):
(vectorlike_marked_p):
(set_vectorlike_marked):
(mark_vectorlike):
* src/androidterm.h (struct scroll_bar):
* src/bignum.h (struct Lisp_Bignum):
* src/buffer.h (struct buffer):
* src/comp.c (helper_PSEUDOVECTOR_TYPEP_XUNTAG):
* src/comp.h (struct Lisp_Native_Comp_Unit):
* src/emacs-module.c (struct Lisp_Module_Function):
* src/emacs-module.h.in (struct module_global_reference):
* src/font.h (struct font_spec, struct font_entity)
(struct font):
* src/frame.h (struct frame):
* src/haikuterm.h (struct scroll_bar): Adjust
* src/pdumper.c (_dump_object_start_pseudovector):
(START_DUMP_PVEC):
(finish_dump_pvec):
(dump_pseudovector_lisp_fields):
(dump_vectorlike_generic):
(fill_pseudovec):
(dump_nilled_pseudovec):
* src/pgtkterm.h (struct scroll_bar):
* src/process.h (struct Lisp_Process):
* src/termhooks.h (struct terminal):
* src/thread.h (struct thread_state):
(struct Lisp_Mutex):
(struct Lisp_CondVar):
* src/treesit.h (struct Lisp_TS_Parser)
(struct Lisp_TS_Node):
(struct Lisp_TS_Query):
* src/w32term.h (struct scroll_bar):
* src/window.c (make_parent_window):
(struct save_window_data):
(struct saved_window):
* src/window.h (struct window):
* src/xterm.h (struct scroll_bar):
* src/xwidget.h (struct xwidget):
(struct xwidget_view): Replace `union vectorlike_header' by `struct
vectorlike_header' throughout.
* doc/lispref/internals.texi: Fix references.
</pre>
</div>
</content>
</entry>
<entry>
<title>Communicate frame titles to the window manager on Android</title>
<updated>2024-05-13T06:42:35+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-05-13T06:40:15+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=9443f8145e1db86664a4af318b3bd1448094040e'/>
<id>9443f8145e1db86664a4af318b3bd1448094040e</id>
<content type='text'>
* java/org/gnu/emacs/EmacsActivity.java (detachWindow)
(attachWindow): Call updateWmName.
(updateWmName): New function; transfer wm name from the window
attached to the task's description.

* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
&lt;wmName&gt;: New field.
(setWmName): New function.

* src/android.c (android_init_emacs_window): Link to new
function.
(android_set_wm_name): New function.

* src/android.h (struct android_emacs_service): Delete unused
entries.

* src/androidfns.c (android_set_name_internal, android_set_name)
(android_implicitly_set_name, android_explicitly_set_name)
(android_set_title): Port from X.

* src/androidterm.c (android_term_init): Compute default frame
title.

* src/androidterm.h (struct android_display_info) &lt;x_id_name&gt;:
New field.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsActivity.java (detachWindow)
(attachWindow): Call updateWmName.
(updateWmName): New function; transfer wm name from the window
attached to the task's description.

* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
&lt;wmName&gt;: New field.
(setWmName): New function.

* src/android.c (android_init_emacs_window): Link to new
function.
(android_set_wm_name): New function.

* src/android.h (struct android_emacs_service): Delete unused
entries.

* src/androidfns.c (android_set_name_internal, android_set_name)
(android_implicitly_set_name, android_explicitly_set_name)
(android_set_title): Port from X.

* src/androidterm.c (android_term_init): Compute default frame
title.

* src/androidterm.h (struct android_display_info) &lt;x_id_name&gt;:
New field.
</pre>
</div>
</content>
</entry>
<entry>
<title>Complete pacification of build warnings on Android</title>
<updated>2024-05-13T00:25:39+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-05-13T00:25:39+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b86359d4abfb47820b5644adb0306bd628de6dd8'/>
<id>b86359d4abfb47820b5644adb0306bd628de6dd8</id>
<content type='text'>
* build-aux/makecounter.sh: Introduce extern declaration of
emacs_shortlisp_counter.

* src/android.c (android_class_path): Declare static.

* src/androidfont.c (font_driver_class, font_spec_class)
(integer_class, font_metrics_class, font_object_class): Declare
static.

* src/androidterm.c (android_frame_parm_handlers): Move
declaration...

* src/androidterm.h (android_frame_parm_handlers): ... here.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* build-aux/makecounter.sh: Introduce extern declaration of
emacs_shortlisp_counter.

* src/android.c (android_class_path): Declare static.

* src/androidfont.c (font_driver_class, font_spec_class)
(integer_class, font_metrics_class, font_object_class): Declare
static.

* src/androidterm.c (android_frame_parm_handlers): Move
declaration...

* src/androidterm.h (android_frame_parm_handlers): ... here.
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable configuring Emacs for "pseudo-grayscale" systems on Android</title>
<updated>2024-04-23T07:57:45+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-04-23T07:57:45+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=cd7456e00d719d32c203c71b4e23c98b0c4e1967'/>
<id>cd7456e00d719d32c203c71b4e23c98b0c4e1967</id>
<content type='text'>
* doc/emacs/android.texi (Android Windowing): Document how to
configure Emacs for monochrome displays.

* src/androidfns.c (Fx_display_visual_class): Return
Qstatic_gray when n_planes is smaller than 24.
(Fandroid_get_connection): Set n_planes by the value of
android_display_planes.
(syms_of_androidfns): &lt;Qstatic_gray&gt;: New function.

* src/androidterm.c (android_alloc_nearest_color): Allocate
monochrome colors similarly to the X server.
(android_query_colors): Fix typos.
(android_draw_fringe_bitmap): Create bitmaps of n_image_planes
depth.
(android_term_init): Initialize n_image_planes to 24.
(syms_of_androidterm) &lt;android_display_planes&gt;: New variable.

* src/androidterm.h (struct android_display_info): New field
`n_image_planes'.

* src/image.c (n_planes) [HAVE_ANDROID]: Define to
n_image_planes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/emacs/android.texi (Android Windowing): Document how to
configure Emacs for monochrome displays.

* src/androidfns.c (Fx_display_visual_class): Return
Qstatic_gray when n_planes is smaller than 24.
(Fandroid_get_connection): Set n_planes by the value of
android_display_planes.
(syms_of_androidfns): &lt;Qstatic_gray&gt;: New function.

* src/androidterm.c (android_alloc_nearest_color): Allocate
monochrome colors similarly to the X server.
(android_query_colors): Fix typos.
(android_draw_fringe_bitmap): Create bitmaps of n_image_planes
depth.
(android_term_init): Initialize n_image_planes to 24.
(syms_of_androidterm) &lt;android_display_planes&gt;: New variable.

* src/androidterm.h (struct android_display_info): New field
`n_image_planes'.

* src/image.c (n_planes) [HAVE_ANDROID]: Define to
n_image_planes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Correctly handle non-BMP characters in Android content file names</title>
<updated>2024-03-23T07:37:43+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-23T07:37:43+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e39cb515a108682b520e499c334a600ee634fbf6'/>
<id>e39cb515a108682b520e499c334a600ee634fbf6</id>
<content type='text'>
* lisp/term/android-win.el (android-encode-jni)
(android-decode-jni, android-jni): New coding system, for
Android file names and runtime data.

* src/androidterm.h (syms_of_androidvfs): New function.

* src/androidvfs.c (struct android_special_vnode): New field
special_coding_system.
(android_saf_tree_readdir): Decode the file name using the
android-jni coding system.
(special_vnodes): &lt;contents&gt;: Specify a file name coding system.
(android_vfs_convert_name): New function.
(android_root_name): If a special coding system be specified for
a special vnode, convert components to it before invoking its
name function.
(syms_of_androidvfs): New symbol Qandroid_jni.

* src/emacs.c (android_emacs_init): Call syms_of_androidvfs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/term/android-win.el (android-encode-jni)
(android-decode-jni, android-jni): New coding system, for
Android file names and runtime data.

* src/androidterm.h (syms_of_androidvfs): New function.

* src/androidvfs.c (struct android_special_vnode): New field
special_coding_system.
(android_saf_tree_readdir): Decode the file name using the
android-jni coding system.
(special_vnodes): &lt;contents&gt;: Specify a file name coding system.
(android_vfs_convert_name): New function.
(android_root_name): If a special coding system be specified for
a special vnode, convert components to it before invoking its
name function.
(syms_of_androidvfs): New symbol Qandroid_jni.

* src/emacs.c (android_emacs_init): Call syms_of_androidvfs.
</pre>
</div>
</content>
</entry>
</feed>
