<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/lib-src, branch feature/package-activate</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>; 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>make-docfile preferring streq</title>
<updated>2025-12-14T22:47:22+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-12-14T22:45:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=5fe0b9e6b017d7f6662ee7fcb5aa6d1ce2ede316'/>
<id>5fe0b9e6b017d7f6662ee7fcb5aa6d1ce2ede316</id>
<content type='text'>
* lib-src/make-docfile.c (main, add_global, compare_globals):
Prefer streq to strcmp where either will do.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib-src/make-docfile.c (main, add_global, compare_globals):
Prefer streq to strcmp where either will do.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support nested parens in make-docfile args</title>
<updated>2025-12-14T22:47:21+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-12-14T22:45:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=19e5d27dafa84d93cb84469c9f21594c05204bb3'/>
<id>19e5d27dafa84d93cb84469c9f21594c05204bb3</id>
<content type='text'>
* lib-src/make-docfile.c (scan_c_stream): Allow nested parens.
E.g., ‘(Lisp_Object XXX (force))’ for the identifier ‘force’,
where XXX is a macro.  This is for future changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib-src/make-docfile.c (scan_c_stream): Allow nested parens.
E.g., ‘(Lisp_Object XXX (force))’ for the identifier ‘force’,
where XXX is a macro.  This is for future changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix make-docfile strncmp typo</title>
<updated>2025-12-14T22:47:21+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-12-14T22:45:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=aeab91bc55db67222cb9142476916ad08d32c98f'/>
<id>aeab91bc55db67222cb9142476916ad08d32c98f</id>
<content type='text'>
* lib-src/make-docfile.c (write_c_args):
Don’t mishandle the identifiers ‘v’, ‘vo’, and ‘voi’.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib-src/make-docfile.c (write_c_args):
Don’t mishandle the identifiers ‘v’, ‘vo’, and ‘voi’.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve make-docfile.c for C23</title>
<updated>2025-12-14T22:47:21+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-12-14T22:45:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=1269bbdaa91b4eb9d17117bfd0718de297040271'/>
<id>1269bbdaa91b4eb9d17117bfd0718de297040271</id>
<content type='text'>
* lib-src/make-docfile.c (write_c_args): Don’t diagnose “()”.
In C23 it’s equivalent to (void), and it works fine (albeit with
less type-checking) in older C.  Omit first arg, which is no
longer needed.  Caller changed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib-src/make-docfile.c (write_c_args): Don’t diagnose “()”.
In C23 it’s equivalent to (void), and it works fine (albeit with
less type-checking) in older C.  Omit first arg, which is no
longer needed.  Caller changed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix some make-docfile core dumps</title>
<updated>2025-12-14T22:47:21+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-12-14T22:45:49+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=51b8a7c7cb4132ce1fc239c86b5858fa7636b488'/>
<id>51b8a7c7cb4132ce1fc239c86b5858fa7636b488</id>
<content type='text'>
This bit me when I ran ‘make’ with typos in the Emacs source.
* lib-src/make-docfile.c (struct rcsoc_state.buf_lim):
New member.
(read_c_string_or_comment): Initialize it.
(put_char, scan_c_stream): Check for buffer overflow.
(scan_c_stream): Output a diagnostic rather than aborting
when the buffer overflows.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This bit me when I ran ‘make’ with typos in the Emacs source.
* lib-src/make-docfile.c (struct rcsoc_state.buf_lim):
New member.
(read_c_string_or_comment): Initialize it.
(put_char, scan_c_stream): Check for buffer overflow.
(scan_c_stream): Output a diagnostic rather than aborting
when the buffer overflows.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix mis-declarations of non-const functions</title>
<updated>2025-11-20T00:21:24+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-11-19T19:18:13+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=20fd47e741342e160d774ae6afee7182bba0de65'/>
<id>20fd47e741342e160d774ae6afee7182bba0de65</id>
<content type='text'>
Problem for mpz_get_d_rounded reported by Helmut Eller in:
https://lists.gnu.org/r/emacs-devel/2025-11/msg00795.html
* lib-src/make-docfile.c (DEFUN_pure): New constant.
(write_globals, scan_c_stream): Support "attributes: pure".
* src/bignum.h (mpz_get_d_rounded):
* src/data.c (Fsymbolp, Fmodule_function_p, Fintegerp, Fnumberp):
* src/lisp.h (bignum_to_double, bignum_to_intmax)
(bignum_to_uintmax, bignum_bufsize):
Now pure, not const, since they depend on current state.
For example, Fsymbolp now inspects symbols_with_pos_enabled,
and the bignum functions inspect bignum contents in memory.
* src/data.c (Feq):
* src/xfaces.c (Fface_attribute_relative_p):
No longer const, since they might abort when debugging.
* src/pdumper.h (pdumper_object_p, pdumper_cold_object_p)
(pdumper_find_object_type, pdumper_object_p_precise):
These are not const functions.  But there is no need to declare
them to be pure, either, as they’re inline so the compiler can
figure it out.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem for mpz_get_d_rounded reported by Helmut Eller in:
https://lists.gnu.org/r/emacs-devel/2025-11/msg00795.html
* lib-src/make-docfile.c (DEFUN_pure): New constant.
(write_globals, scan_c_stream): Support "attributes: pure".
* src/bignum.h (mpz_get_d_rounded):
* src/data.c (Fsymbolp, Fmodule_function_p, Fintegerp, Fnumberp):
* src/lisp.h (bignum_to_double, bignum_to_intmax)
(bignum_to_uintmax, bignum_bufsize):
Now pure, not const, since they depend on current state.
For example, Fsymbolp now inspects symbols_with_pos_enabled,
and the bignum functions inspect bignum contents in memory.
* src/data.c (Feq):
* src/xfaces.c (Fface_attribute_relative_p):
No longer const, since they might abort when debugging.
* src/pdumper.h (pdumper_object_p, pdumper_cold_object_p)
(pdumper_find_object_type, pdumper_object_p_precise):
These are not const functions.  But there is no need to declare
them to be pure, either, as they’re inline so the compiler can
figure it out.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update from Gnulib by running admin/merge-gnulib</title>
<updated>2025-11-04T21:32:58+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-11-04T17:14:54+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=59fbaca6b9b48c217c60fc5ab21240ba104059e8'/>
<id>59fbaca6b9b48c217c60fc5ab21240ba104059e8</id>
<content type='text'>
* admin/merge-gnulib (GNULIB_MODULES): Add stringeq.
With current Gnulib it is already present as in indirect dependency;
listing it here because Emacs now depends on it directly.
* lib-src/ebrowse.c, lib-src/etags.c:
(streq): Remove, as Gnulib defines this now.
* lib/fseterr.c, lib/fseterr.h, lib/issymlink.c, lib/issymlink.h:
* lib/issymlinkat.c, lib/stdio-consolesafe.c, lib/string.c:
* m4/fseterr.m4, m4/gettext_h.m4, m4/stringeq.m4:
New files from Gnulib.
* src/conf_post.h (tzfree) [__ANDROID_API__ &gt;= 35]: Remove.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* admin/merge-gnulib (GNULIB_MODULES): Add stringeq.
With current Gnulib it is already present as in indirect dependency;
listing it here because Emacs now depends on it directly.
* lib-src/ebrowse.c, lib-src/etags.c:
(streq): Remove, as Gnulib defines this now.
* lib/fseterr.c, lib/fseterr.h, lib/issymlink.c, lib/issymlink.h:
* lib/issymlinkat.c, lib/stdio-consolesafe.c, lib/string.c:
* m4/fseterr.m4, m4/gettext_h.m4, m4/stringeq.m4:
New files from Gnulib.
* src/conf_post.h (tzfree) [__ANDROID_API__ &gt;= 35]: Remove.
</pre>
</div>
</content>
</entry>
<entry>
<title>Port varargs macros better to C99</title>
<updated>2025-06-28T06:54:45+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2025-06-28T06:53:32+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=dd1efa5309d82139c6637e21ebd9eeb55e1814c1'/>
<id>dd1efa5309d82139c6637e21ebd9eeb55e1814c1</id>
<content type='text'>
C99 prohibits passing zero args to macro’s ‘...’.
* lib-src/seccomp-filter.c (RULE0): New macro, which is like RULE
except with zero args.  All zero-arg uses of RULE changed to RULE0.
* src/comp.c (compile_function, Fcomp__init_ctxt, syms_of_comp):
Change ‘CALLN (Fmake_hash_table)’ to ‘Fmake_hash_table (0, NULL)’,
since CALLN requires at least two args in C99.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
C99 prohibits passing zero args to macro’s ‘...’.
* lib-src/seccomp-filter.c (RULE0): New macro, which is like RULE
except with zero args.  All zero-arg uses of RULE changed to RULE0.
* src/comp.c (compile_function, Fcomp__init_ctxt, syms_of_comp):
Change ‘CALLN (Fmake_hash_table)’ to ‘Fmake_hash_table (0, NULL)’,
since CALLN requires at least two args in C99.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix warnings in MinGW builds</title>
<updated>2025-06-14T13:56:44+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2025-06-14T13:56:44+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=82766b71a45a691e19386422d3a12a3e0321b2e8'/>
<id>82766b71a45a691e19386422d3a12a3e0321b2e8</id>
<content type='text'>
* src/w32fns.c (msh_mousewheel): Declare.
* src/treesit.c (treesit_debug_print_linecol): Fix format
specifiers.

* lib-src/pop.c (pfn_getaddrinfo, pfn_freeaddrinfo): Now static.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/w32fns.c (msh_mousewheel): Declare.
* src/treesit.c (treesit_debug_print_linecol): Fix format
specifiers.

* lib-src/pop.c (pfn_getaddrinfo, pfn_freeaddrinfo): Now static.
</pre>
</div>
</content>
</entry>
</feed>
