<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/src/process.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>Merge branch 'master' into feature/igc</title>
<updated>2025-06-19T19:14:56+00:00</updated>
<author>
<name>Pip Cet</name>
</author>
<published>2025-06-19T19:14:21+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=f1737342518baf6968ad0c09132565cad5f4a645'/>
<id>f1737342518baf6968ad0c09132565cad5f4a645</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve documentation of the internal Lisp_Process-&gt;status field</title>
<updated>2025-06-14T15:02:40+00:00</updated>
<author>
<name>Steven Allen</name>
</author>
<published>2025-06-13T14:51:37+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=4d88b925ba839fab9448915edcc699a6647df71c'/>
<id>4d88b925ba839fab9448915edcc699a6647df71c</id>
<content type='text'>
Contrary to the existing documentation here, the value of this
field cannot be the symbols open or closed.  Furthermore, this
field is never set to "stop" for network connections.
* src/process.h (Lisp_Process): Improve/fix documentation of the
'status' field.  (Bug#78784)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Contrary to the existing documentation here, the value of this
field cannot be the symbols open or closed.  Furthermore, this
field is never set to "stop" for network connections.
* src/process.h (Lisp_Process): Improve/fix documentation of the
'status' field.  (Bug#78784)
</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>Fix gnutls crashes on MPS Windows builds</title>
<updated>2024-08-24T17:23:55+00:00</updated>
<author>
<name>Pip Cet</name>
</author>
<published>2024-08-24T17:04:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=6682d0e6c96b0279929e3f47ae0820dd8a513d4b'/>
<id>6682d0e6c96b0279929e3f47ae0820dd8a513d4b</id>
<content type='text'>
A more general mechanism to pin pointers used for external callbacks is
needed.

* src/process.h (struct Lisp_Process): Add 'gnutls_pproc' pointer to a
pointer to ourselves.
* src/alloc.c (cleanup_vector): Free 'gnutls_pproc'.
* src/gnutls.c (emacs_gnutls_handshake): Allocate 'gnutls_pproc', and
use it.
* src/w32.c (emacs_gnutls_pull):
(emacs_gnutls_push): Use indirection through 'gnutls_pproc'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A more general mechanism to pin pointers used for external callbacks is
needed.

* src/process.h (struct Lisp_Process): Add 'gnutls_pproc' pointer to a
pointer to ourselves.
* src/alloc.c (cleanup_vector): Free 'gnutls_pproc'.
* src/gnutls.c (emacs_gnutls_handshake): Allocate 'gnutls_pproc', and
use it.
* src/w32.c (emacs_gnutls_pull):
(emacs_gnutls_push): Use indirection through 'gnutls_pproc'.
</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>Process SIGCHLD asynchronously</title>
<updated>2024-06-30T18:57:04+00:00</updated>
<author>
<name>Helmut Eller</name>
</author>
<published>2024-06-30T18:17:05+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=edda0a8e9dfadc8b25257c9f351ce0fde4bd04b0'/>
<id>edda0a8e9dfadc8b25257c9f351ce0fde4bd04b0</id>
<content type='text'>
Introduce a async_work_queue that is processed as part of
process_pending_signals.

* src/keyboard.h (struct async_work_item)
(enum async_work_type): New types.
(enqueue_async_work): New function.
* src/keyboard.c (struct async_work_queue): New type.
(async_work_queue): New global variable.
(async_work_queue_len, async_work_queue_pop_front)
(do_async_work, do_async_work_1): New helpers.
(enqueue_async_work): Implementation.
(process_pending_signals): Call do_async_work;
* src/process.h (process_sigchld_async): New function.
* src/process.c (process_sigchld_async): Factored out from
handle_child_signal.
(handle_child_signal): Use enqueue_async_work.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce a async_work_queue that is processed as part of
process_pending_signals.

* src/keyboard.h (struct async_work_item)
(enum async_work_type): New types.
(enqueue_async_work): New function.
* src/keyboard.c (struct async_work_queue): New type.
(async_work_queue): New global variable.
(async_work_queue_len, async_work_queue_pop_front)
(do_async_work, do_async_work_1): New helpers.
(enqueue_async_work): Implementation.
(process_pending_signals): Call do_async_work;
* src/process.h (process_sigchld_async): New function.
* src/process.c (process_sigchld_async): Factored out from
handle_child_signal.
(handle_child_signal): Use enqueue_async_work.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remember the value of read_process_output_max when process is created</title>
<updated>2024-06-08T23:51:47+00:00</updated>
<author>
<name>Dmitry Gutov</name>
</author>
<published>2024-06-08T23:51:47+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=8cf6e311b87fabeba70d59647883a86c8c92b86f'/>
<id>8cf6e311b87fabeba70d59647883a86c8c92b86f</id>
<content type='text'>
* src/process.h (Lisp_Process): Add field readmax.

* src/process.c (read_process_output): Use it.
(create_process): Save the value of read_process_output_max to
it when the process is created (bug#66020).  Use for pipe size.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/process.h (Lisp_Process): Add field readmax.

* src/process.c (read_process_output): Use it.
(create_process): Save the value of read_process_output_max to
it when the process is created (bug#66020).  Use for pipe size.
</pre>
</div>
</content>
</entry>
</feed>
