<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/src, branch master</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>New faces 'tab-line-active' and 'tab-line-inactive' (bug#80742)</title>
<updated>2026-04-14T17:14:15+00:00</updated>
<author>
<name>Juri Linkov</name>
</author>
<published>2026-04-14T17:14:15+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=0384600a21fb363e623afa658d1e66a54f79d2fb'/>
<id>0384600a21fb363e623afa658d1e66a54f79d2fb</id>
<content type='text'>
This is intended to parallel the 'mode-line-active/inactive'
and 'header-line-active/inactive' distinction.

* doc/emacs/display.texi (Standard Faces): Document the new faces.

* lisp/faces.el (tab-line-active, tab-line-inactive): Add new faces.

* lisp/tab-line.el (tab-line-faces): Add new faces
to MEMBERS arg of 'defgroup'.
(tab-line-auto-hscroll): Use one of the faces
depending on 'mode-line-window-selected-p'.

* src/dispextern.h (CURRENT_TAB_LINE_ACTIVE_FACE_ID_3)
(CURRENT_TAB_LINE_ACTIVE_FACE_ID): New macros
based on header-line equivalents.
(CURRENT_TAB_LINE_HEIGHT): Use CURRENT_TAB_LINE_ACTIVE_FACE_ID.
(face_id): Use TAB_LINE_ACTIVE_FACE_ID and
TAB_LINE_INACTIVE_FACE_ID instead of TAB_LINE_FACE_ID.

* src/xdisp.c (window_box_height, pos_visible_p, init_iterator)
(window_text_pixel_size, display_mode_lines, display_mode_line)
(format-mode-line): Replace all uses of TAB_LINE_FACE_ID with
either a new macro or the new face IDs.

* src/xfaces.c (lookup_basic_face, realize_basic_faces):
Map new face IDs to their lisp symbols.
(syms_of_xfaces): New lisp symbols.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is intended to parallel the 'mode-line-active/inactive'
and 'header-line-active/inactive' distinction.

* doc/emacs/display.texi (Standard Faces): Document the new faces.

* lisp/faces.el (tab-line-active, tab-line-inactive): Add new faces.

* lisp/tab-line.el (tab-line-faces): Add new faces
to MEMBERS arg of 'defgroup'.
(tab-line-auto-hscroll): Use one of the faces
depending on 'mode-line-window-selected-p'.

* src/dispextern.h (CURRENT_TAB_LINE_ACTIVE_FACE_ID_3)
(CURRENT_TAB_LINE_ACTIVE_FACE_ID): New macros
based on header-line equivalents.
(CURRENT_TAB_LINE_HEIGHT): Use CURRENT_TAB_LINE_ACTIVE_FACE_ID.
(face_id): Use TAB_LINE_ACTIVE_FACE_ID and
TAB_LINE_INACTIVE_FACE_ID instead of TAB_LINE_FACE_ID.

* src/xdisp.c (window_box_height, pos_visible_p, init_iterator)
(window_text_pixel_size, display_mode_lines, display_mode_line)
(format-mode-line): Replace all uses of TAB_LINE_FACE_ID with
either a new macro or the new face IDs.

* src/xfaces.c (lookup_basic_face, realize_basic_faces):
Map new face IDs to their lisp symbols.
(syms_of_xfaces): New lisp symbols.
</pre>
</div>
</content>
</entry>
<entry>
<title>; * src/conf_post.h: Another tweak of conditionals for MinGW64.</title>
<updated>2026-04-14T14:48:59+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2026-04-14T14:48:59+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=dcbfa53e4ba155c4c50cc045466d7eeeff738281'/>
<id>dcbfa53e4ba155c4c50cc045466d7eeeff738281</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>; And one more attempt to fix MinGW64 build</title>
<updated>2026-04-14T13:02:42+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2026-04-14T13:02:42+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=5e34dba5b8913b6dbe6d4a2dd2dbe087f81b15dc'/>
<id>5e34dba5b8913b6dbe6d4a2dd2dbe087f81b15dc</id>
<content type='text'>
* src/conf_post.h [WINDOWSNT]: Use "#if !FOO" because HAVE_DECL_*
are defined to zero.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/conf_post.h [WINDOWSNT]: Use "#if !FOO" because HAVE_DECL_*
are defined to zero.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Another attempt to fix the MinGW64 build</title>
<updated>2026-04-14T12:32:11+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2026-04-14T12:32:11+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=6bda6e21234dd07504362755c8c22e5f15ee92f7'/>
<id>6bda6e21234dd07504362755c8c22e5f15ee92f7</id>
<content type='text'>
* src/conf_post.h [WINDOWSNT]: Add prototype for 'getline'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/conf_post.h [WINDOWSNT]: Add prototype for 'getline'.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix MinGW64 build due to missing 'getdelim' prototype</title>
<updated>2026-04-14T11:18:49+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2026-04-14T11:18:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=601c099d1d3650a0153cd8bfb6a608dd0044dc97'/>
<id>601c099d1d3650a0153cd8bfb6a608dd0044dc97</id>
<content type='text'>
* src/conf_post.h [WINDOWSNT]: Add prototype for 'getdelim'.
Reported by Angelo Graziosi &lt;angelo.g0@libero.it&gt;.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/conf_post.h [WINDOWSNT]: Add prototype for 'getdelim'.
Reported by Angelo Graziosi &lt;angelo.g0@libero.it&gt;.
</pre>
</div>
</content>
</entry>
<entry>
<title>SETUP_SYNTAX_TABLE: syntax-propertize more lazily (bug#80600)</title>
<updated>2026-04-13T20:45:27+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2026-04-13T20:45:27+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=6942d508f0c0aea17b72e1ce4a612425082316e5'/>
<id>6942d508f0c0aea17b72e1ce4a612425082316e5</id>
<content type='text'>
Many regexps do not pay attention to syntax tables at all
because they don't use things like \s, \b, \&lt;, or \_&lt;.
So delay the actual initialization of the machinery for
`syntax-table` properties (especially the call to `syntax-propertize`)
until the first time we actually need to consult the syntax of
a character.

* src/syntax.c (uninitialized_interval): New constant.
(RE_SETUP_SYNTAX_TABLE_FOR_OBJECT, SETUP_SYNTAX_TABLE):
Set `forw/backward_i` to that new constant to indicate they haven't
actually be initialized yet.
Set `start` and `stop` fields right away, instead of delegating it to
`update_syntax_table`, so that `e_property` and `b_property`
can be set independently.
(update_syntax_table): Remove the `init` argument.  Instead, discover
the need for initialization based on the fact that `forw/backward_i`
are uninitialized.  Presume `start` and `stop` fields have been
set already.
(parse_sexp_propertize): Update call accordingly.
(update_syntax_table_forward): Remove the `init` argument.

* src/syntax.h (update_syntax_table, update_syntax_table_forward):
Remove the `init` argument.
(UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD):
Update calls accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Many regexps do not pay attention to syntax tables at all
because they don't use things like \s, \b, \&lt;, or \_&lt;.
So delay the actual initialization of the machinery for
`syntax-table` properties (especially the call to `syntax-propertize`)
until the first time we actually need to consult the syntax of
a character.

* src/syntax.c (uninitialized_interval): New constant.
(RE_SETUP_SYNTAX_TABLE_FOR_OBJECT, SETUP_SYNTAX_TABLE):
Set `forw/backward_i` to that new constant to indicate they haven't
actually be initialized yet.
Set `start` and `stop` fields right away, instead of delegating it to
`update_syntax_table`, so that `e_property` and `b_property`
can be set independently.
(update_syntax_table): Remove the `init` argument.  Instead, discover
the need for initialization based on the fact that `forw/backward_i`
are uninitialized.  Presume `start` and `stop` fields have been
set already.
(parse_sexp_propertize): Update call accordingly.
(update_syntax_table_forward): Remove the `init` argument.

* src/syntax.h (update_syntax_table, update_syntax_table_forward):
Remove the `init` argument.
(UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD):
Update calls accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix hangs on MS-Windows when deleting a pipe process</title>
<updated>2026-04-13T14:06:46+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2026-04-13T14:06:46+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=5d0efe0a5adc025154248350028a718c6906d047'/>
<id>5d0efe0a5adc025154248350028a718c6906d047</id>
<content type='text'>
* src/w32.c (sys_close): Don't close a descriptor from which the
reader thread is reading, to avoid hanging Emacs.  (Bug#80770)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/w32.c (sys_close): Don't close a descriptor from which the
reader thread is reading, to avoid hanging Emacs.  (Bug#80770)
</pre>
</div>
</content>
</entry>
<entry>
<title>; * src/xwidget.c (Fmake_xwidget): Fix commentary.</title>
<updated>2026-04-12T11:24:51+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2026-04-12T11:24:51+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1f946a4497d70a7be87bef9d76587a686635e388'/>
<id>1f946a4497d70a7be87bef9d76587a686635e388</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>xwidgets: re-enable with newer webkit2gtk</title>
<updated>2026-04-12T11:22:26+00:00</updated>
<author>
<name>Dirk-Jan C. Binnema</name>
</author>
<published>2026-04-03T06:41:13+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=4e855f90d1b1c3996b408d3f5d9e02d0ca7fd792'/>
<id>4e855f90d1b1c3996b408d3f5d9e02d0ca7fd792</id>
<content type='text'>
By disabling hw-acceleration we can re-enable xwidgets with newer
webkit2gtk versions (Bug#80728).
Newer versions were disallowed (Bug#66068) since they abort when a
webkit view is created; however, they work fine as long as we disable
hw-acceleration, since the off-screen windows that xwidgets uses do not
support that.
* configure.ac: Remove upper-bound for webkit2gtk version check.
* src/xwidget.c (Fmake_xwidget): Turn off hardware-acceleration.

Copyright-paperwork-exempt: yes
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By disabling hw-acceleration we can re-enable xwidgets with newer
webkit2gtk versions (Bug#80728).
Newer versions were disallowed (Bug#66068) since they abort when a
webkit view is created; however, they work fine as long as we disable
hw-acceleration, since the off-screen windows that xwidgets uses do not
support that.
* configure.ac: Remove upper-bound for webkit2gtk version check.
* src/xwidget.c (Fmake_xwidget): Turn off hardware-acceleration.

Copyright-paperwork-exempt: yes
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix setting and restoring cursor shape on Windows Terminal</title>
<updated>2026-04-11T12:29:25+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2026-04-11T12:29:25+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e8203e314241112ce581e167083e38700cb3ce96'/>
<id>e8203e314241112ce581e167083e38700cb3ce96</id>
<content type='text'>
* src/w32console.c (w32con_set_cursor_size): New function.
(w32con_reset_terminal_modes, w32con_set_terminal_modes)
(Fset_cursor_size): Use it to change cursor shape on Windows
Terminal.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/w32console.c (w32con_set_cursor_size): New function.
(w32con_reset_terminal_modes, w32con_set_terminal_modes)
(Fset_cursor_size): Use it to change cursor shape on Windows
Terminal.
</pre>
</div>
</content>
</entry>
</feed>
