<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/src/android.c, branch scratch/cedet-object-name</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>; * src/android.c (android_rewrite_spawn_argv): Fix typo.</title>
<updated>2025-03-11T02:14:30+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-03-11T02:14:30+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=f6a56ddb5dd84c9984d49c9c223e043844ae47ae'/>
<id>f6a56ddb5dd84c9984d49c9c223e043844ae47ae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Permit executing programs with &gt;1024 args on Android</title>
<updated>2025-03-05T07:00:14+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-03-05T06:32:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=3d7cc22d25cef88464f18e5cc69eb696f8c8a4a2'/>
<id>3d7cc22d25cef88464f18e5cc69eb696f8c8a4a2</id>
<content type='text'>
* src/android.c (MAXARGS): Delete enumerator.
(android_rewrite_spawn_argv): Don't mandate a maximum number of
arguments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/android.c (MAXARGS): Delete enumerator.
(android_rewrite_spawn_argv): Don't mandate a maximum number of
arguments.
</pre>
</div>
</content>
</entry>
<entry>
<title>Adapt process-tests to Android</title>
<updated>2025-02-28T13:06:48+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-02-28T13:05:55+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=18c8c44bef9b85adf3cff65f08b7f6a8c59687db'/>
<id>18c8c44bef9b85adf3cff65f08b7f6a8c59687db</id>
<content type='text'>
* src/android.c (android_init_thread_events)
(android_run_select_thread): Guarantee that the select thread is
initialized before returning.

* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-process)
(process-tests/fd-setsize-no-crash/make-pipe-process)
(process-tests/fd-setsize-no-crash/make-network-process)
(process-tests/fd-setsize-no-crash/make-serial-process): Skip on
Android.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/android.c (android_init_thread_events)
(android_run_select_thread): Guarantee that the select thread is
initialized before returning.

* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-process)
(process-tests/fd-setsize-no-crash/make-pipe-process)
(process-tests/fd-setsize-no-crash/make-network-process)
(process-tests/fd-setsize-no-crash/make-serial-process): Skip on
Android.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fully support Lisp threads on Android</title>
<updated>2025-02-28T11:54:46+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-02-28T11:49:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=8df582a46836e312ef3bfc36c8038b5f4a2c0d9b'/>
<id>8df582a46836e312ef3bfc36c8038b5f4a2c0d9b</id>
<content type='text'>
* src/android.c (struct android_thread_event_queue): New
structure.  Move global pselect arguments, mutexes, and
semaphores, and pipes here.
(struct android_event_queue) &lt;select_mutex, select_thread&gt;:
Remove to the above-named struct.
(android_init_thread_events, android_finalize_thread_events)
(android_get_poll_thread): New functions.
(android_run_select_thread): Accept a set of mutexes and
thread-local data as the first argument, and operate with them
rather than globals.
(android_handle_sigusr1): Rename to
`android_handle_poll_signal'.  Set thread-specific cancellation
indicator.
(android_init_events): Properly abort after a fatal condition.
Enable interruptible polling on Android 5.1 and later, not 4.2.
(android_select): Never check for queries here, but in
thread_select, if threads are enabled.  Adapt to per-thread
polling threads and only enable interruptible polling on Android
5.1 and later.
(android_before_select): New function.

* src/android.h (android_before_select): New declaration.

* src/thread.c (thread_select): Call `android_before_select'
before the global lock is released.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/android.c (struct android_thread_event_queue): New
structure.  Move global pselect arguments, mutexes, and
semaphores, and pipes here.
(struct android_event_queue) &lt;select_mutex, select_thread&gt;:
Remove to the above-named struct.
(android_init_thread_events, android_finalize_thread_events)
(android_get_poll_thread): New functions.
(android_run_select_thread): Accept a set of mutexes and
thread-local data as the first argument, and operate with them
rather than globals.
(android_handle_sigusr1): Rename to
`android_handle_poll_signal'.  Set thread-specific cancellation
indicator.
(android_init_events): Properly abort after a fatal condition.
Enable interruptible polling on Android 5.1 and later, not 4.2.
(android_select): Never check for queries here, but in
thread_select, if threads are enabled.  Adapt to per-thread
polling threads and only enable interruptible polling on Android
5.1 and later.
(android_before_select): New function.

* src/android.h (android_before_select): New declaration.

* src/thread.c (thread_select): Call `android_before_select'
before the global lock is released.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from savannah/emacs-30</title>
<updated>2025-02-15T08:58:55+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-02-15T08:58:55+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=c37e7cef42877e8222872ee6e00ecd8ab833d56b'/>
<id>c37e7cef42877e8222872ee6e00ecd8ab833d56b</id>
<content type='text'>
58e4bfe3408 Add two missing NULL checks of malloc'd values on Android
81ca9c75f11 ; * etc/PROBLEMS: Document how to grant storage permissio...
d82d4689794 ; * etc/TODO: Rethink finder-known-keywords.
b9b9c33dcbe Fix (Non)GNU ELPA description in manual
87a61eba1b8 Move 'package-archives' documentation to emacs manual
316e47c5af4 ; * src/fns.c (Fmapconcat): Doc fix (bug#76242).
3cfbeb3fca1 ; Fix &gt;72 character long lines in docstring
c68886ddb76 ; Change "virus" to "malicious" in lispref
6701866be4d Document (Non-)GNU ELPA in emacs manual
02851768b72 ; * .mailmap: Add entry for Thuna.  (Bug#76221)
2d7a8cbf4c8 Fix author name
19314257485 Use c-ts-common's comment setup in go-ts-mode (bug#75978)
316893ca387 Add java-language-server to eglot-server-programs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
58e4bfe3408 Add two missing NULL checks of malloc'd values on Android
81ca9c75f11 ; * etc/PROBLEMS: Document how to grant storage permissio...
d82d4689794 ; * etc/TODO: Rethink finder-known-keywords.
b9b9c33dcbe Fix (Non)GNU ELPA description in manual
87a61eba1b8 Move 'package-archives' documentation to emacs manual
316e47c5af4 ; * src/fns.c (Fmapconcat): Doc fix (bug#76242).
3cfbeb3fca1 ; Fix &gt;72 character long lines in docstring
c68886ddb76 ; Change "virus" to "malicious" in lispref
6701866be4d Document (Non-)GNU ELPA in emacs manual
02851768b72 ; * .mailmap: Add entry for Thuna.  (Bug#76221)
2d7a8cbf4c8 Fix author name
19314257485 Use c-ts-common's comment setup in go-ts-mode (bug#75978)
316893ca387 Add java-language-server to eglot-server-programs
</pre>
</div>
</content>
</entry>
<entry>
<title>Add two missing NULL checks of malloc'd values on Android</title>
<updated>2025-02-15T08:58:18+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2025-02-15T08:58:18+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=58e4bfe3408f5f4562bf02ac200b680329f487c2'/>
<id>58e4bfe3408f5f4562bf02ac200b680329f487c2</id>
<content type='text'>
* src/android.c (sendDndUri, sendDndText): Verify that allocated
string memory is non-nil before writing to it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/android.c (sendDndUri, sendDndText): Verify that allocated
string memory is non-nil before writing to it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year to 2025</title>
<updated>2025-01-02T17:39:42+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2025-01-02T17:32:51+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=7fa975adbce3f2ce4ba40ea52110b992a52262b6'/>
<id>7fa975adbce3f2ce4ba40ea52110b992a52262b6</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>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>Prefer static_assert to verify</title>
<updated>2024-08-21T22:51:55+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2024-07-23T22:09:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=7c8e28607b78b371598df58de96c3c3362ad6002'/>
<id>7c8e28607b78b371598df58de96c3c3362ad6002</id>
<content type='text'>
Although static_assert is C11-specific, and Emacs remains on C99, it
has been backported to older compilers by Gnulib.  Gnulib has already
changed to prefer static_assert, and we can do the same.

* lib-src/asset-directory-tool.c (main_2):
* src/alloc.c (BLOCK_ALIGN, aligned_alloc, lisp_align_malloc)
(vectorlike_nbytes, allocate_pseudovector):
* src/android.c (android_globalize_reference, android_set_dashes):
* src/android.h:
* src/androidfont.c (androidfont_draw, androidfont_text_extents):
* src/androidvfs.c:
* src/bidi.c (BIDI_CACHE_MAX_ELTS_PER_SLOT, bidi_find_bracket_pairs):
* src/buffer.c (init_buffer_once):
* src/casefiddle.c (do_casify_multibyte_string):
* src/dispnew.c (scrolling_window, scrolling):
* src/editfns.c (styled_format):
* src/emacs-module.c (module_extract_big_integer):
* src/fileio.c (Fdo_auto_save):
* src/fns.c (next_almost_prime, hash_string):
* src/fringe.c (init_fringe):
* src/keyboard.h (kbd_buffer_store_event_hold):
* src/keymap.c:
* src/lisp.h (memclear, reduce_emacs_uint_to_hash_hash, modiff_incr):
* src/lread.c (skip_lazy_string):
* src/pdumper.c (dump_bignum, Fdump_emacs_portable)
(dump_do_dump_relocation, pdumper_load):
* src/process.c (make_process, Fmake_process, connect_network_socket):
* src/regex-emacs.c:
* src/sort.c (tim_sort):
* src/sysdep.c (init_random, SSIZE_MAX):
* src/thread.c:
* src/timefns.c (trillion_factor):
* src/unexelf.c:
* src/xterm.c (x_send_scroll_bar_event): Prefer static_assert to Gnulib
verify.  Remove import of verify.h, except when used for other reasons.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Although static_assert is C11-specific, and Emacs remains on C99, it
has been backported to older compilers by Gnulib.  Gnulib has already
changed to prefer static_assert, and we can do the same.

* lib-src/asset-directory-tool.c (main_2):
* src/alloc.c (BLOCK_ALIGN, aligned_alloc, lisp_align_malloc)
(vectorlike_nbytes, allocate_pseudovector):
* src/android.c (android_globalize_reference, android_set_dashes):
* src/android.h:
* src/androidfont.c (androidfont_draw, androidfont_text_extents):
* src/androidvfs.c:
* src/bidi.c (BIDI_CACHE_MAX_ELTS_PER_SLOT, bidi_find_bracket_pairs):
* src/buffer.c (init_buffer_once):
* src/casefiddle.c (do_casify_multibyte_string):
* src/dispnew.c (scrolling_window, scrolling):
* src/editfns.c (styled_format):
* src/emacs-module.c (module_extract_big_integer):
* src/fileio.c (Fdo_auto_save):
* src/fns.c (next_almost_prime, hash_string):
* src/fringe.c (init_fringe):
* src/keyboard.h (kbd_buffer_store_event_hold):
* src/keymap.c:
* src/lisp.h (memclear, reduce_emacs_uint_to_hash_hash, modiff_incr):
* src/lread.c (skip_lazy_string):
* src/pdumper.c (dump_bignum, Fdump_emacs_portable)
(dump_do_dump_relocation, pdumper_load):
* src/process.c (make_process, Fmake_process, connect_network_socket):
* src/regex-emacs.c:
* src/sort.c (tim_sort):
* src/sysdep.c (init_random, SSIZE_MAX):
* src/thread.c:
* src/timefns.c (trillion_factor):
* src/unexelf.c:
* src/xterm.c (x_send_scroll_bar_event): Prefer static_assert to Gnulib
verify.  Remove import of verify.h, except when used for other reasons.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix typos</title>
<updated>2024-07-18T09:46:50+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2024-07-07T15:40:31+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a6cab228d4d1a82a80eac81b057857a230eef0b5'/>
<id>a6cab228d4d1a82a80eac81b057857a230eef0b5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
