]> git.ipfire.org Git - thirdparty/gnulib.git/log
thirdparty/gnulib.git
26 hours agogettext: Partially update to gettext 1.0. master
Bruno Haible [Thu, 29 Jan 2026 18:28:59 +0000 (19:28 +0100)] 
gettext: Partially update to gettext 1.0.

* m4/gettext.m4: Update from gettext 1.0.
* m4/nls.m4: Likewise.
* m4/progtest.m4: Likewise.

27 hours agorelocatable-prog-wrapper: Fix syntax error on Linux (regr. 2025-12-09).
Bruno Haible [Thu, 29 Jan 2026 18:04:32 +0000 (19:04 +0100)] 
relocatable-prog-wrapper: Fix syntax error on Linux (regr. 2025-12-09).

Reported by Erik Schnetter <schnetter@gmail.com>
at <https://savannah.gnu.org/bugs/?67987>.

* lib/progreloc.c (find_executable): Remove extraneous brace.

2 days agodoc: Fix some links to copy_file_range issues.
Collin Funk [Wed, 28 Jan 2026 03:32:01 +0000 (19:32 -0800)] 
doc: Fix some links to copy_file_range issues.

* doc/glibc-functions/copy_file_range.texi: Correct the order of
arguments to @url.

3 days agoisfinite-no-c++: Make more C++ safe.
Bruno Haible [Tue, 27 Jan 2026 18:39:03 +0000 (19:39 +0100)] 
isfinite-no-c++: Make more C++ safe.

* lib/math.in.h (isfinite): In C++ mode, define as a template with three
instantiations, instead of as a macro.

5 days agostdio-windows: Fix compilation error on old mingw.
Bruno Haible [Sat, 24 Jan 2026 22:56:58 +0000 (23:56 +0100)] 
stdio-windows: Fix compilation error on old mingw.

Reported by Eli Zaretskii in
<https://lists.gnu.org/archive/html/bug-texinfo/2026-01/msg00099.html>.

* lib/stdio-consolesafe.c (local_vasprintf): Renamed from vasprintf.
(vasprintf): Define as a macro, not as a function.

6 days agoselinux-h: Fix compilation errors on Android outside Termux.
Bruno Haible [Sat, 24 Jan 2026 06:57:31 +0000 (07:57 +0100)] 
selinux-h: Fix compilation errors on Android outside Termux.

* m4/selinux-selinux-h.m4 (gl_LIBSELINUX): Test for getfilecon_raw
instead of setfilecon.
(gl_CHECK_HEADER_SELINUX_SELINUX_H): Update.

6 days agoselinux-h: Fix compilation errors in Termux on Android.
Bruno Haible [Sat, 24 Jan 2026 06:31:19 +0000 (07:31 +0100)] 
selinux-h: Fix compilation errors in Termux on Android.

* m4/selinux-selinux-h.m4 (gl_LIBSELINUX): Prefer libandroid-selinux to
libselinux.

6 days agodoc: uimaxabs → umaxabs
Paul Eggert [Sat, 24 Jan 2026 01:52:13 +0000 (17:52 -0800)] 
doc: uimaxabs → umaxabs

C2y has renamed uimaxabs to umaxabs.
It is supported in glibc 2.43, released today.
This patch affects only documentation,
as Gnulib does not support the function by either name.

7 days agogetaddrinfo: Fix test failure on Solaris 10.
Bruno Haible [Fri, 23 Jan 2026 16:30:02 +0000 (17:30 +0100)] 
getaddrinfo: Fix test failure on Solaris 10.

* m4/getaddrinfo.m4 (gl_GETADDRINFO): Test also whether getaddrinfo
supports AI_NUMERICHOST.
* lib/getaddrinfo.c (is_numeric_host): Define also on Solaris.
(getaddrinfo): Add a workaround for Solaris 10.
* doc/posix-functions/getaddrinfo.texi: Mention the Solaris 10 bug.

7 days agogetdelim, getline: Don't replace these functions on glibc.
Collin Funk [Fri, 23 Jan 2026 05:15:29 +0000 (21:15 -0800)] 
getdelim, getline: Don't replace these functions on glibc.

This largely reverts my 2025-10-10 commits since POSIX has relaxed the
requirements to make glibc's behavior compliant. See:
<https://www.austingroupbugs.net/bug_view_page.php?bug_id=1953>.

* doc/posix-functions/getdelim.texi: Move the text about glibc 2.42
to under "Portability problems not fixed by Gnulib".
* doc/posix-functions/getline.texi: Likewise.
* m4/getdelim.m4 (gl_FUNC_GETDELIM): Remove the test on an empty file.
* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
* tests/test-getdelim.c (main): Remove the test case.
* tests/test-getline.c (main): Likewise.

7 days agodoc: document a portability issue with macOS getrusage.
Collin Funk [Thu, 22 Jan 2026 05:43:56 +0000 (21:43 -0800)] 
doc: document a portability issue with macOS getrusage.

* doc/posix-functions/getrusage.texi: Document that the 'ru_maxrss'
field of 'struct rusage' is measured in bytes on macOS.

10 days agovasnprintf: Optimize when 'long double' is the same as 'double'.
Bruno Haible [Tue, 20 Jan 2026 06:11:31 +0000 (07:11 +0100)] 
vasnprintf: Optimize when 'long double' is the same as 'double'.

* lib/vasnprintf.c (DECL_LONG_DOUBLE_ROUNDING,
BEGIN_LONG_DOUBLE_ROUNDING, END_LONG_DOUBLE_ROUNDING): Override when
HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.

11 days agodoc: mention an OpenBSD printf bug.
Collin Funk [Mon, 19 Jan 2026 20:45:07 +0000 (12:45 -0800)] 
doc: mention an OpenBSD printf bug.

* doc/posix-functions/printf.texi: Mention that OpenBSD does not return
a negative number after running out of memory.

11 days agoxalloc: tweak for GCC 4.6, possible inlining bugs
Paul Eggert [Mon, 19 Jan 2026 17:33:36 +0000 (09:33 -0800)] 
xalloc: tweak for GCC 4.6, possible inlining bugs

* lib/xmalloc.c: Also ignore -Wsuggest-attribute=pure for GCC 4.6,
and do not pop the warning.  This is consistent with how gnulib
does this sort of thing elsewhere.

11 days agoxalloc: use check_nonnull() in more places
Pádraig Brady [Mon, 19 Jan 2026 14:17:33 +0000 (14:17 +0000)] 
xalloc: use check_nonnull() in more places

* lib/xmalloc.c (xrealloc, xreallocarray): Use check_nonnull().

11 days agoxalloc: fix possible elimination of NULL checks
Pádraig Brady [Mon, 19 Jan 2026 14:13:02 +0000 (14:13 +0000)] 
xalloc: fix possible elimination of NULL checks

Commit ff7c8b21 (2021) to pacify -Wsuggest-attribute=pure with GCC 10.3
induces the code to be removed with clang 21,22 with -fno-inline.
I don't see the same code elimination on GCC 15,
but the the incorrect warning is still there.
Note xalloc_die() is marked _Noreturn so GCC is wrong here,
as already reported at https://gcc.gnu.org/PR115237

You can see the difference using split(1).
Without -fno-inline it behaves as expected:

  $ src/split --number=r/9223372036854775808
  split: memory exhausted

and with the -fno-inline:

  $ src/split --number=r/9223372036854775807
  Segmentation fault         (core dumped)

* lib/xmalloc.c (check_nonnull): Remove the "pure" attribute,
and suppress the incorrect GCC warning with pragmas.

11 days agomanywarnings: omit two C++ options for C
Paul Eggert [Mon, 19 Jan 2026 00:40:18 +0000 (16:40 -0800)] 
manywarnings: omit two C++ options for C

* build-aux/gcc-warning.spec:
Update C++ warnings to match GCC 15.2.1 manual.
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove
-Wsuggest-final-methods, -Wsuggest-final-types as they are C++.

12 days agomanywarnings: update spec, too
Paul Eggert [Sun, 18 Jan 2026 02:07:21 +0000 (18:07 -0800)] 
manywarnings: update spec, too

* build-aux/gcc-warning.spec:
Document -Wzero-as-null-pointer-constant.

13 days agomountlist: Fix a -Wincompatible-pointer-types warning on AIX.
Collin Funk [Sat, 17 Jan 2026 20:13:42 +0000 (12:13 -0800)] 
mountlist: Fix a -Wincompatible-pointer-types warning on AIX.

* lib/mountlist.c (read_file_system_list): Cast the buffer size stored
by mntctl to a char pointer.

13 days agoFix some "it's"s in commentary
Paul Eggert [Sat, 17 Jan 2026 17:51:25 +0000 (09:51 -0800)] 
Fix some "it's"s in commentary

13 days agodoc: Mention another Haiku bug.
Bruno Haible [Sat, 17 Jan 2026 17:30:26 +0000 (18:30 +0100)] 
doc: Mention another Haiku bug.

* doc/posix-functions/mbrtowc.texi: Mention a Haiku bug.

13 days agoc32is* tests: Avoid test failures on Haiku.
Bruno Haible [Sat, 17 Jan 2026 12:31:50 +0000 (13:31 +0100)] 
c32is* tests: Avoid test failures on Haiku.

* tests/test-c32iscntrl.c (main): Disable tests that fail on Haiku.
* tests/test-c32isgraph.c (main): Likewise.
* tests/test-c32islower.c (main): Likewise.
* tests/test-c32isprint.c (main): Likewise.
* tests/test-c32ispunct.c (main): Likewise.
* tests/test-c32toupper.c (main): Likewise.
* tests/test-isgraph_l.c (main): Likewise.
* tests/test-islower_l.c (main): Likewise.
* tests/test-ispunct_l.c (main): Likewise.

13 days agomanywarnings: omit new C warning for GCC 10
Pádraig Brady [Sat, 17 Jan 2026 12:24:39 +0000 (12:24 +0000)] 
manywarnings: omit new C warning for GCC 10

* m4/manywarnings.m4: Fix a typo in the matched versions
to ensure -Wzero-as-null-pointer-constant is not used on GCC 10.

13 days agounlinkat tests: Avoid a test failure on Haiku.
Bruno Haible [Sat, 17 Jan 2026 11:42:56 +0000 (12:42 +0100)] 
unlinkat tests: Avoid a test failure on Haiku.

* tests/test-rmdir.h (test_rmdir_func): Accept EPERM error.

13 days agofenv-exceptions-state-c99: Avoid a Haiku crash dialog at configure time.
Bruno Haible [Sat, 17 Jan 2026 01:22:22 +0000 (02:22 +0100)] 
fenv-exceptions-state-c99: Avoid a Haiku crash dialog at configure time.

* m4/fenv-exceptions-state.m4 (gl_FENV_EXCEPTIONS_STATE): In the test
program, add a signal handler, like in m4/nocrash.m4.

13 days agoselinux-h: Add tests.
Bruno Haible [Sat, 17 Jan 2026 00:52:50 +0000 (01:52 +0100)] 
selinux-h: Add tests.

* tests/test-selinux-context-h.c: New file.
* tests/test-selinux-label-h.c: New file.
* tests/test-selinux-selinux-h.c: New file.
* modules/selinux-h-tests: New file.
* tests/test-selinux-context-h-c++.cc: New file.
* tests/test-selinux-label-h-c++.cc: New file.
* tests/test-selinux-selinux-h-c++.cc: New file.
* modules/selinux-h-c++-tests: New file.

13 days agoselinux-h: Fix compilation errors and link errors in C++ mode.
Bruno Haible [Sat, 17 Jan 2026 00:52:09 +0000 (01:52 +0100)] 
selinux-h: Fix compilation errors and link errors in C++ mode.

* lib/se-selinux.in.h: Mark the functions as 'extern "C"'.
* lib/se-label.in.h: Mark the functions as 'extern "C"'. Avoid implicit
casts from 'void *' to other pointer types.
* lib/se-context.in.h: Likewise.
(context_t): Don't use 'struct context_t'.

2 weeks agoChangeLog spelling fix
Paul Eggert [Fri, 16 Jan 2026 21:04:54 +0000 (13:04 -0800)] 
ChangeLog spelling fix

2 weeks agomanywarnings: omit new C warning for GCC < 15
Paul Eggert [Fri, 16 Jan 2026 20:26:22 +0000 (12:26 -0800)] 
manywarnings: omit new C warning for GCC < 15

Problem reported by Pádraig Brady in:
https://lists.gnu.org/r/bug-gnulib/2026-01/msg00135.html
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
Do not add -Wzero-as-null-pointer-constant for GCC < 15.
Also, accept strings like "gcc-14 (Ubuntu 14.3.0-8ubuntu1) 14.3.0"
as specifying GCC versions like 14.3.0.

2 weeks agoselinux-h: pacify -Wzero-as-null-pointer-constant
Paul Eggert [Fri, 16 Jan 2026 19:17:26 +0000 (11:17 -0800)] 
selinux-h: pacify -Wzero-as-null-pointer-constant

* lib/se-context.in.h (context_t): Make it a pointer to an
incomplete type rather than an int, so that callers can initialize
it with NULL regardless of whehter --with-selinux is used.
* lib/se-context.in.h (context_new):
* lib/se-label.in.h (selabel_open): Use the equivalent of
NULL (not NULL, since that would require including <stddef.h>).

2 weeks agomanywarnings: -Wzero-as-null-pointer-constant in C
Paul Eggert [Thu, 15 Jan 2026 23:12:59 +0000 (15:12 -0800)] 
manywarnings: -Wzero-as-null-pointer-constant in C

Although -Wzero-as-null-pointer-constant was long specific to C++
and Objective C++, as of GCC 15 it also applies to C.
* build-aux/gcc-warning.spec:
Remove -Wzero-as-null-pointer-constant.
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
Add -Wzero-as-null-pointer-constant.

2 weeks agostdcountof-h tests: Fix link error on MSVC (regression 2026-01-13).
Bruno Haible [Thu, 15 Jan 2026 13:24:53 +0000 (14:24 +0100)] 
stdcountof-h tests: Fix link error on MSVC (regression 2026-01-13).

* tests/test-stdcountof-h.c: Revert 2026-01-13 change. Instead:
(a, b, c): Declare extern at top level.

2 weeks agoFix date of recent ChangeLog entry.
Bruno Haible [Thu, 15 Jan 2026 13:23:24 +0000 (14:23 +0100)] 
Fix date of recent ChangeLog entry.

2 weeks agostdcountof-h tests: Avoid compilation error in C++ mode.
Bruno Haible [Wed, 14 Jan 2026 22:26:51 +0000 (23:26 +0100)] 
stdcountof-h tests: Avoid compilation error in C++ mode.

* tests/test-stdcountof-h.c (test_func): Don't test ISO C initializer
syntax in C++ mode.

2 weeks agomaint: pacify -Wdiscarded-qualifiers
Paul Eggert [Tue, 13 Jan 2026 16:10:50 +0000 (08:10 -0800)] 
maint: pacify -Wdiscarded-qualifiers

* tests/test-posix_spawn-dup2-stdin.c (main):
* tests/test-posix_spawn-dup2-stdout.c (main):
* tests/test-posix_spawn-inherit0.c (parent_main):
* tests/test-posix_spawn-inherit1.c (parent_main):
* tests/test-posix_spawn-open1.c (parent_main):
* tests/test-posix_spawn-open2.c (parent_main):
Reword to avoid need to cast string literals to char *,
while also pacifying gcc -Wdiscarded-qualifiers.

2 weeks agotrunc-tests: pacify -Wmissing-prototypes
Paul Eggert [Tue, 13 Jan 2026 16:06:57 +0000 (08:06 -0800)] 
trunc-tests: pacify -Wmissing-prototypes

* tests/test-trunc2.c (trunc_reference): Now static.

2 weeks agostdcountof-h-tests: pacify -Wnested-externs
Paul Eggert [Tue, 13 Jan 2026 16:02:42 +0000 (08:02 -0800)] 
stdcountof-h-tests: pacify -Wnested-externs

* tests/test-stdcountof-h.c (test_func): Use top-level non-constant.

2 weeks agoisinf-no-c++-tests: pacify -Wshadow
Paul Eggert [Tue, 13 Jan 2026 15:51:58 +0000 (07:51 -0800)] 
isinf-no-c++-tests: pacify -Wshadow

* tests/test-isinf.c (mem_long_double): Rename this local type
from memory_long_double, to avoid confusion with the top-level
memory_long_double in snan.h.  All uses changed.

2 weeks agodoc: Add maintainer-makefile section to manual.
Basil L. Contovounesios [Mon, 17 Nov 2025 17:33:52 +0000 (18:33 +0100)] 
doc: Add maintainer-makefile section to manual.

Suggested by Simon Josefsson <simon@josefsson.org> in
<https://lists.gnu.org/r/bug-gnulib/2025-11/msg00178.html>.

* doc/maintainer-makefile.texi: New file documenting
maintainer-makefile targets and supported NEWS formats.
* doc/gnulib.texi (Build Infrastructure Modules): Include it here.
(Release Management Files): Tweak grammar.

Signed-off-by: Simon Josefsson <simon@josefsson.org>
2 weeks agoobstack-printf-posix: Improve comment.
Bruno Haible [Mon, 12 Jan 2026 23:02:36 +0000 (00:02 +0100)] 
obstack-printf-posix: Improve comment.

Reported by Eric Blake in
<https://lists.gnu.org/archive/html/bug-gnulib/2026-01/msg00085.html>.

* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_IS_POSIX): Improve
comment.

2 weeks agogethostname: Fix link error on native Windows.
Bruno Haible [Mon, 12 Jan 2026 12:11:08 +0000 (13:11 +0100)] 
gethostname: Fix link error on native Windows.

Reported by Michele Locati <michele@locati.it> in
<https://lists.gnu.org/archive/html/bug-gettext/2026-01/msg00029.html>.

* modules/gethostname (Dependencies, configure.ac): Compile
gethostname.c also when UNISTD_H_HAVE_WINSOCK2_H is 1.

2 weeks agostring-desc: Fix compilation error with gcc 4.8.x (regr. yesterday).
Bruno Haible [Mon, 12 Jan 2026 09:49:07 +0000 (10:49 +0100)] 
string-desc: Fix compilation error with gcc 4.8.x (regr. yesterday).

* lib/string-desc.h (HAVE__GENERIC): Ignore __STDC_VERSION__ for GCC.

2 weeks agoutimens tests: Avoid an assertion failure on Haiku.
Bruno Haible [Mon, 12 Jan 2026 01:30:41 +0000 (02:30 +0100)] 
utimens tests: Avoid an assertion failure on Haiku.

* tests/test-utimens.h (test_utimens): Skip the comparison of the access
times on Haiku.

2 weeks agostring-desc: Avoid compilation error with clang-cl in C++ mode.
Bruno Haible [Sun, 11 Jan 2026 21:58:51 +0000 (22:58 +0100)] 
string-desc: Avoid compilation error with clang-cl in C++ mode.

Reported by Kirill Makurin <maiddaisuki@outlook.com> in
<https://lists.gnu.org/archive/html/bug-gettext/2026-01/msg00020.html>.

* lib/string-desc.h (HAVE_TYPEOF): New macro.
(HAVE_RW_STRING_DESC): Test also HAVE_TYPEOF.

2 weeks agostring-desc: Revisit feature tests regarding C++.
Bruno Haible [Sun, 11 Jan 2026 21:58:14 +0000 (22:58 +0100)] 
string-desc: Revisit feature tests regarding C++.

* lib/string-desc.h (HAVE_STATEMENT_EXPRESSIONS): Also define with
SunPRO C++.
(HAVE__GENERIC): Don't define with GNU C++. Define in ISO C 11 or newer.

2 weeks agoselinux-h: warning about missing libselinux on modern systems
Pádraig Brady [Sat, 10 Jan 2026 19:17:54 +0000 (19:17 +0000)] 
selinux-h: warning about missing libselinux on modern systems

* m4/selinux-selinux-h.m4 (gl_LIBSELINUX): /sys/fs/selinux is generally
used since Linux kernel 2.6, so test that also.

2 weeks agoselinux-h: only override default --with-selinux user setting
Pádraig Brady [Sat, 10 Jan 2026 19:12:41 +0000 (19:12 +0000)] 
selinux-h: only override default --with-selinux user setting

* m4/selinux-selinux-h.m4 (gl_LIBSELINUX): Only override the default
with_selinux user setting, leaving explicit --with-selinux untouched.
E.g., coreutils uses --with-selinux to force build the runcon
and chcon stubs on systems without libselinux.

3 weeks agodoc: Fix typo.
Bruno Haible [Fri, 9 Jan 2026 17:14:20 +0000 (18:14 +0100)] 
doc: Fix typo.

Reported by Eric Blake.

* doc/posix-functions/getlocalename_l.texi: Fix typo.

3 weeks agoannounce-gen: Fix instructions for verifying the SHA3-256 checksums.
Bruno Haible [Fri, 9 Jan 2026 10:54:12 +0000 (11:54 +0100)] 
announce-gen: Fix instructions for verifying the SHA3-256 checksums.

* build-aux/announce-gen (print_checksums): Use quotes. Fix cksum
invocation for hex SHA3-256 checksum.

3 weeks agodoc: Improvements for gnulib git bundle.
Bruno Haible [Fri, 9 Jan 2026 10:28:58 +0000 (11:28 +0100)] 
doc: Improvements for gnulib git bundle.

* doc/gnulib-git-bundle.texi: Explain how to verify the checksums.

3 weeks agodoc: Improvements for gnulib git bundle.
Simon Josefsson [Fri, 9 Jan 2026 08:29:31 +0000 (09:29 +0100)] 
doc: Improvements for gnulib git bundle.

* doc/gnulib-git-bundle.texi: Add 20260109 release.
Add SHA3-256 hashes.  Improve reproducibility instructions.

3 weeks agodoc: Update for Haiku.
Bruno Haible [Thu, 8 Jan 2026 23:52:55 +0000 (00:52 +0100)] 
doc: Update for Haiku.

* doc/posix-functions/open.texi: Document a Haiku bug.
* doc/posix-functions/wcrtomb.texi: Likewise.

3 weeks agotime_r tests: Avoid test failure on Haiku.
Bruno Haible [Thu, 8 Jan 2026 23:49:08 +0000 (00:49 +0100)] 
time_r tests: Avoid test failure on Haiku.

* tests/test-localtime_r.c (main): On Haiku, expect a different tm_zone
value than "CET" and "CEST".

3 weeks agoget-rusage-data tests: Avoid test failure on Haiku.
Bruno Haible [Thu, 8 Jan 2026 23:46:34 +0000 (00:46 +0100)] 
get-rusage-data tests: Avoid test failure on Haiku.

* tests/test-get-rusage-data.c (main): Disable a failing assertion on
Haiku.

3 weeks agoAvoid test failures on Haiku, where -1 behaves like AT_FDCWD.
Bruno Haible [Thu, 8 Jan 2026 23:38:37 +0000 (00:38 +0100)] 
Avoid test failures on Haiku, where -1 behaves like AT_FDCWD.

* tests/test-readlinkat.c (main): Test file descriptor -2 instead of -1.
* tests/test-areadlinkat.c (main): Likewise.
* tests/test-areadlinkat-with-size.c (main): Likewise.
* tests/test-faccessat.c (main): Likewise.
* tests/test-fchmodat.c (main): Likewise.
* tests/test-fchownat.c (main): Likewise.
* tests/test-fstatat.c (main): Likewise.
* tests/test-linkat.c (main): Likewise.
* tests/test-mkdirat.c (main): Likewise.
* tests/test-mkfifoat.c (main): Likewise.
* tests/test-openat.c (main): Likewise.
* tests/test-openat-safer.c (main): Likewise.
* tests/test-openat2.c (main): Likewise.
* tests/test-renameat.c (main): Likewise.
* tests/test-renameatu.c (main): Likewise.
* tests/test-symlinkat.c (main): Likewise.
* tests/test-unlinkat.c (main): Likewise.
* tests/test-utimensat.c (main): Likewise.

3 weeks agogetlocalename_l-unsafe: Avoid hack on newer Haiku versions.
Bruno Haible [Thu, 8 Jan 2026 13:31:48 +0000 (14:31 +0100)] 
getlocalename_l-unsafe: Avoid hack on newer Haiku versions.

Suggested by Augustin Cavalier <waddlesplash@gmail.com>.

* lib/getlocalename_l-unsafe.c (getlocalename_l_unsafe) [HAIKU]: Use the
getlocalename_l function if available.

3 weeks agogetlocalename_l-unsafe: Avoid hack on newer Haiku versions.
Bruno Haible [Thu, 8 Jan 2026 13:15:40 +0000 (14:15 +0100)] 
getlocalename_l-unsafe: Avoid hack on newer Haiku versions.

* lib/getlocalename_l-unsafe.c (getlocalename_l_unsafe) [HAIKU]: Use the
getlocalename_l function if available.

3 weeks agogetlocalename_l: Work around portability problem on Haiku.
Bruno Haible [Thu, 8 Jan 2026 13:01:32 +0000 (14:01 +0100)] 
getlocalename_l: Work around portability problem on Haiku.

* m4/getlocalename_l.m4 (gl_FUNC_GETLOCALENAME_L_UNSAFE): Check against
a Haiku problem.
* doc/posix-functions/getlocalename_l.texi: Mention the Haiku problem.

3 weeks agogetdelim: Avoid a -Wjump-misses-init warning (regr. 2025-12-09).
Bruno Haible [Wed, 7 Jan 2026 10:02:00 +0000 (11:02 +0100)] 
getdelim: Avoid a -Wjump-misses-init warning (regr. 2025-12-09).

Reported by correctmost <cmlists@sent.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2026-01/msg00019.html>.

* lib/getdelim.c (getdelim): Reduce the scope of the 'cur_len' variable.

3 weeks agostd-gnu11: port C++11 test to C++20
Paul Eggert [Mon, 5 Jan 2026 18:26:08 +0000 (10:26 -0800)] 
std-gnu11: port C++11 test to C++20

* m4/std-gnu11.m4 (_AC_CXX_CXX11_TEST_BODY): Port to C++20.
Suggested by Jonathan Wakely in:
https://lists.gnu.org/r/bug-gnulib/2026-01/msg00035.html

3 weeks agofts: Prefer reallocarray to checking overflow by hand.
Collin Funk [Sat, 3 Jan 2026 20:14:43 +0000 (12:14 -0800)] 
fts: Prefer reallocarray to checking overflow by hand.

* lib/fts.c (fts_sort): Use reallocarray instead of checking for
overflow before calling realloc.
* modules/fts (Depends-on): Add reallocarray.

4 weeks agoautoupdate
Karl Berry [Fri, 2 Jan 2026 15:08:51 +0000 (07:08 -0800)] 
autoupdate

4 weeks agoFix a typo in the previous commit.
Collin Funk [Fri, 2 Jan 2026 04:36:49 +0000 (20:36 -0800)] 
Fix a typo in the previous commit.

4 weeks agofts: Improve performance on the Lustre file system.
Collin Funk [Fri, 2 Jan 2026 04:24:29 +0000 (20:24 -0800)] 
fts: Improve performance on the Lustre file system.

Reported by Tim Day <timday@amazon.com> in
<https://bugs.gnu.org/80106>.

* lib/fts.c (S_MAGIC_LUSTRE): New macro.
(dirent_inode_sort_may_be_useful): Return false on Lustre file systems
so inode sorting is not performed.

4 weeks agodoc: Update regarding stable branches.
Bruno Haible [Thu, 1 Jan 2026 20:16:44 +0000 (21:16 +0100)] 
doc: Update regarding stable branches.

* doc/gnulib-readme.texi (Stable Branches): Mention new branch
stable-202601. Mention that stable-202501 is no longer updated.

4 weeks agomaint: update copyrights by hand
Bruno Haible [Thu, 1 Jan 2026 20:09:46 +0000 (21:09 +0100)] 
maint: update copyrights by hand

This fixes some copyright dates that were not updated correctly by
"make update-copyright".

4 weeks agomaint: run 'make update-copyright'
Collin Funk [Thu, 1 Jan 2026 18:37:05 +0000 (10:37 -0800)] 
maint: run 'make update-copyright'

4 weeks agomountlist: Fix compilation error on Haiku (regr. 2025-11-18).
Bruno Haible [Thu, 1 Jan 2026 13:06:42 +0000 (14:06 +0100)] 
mountlist: Fix compilation error on Haiku (regr. 2025-11-18).

* lib/mountlist.c (read_file_system_list): Declare a variable before the
'for' loop.

4 weeks agogetprogname: Fix missing declaration on QNX.
Collin Funk [Thu, 1 Jan 2026 06:25:46 +0000 (22:25 -0800)] 
getprogname: Fix missing declaration on QNX.

* lib/stdlib.in.h [@GNULIB_GETPROGNAME@ && @HAVE_SYS_PROCESS_H@]:
Include sys/process.h.
* m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for sys/process.h.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_SYS_PROCESS_H
to zero.
* modules/stdlib-h (Makefile.am): Substitute HAVE_SYS_PROCESS_H.

4 weeks agoinet_ntop, inet_pton: Fix a link error on QNX.
Collin Funk [Thu, 1 Jan 2026 04:20:49 +0000 (20:20 -0800)] 
inet_ntop, inet_pton: Fix a link error on QNX.

* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Also check for inet_ntop in
libsocket.
* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise for inet_pton.

4 weeks agosys_stat-h tests: Fix a static_assert failure on QNX.
Collin Funk [Thu, 1 Jan 2026 01:59:14 +0000 (17:59 -0800)] 
sys_stat-h tests: Fix a static_assert failure on QNX.

* tests/test-sys_stat-h.c [__QNX__]: Don't check that blksize_t and
blkcnt_t are signed. Add some parentheses for readability.
* doc/posix-headers/sys_stat.texi: Mention that these types are unsigned
on this platform.

4 weeks agosys_types-h tests: Fix a static_assert failure on QNX.
Collin Funk [Thu, 1 Jan 2026 01:21:18 +0000 (17:21 -0800)] 
sys_types-h tests: Fix a static_assert failure on QNX.

* tests/test-sys_types-h.c [__QNX__]: Don't check that blksize_t and
blkcnt_t are signed. Add some parentheses for readability.
* doc/posix-headers/sys_types.texi: Mention that these types are
unsigned on this platform.

4 weeks agosetlocale: Update regarding ISO 3166.
Bruno Haible [Fri, 26 Dec 2025 21:49:00 +0000 (22:49 +0100)] 
setlocale: Update regarding ISO 3166.

* lib/setlocale.c (locales_with_principal_territory,
locales_with_principal_language): Update comments to match
<https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2>.

5 weeks agoSpelling fixes
Paul Eggert [Fri, 26 Dec 2025 19:13:11 +0000 (11:13 -0800)] 
Spelling fixes

5 weeks agostrftime: avoid false failure with empty strings
Pádraig Brady [Thu, 25 Dec 2025 13:42:26 +0000 (13:42 +0000)] 
strftime: avoid false failure with empty strings

* lib/strftime.c (width_cpy): Avoid fwrite() with 0 size objects,
to avoid false failure.  This was seen with %p in ms_MY locale
on Debian 11 at least.

5 weeks ago* build-aux/gcc-warning.spec: Sort.
Paul Eggert [Wed, 24 Dec 2025 22:40:54 +0000 (14:40 -0800)] 
* build-aux/gcc-warning.spec: Sort.

5 weeks agoFix gcc-warning.spec comments
Paul Eggert [Wed, 24 Dec 2025 22:26:48 +0000 (14:26 -0800)] 
Fix gcc-warning.spec comments

5 weeks agoautoupdate
Karl Berry [Wed, 24 Dec 2025 20:04:20 +0000 (12:04 -0800)] 
autoupdate

5 weeks agoOmit "ATTENTION!" comments re reproducible/unsequenced
Paul Eggert [Wed, 24 Dec 2025 08:51:26 +0000 (00:51 -0800)] 
Omit "ATTENTION!" comments re reproducible/unsequenced

These comments are out of date as the efforts did not pan out.

5 weeks agoattribute: new C macro UNNAMED
Paul Eggert [Wed, 24 Dec 2025 08:08:50 +0000 (00:08 -0800)] 
attribute: new C macro UNNAMED

* lib/attribute.h (UNNAMED): New macro, like _GL_UNNAMED.
When applicable, prefer this new macro to MAYBE_UNUSED.

5 weeks agoNew C macro _GL_UNNAMED
Paul Eggert [Wed, 24 Dec 2025 07:19:09 +0000 (23:19 -0800)] 
New C macro _GL_UNNAMED

C23 introduced the longstanding C++ convention that a function
parameter’s identifier can be omitted, meaning that the parameter
is unnamed.  This is clearer than [[maybe_unused]], as it means
the parameter is definitely (not maybe) unused.  When applicable,
prefer this new macro to _GL_ATTRIBUTE_MAYBE_UNUSED.
* Makefile (config_h_MACROS2): Add _GL_UNNAMED.
* lib/se-context.in.h, lib/se-label.in.h, lib/se-selinux.in.h:
* lib/textstyle.in.h: Define a backup _GL_UNNAMED macro instead of
defining a backup _GL_ATTRIBUTE_MAYBE_UNUSED macro, even though
I’m unsure why any backup macro definition is needed,
as other gnulib-common macros are used without defining them.
* m4/gnulib-common.m4 (_GL_UNNAMED): New macro.
All uses of _GL_ATTRIBUTE_MAYBE_UNUSED replaced to use the new macro,
when that makes sense.

5 weeks agoUpdate some attribute.h comments
Paul Eggert [Sat, 20 Dec 2025 18:37:05 +0000 (10:37 -0800)] 
Update some attribute.h comments

* lib/attribute.h: Update [[unsequenced]]/[[reproducible]]
comments to match m4/gnulib-common.m4.

5 weeks agoFix [[unsequenced]] and [[reproducible]] confusion
Paul Eggert [Sat, 20 Dec 2025 18:37:30 +0000 (10:37 -0800)] 
Fix [[unsequenced]] and [[reproducible]] confusion

* m4/gnulib-common.m4 (_GL_ATTRIBUTE_CONST, _GL_ATTRIBUTE_PURE):
Default to empty, not to _GL_ATTRIBUTE_UNSEQUENCED and
_GL_ATTRIBUTE_REPRODUCIBLE respectively, because unfortunately
__attribute__ ((const)) does not imply [[unsequenced]] and
__attribute__ ((pure)) does not imply [[reproducible]].

5 weeks agotimespec: tweak timespec_sign
Paul Eggert [Sat, 20 Dec 2025 18:33:47 +0000 (10:33 -0800)] 
timespec: tweak timespec_sign

* lib/timespec.h (timespec_cmp, timespec_sign):
These functions are const, not merely pure.
(timespec_sign): Tweak for efficiency.

5 weeks agodoc: Use UTF-8 in Texinfo sources.
Collin Funk [Fri, 19 Dec 2025 03:29:49 +0000 (19:29 -0800)] 
doc: Use UTF-8 in Texinfo sources.

* doc/gnulib-intro.texi (Portability and Application Code): Use ï
instead of @"{@dotless{i}}.

5 weeks agosignbit-no-c++: New module.
Bruno Haible [Fri, 19 Dec 2025 23:02:55 +0000 (00:02 +0100)] 
signbit-no-c++: New module.

* modules/signbit-no-c++: New file, based on modules/signbit.
* modules/signbit: Essentially an alias of signbit-no-c++ now.
* modules/signbit-no-c++-tests: Renamed from modules/signbit-tests.
* lib/math.in.h (signbit): Test also GNULIB_SIGNBIT_NO_CXX.
* m4/math_h.m4 (gl_MATH_H_REQUIRE_DEFAULTS): Initialize
GNULIB_SIGNBIT_NO_CXX.
* modules/math-h (Makefile.am): Substitute GNULIB_SIGNBIT_NO_CXX.
* modules/copysign (Depends-on): Add signbit-no-c++. Remove signbit.
* modules/copysignf (Depends-on): Likewise.
* modules/copysignl (Depends-on): Likewise.
* modules/fabsl (Depends-on): Likewise.
* modules/fmod (Depends-on): Likewise.
* modules/fmodl (Depends-on): Likewise.
* modules/mixin/printf-posix (Depends-on): Likewise.
* modules/remainder (Depends-on): Likewise.
* modules/remainderf (Depends-on): Likewise.
* modules/remainderl (Depends-on): Likewise.
* modules/signed-nan (Depends-on): Likewise.
* modules/totalorder (Depends-on): Likewise.
* modules/totalorderf (Depends-on): Likewise.
* modules/totalorderl (Depends-on): Likewise.
* modules/totalordermag (Depends-on): Likewise.
* modules/totalordermagf (Depends-on): Likewise.
* modules/totalordermagl (Depends-on): Likewise.
* modules/c-strtod-tests (Depends-on): Likewise.
* modules/c-strtof-tests (Depends-on): Likewise.
* modules/c-strtold-tests (Depends-on): Likewise.
* modules/cbrt-ieee-tests (Depends-on): Likewise.
* modules/cbrtf-ieee-tests (Depends-on): Likewise.
* modules/cbrtl-ieee-tests (Depends-on): Likewise.
* modules/ceil-ieee-tests (Depends-on): Likewise.
* modules/ceilf-ieee-tests (Depends-on): Likewise.
* modules/ceill-ieee-tests (Depends-on): Likewise.
* modules/exp-ieee-tests (Depends-on): Likewise.
* modules/exp2-ieee-tests (Depends-on): Likewise.
* modules/exp2f-ieee-tests (Depends-on): Likewise.
* modules/exp2l-ieee-tests (Depends-on): Likewise.
* modules/expf-ieee-tests (Depends-on): Likewise.
* modules/expl-ieee-tests (Depends-on): Likewise.
* modules/expm1-ieee-tests (Depends-on): Likewise.
* modules/expm1f-ieee-tests (Depends-on): Likewise.
* modules/expm1l-ieee-tests (Depends-on): Likewise.
* modules/fabs-ieee-tests (Depends-on): Likewise.
* modules/fabs-tests (Depends-on): Likewise.
* modules/fabsf-ieee-tests (Depends-on): Likewise.
* modules/fabsf-tests (Depends-on): Likewise.
* modules/fabsl-ieee-tests (Depends-on): Likewise.
* modules/fabsl-tests (Depends-on): Likewise.
* modules/floor-ieee-tests (Depends-on): Likewise.
* modules/floorf-ieee-tests (Depends-on): Likewise.
* modules/floorl-ieee-tests (Depends-on): Likewise.
* modules/fmod-ieee-tests (Depends-on): Likewise.
* modules/fmodf-ieee-tests (Depends-on): Likewise.
* modules/fmodl-ieee-tests (Depends-on): Likewise.
* modules/frexp-ieee-tests (Depends-on): Likewise.
* modules/frexp-nolibm-tests (Depends-on): Likewise.
* modules/frexp-tests (Depends-on): Likewise.
* modules/frexpf-ieee-tests (Depends-on): Likewise.
* modules/frexpf-tests (Depends-on): Likewise.
* modules/frexpl-ieee-tests (Depends-on): Likewise.
* modules/frexpl-nolibm-tests (Depends-on): Likewise.
* modules/frexpl-tests (Depends-on): Likewise.
* modules/hypot-ieee-tests (Depends-on): Likewise.
* modules/hypotf-ieee-tests (Depends-on): Likewise.
* modules/hypotl-ieee-tests (Depends-on): Likewise.
* modules/ldexp-ieee-tests (Depends-on): Likewise.
* modules/ldexp-tests (Depends-on): Likewise.
* modules/ldexpf-ieee-tests (Depends-on): Likewise.
* modules/ldexpf-tests (Depends-on): Likewise.
* modules/ldexpl-ieee-tests (Depends-on): Likewise.
* modules/ldexpl-tests (Depends-on): Likewise.
* modules/log-ieee-tests (Depends-on): Likewise.
* modules/log10-ieee-tests (Depends-on): Likewise.
* modules/log10f-ieee-tests (Depends-on): Likewise.
* modules/log10l-ieee-tests (Depends-on): Likewise.
* modules/log1p-ieee-tests (Depends-on): Likewise.
* modules/log1pf-ieee-tests (Depends-on): Likewise.
* modules/log1pl-ieee-tests (Depends-on): Likewise.
* modules/log2-ieee-tests (Depends-on): Likewise.
* modules/log2f-ieee-tests (Depends-on): Likewise.
* modules/log2l-ieee-tests (Depends-on): Likewise.
* modules/logb-ieee-tests (Depends-on): Likewise.
* modules/logbf-ieee-tests (Depends-on): Likewise.
* modules/logbl-ieee-tests (Depends-on): Likewise.
* modules/logf-ieee-tests (Depends-on): Likewise.
* modules/logl-ieee-tests (Depends-on): Likewise.
* modules/modf-ieee-tests (Depends-on): Likewise.
* modules/modff-ieee-tests (Depends-on): Likewise.
* modules/modfl-ieee-tests (Depends-on): Likewise.
* modules/remainder-ieee-tests (Depends-on): Likewise.
* modules/remainderf-ieee-tests (Depends-on): Likewise.
* modules/remainderl-ieee-tests (Depends-on): Likewise.
* modules/rint-ieee-tests (Depends-on): Likewise.
* modules/rintf-ieee-tests (Depends-on): Likewise.
* modules/rintl-ieee-tests (Depends-on): Likewise.
* modules/round-ieee-tests (Depends-on): Likewise.
* modules/roundf-ieee-tests (Depends-on): Likewise.
* modules/roundl-ieee-tests (Depends-on): Likewise.
* modules/sqrt-ieee-tests (Depends-on): Likewise.
* modules/sqrtf-ieee-tests (Depends-on): Likewise.
* modules/sqrtl-ieee-tests (Depends-on): Likewise.
* modules/strtod-tests (Depends-on): Likewise.
* modules/strtof-tests (Depends-on): Likewise.
* modules/strtold-tests (Depends-on): Likewise.
* modules/trunc-ieee-tests (Depends-on): Likewise.
* modules/truncf-ieee-tests (Depends-on): Likewise.
* modules/truncl-ieee-tests (Depends-on): Likewise.
* modules/xstrtod-tests (Depends-on): Likewise.
* modules/xstrtold-tests (Depends-on): Likewise.

5 weeks agoisnan-no-c++: New module.
Bruno Haible [Fri, 19 Dec 2025 22:43:17 +0000 (23:43 +0100)] 
isnan-no-c++: New module.

* modules/isnan-no-c++: New file, based on modules/isnan.
* modules/isnan: Essentially an alias of isnan-no-c++ now.
* modules/isnan-no-c++-tests: Renamed from modules/isnan-tests.
* lib/math.in.h (isnan): Test also GNULIB_ISNAN_NO_CXX.
* m4/math_h.m4 (gl_MATH_H_REQUIRE_DEFAULTS): Initialize
GNULIB_ISNAN_NO_CXX.
* modules/math-h (Makefile.am): Substitute GNULIB_ISNAN_NO_CXX.

5 weeks agoisinf-no-c++: New module.
Bruno Haible [Fri, 19 Dec 2025 22:35:28 +0000 (23:35 +0100)] 
isinf-no-c++: New module.

Reported by G. Branden Robinson <g.branden.robinson@gmail.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2025-12/msg00150.html>.

* modules/isinf-no-c++: New file, based on modules/isinf.
* modules/isinf: Essentially an alias of isinf-no-c++ now.
* modules/isinf-no-c++-tests: Renamed from modules/isinf-tests.
* lib/math.in.h (isinf): Test also GNULIB_ISINF_NO_CXX.
* m4/math_h.m4 (gl_MATH_H_REQUIRE_DEFAULTS): Initialize
GNULIB_ISINF_NO_CXX.
* modules/math-h (Makefile.am): Substitute GNULIB_ISINF_NO_CXX.
* modules/fmod (Depends-on): Add isinf-no-c++. Remove isinf.
* modules/fmodl (Depends-on): Likewise.
* modules/hypot (Depends-on): Likewise.
* modules/hypotl (Depends-on): Likewise.
* modules/modf (Depends-on): Likewise.
* modules/modfl (Depends-on): Likewise.
* modules/remainder (Depends-on): Likewise.
* modules/remainderf (Depends-on): Likewise.
* modules/remainderl (Depends-on): Likewise.
* modules/strtod (Depends-on): Likewise.
* modules/strtof (Depends-on): Likewise.
* modules/strtold (Depends-on): Likewise.

5 weeks agoisfinite-no-c++: New module.
Bruno Haible [Fri, 19 Dec 2025 22:23:30 +0000 (23:23 +0100)] 
isfinite-no-c++: New module.

Reported by G. Branden Robinson <g.branden.robinson@gmail.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2025-12/msg00150.html>.

* modules/isfinite-no-c++: New file, based on modules/isfinite.
* modules/isfinite: Essentially an alias of isfinite-no-c++ now.
* modules/isfinite-no-c++-tests: Renamed from modules/isfinite-tests.
* lib/math.in.h (isfinite): Test also GNULIB_ISFINITE_NO_CXX.
* m4/math_h.m4 (gl_MATH_H_REQUIRE_DEFAULTS): Initialize
GNULIB_ISFINITE_NO_CXX.
* modules/math-h (Makefile.am): Substitute GNULIB_ISFINITE_NO_CXX.
* modules/cbrt (Depends-on): Add isfinite-no-c++. Remove isfinite.
* modules/cbrtf (Depends-on): Likewise.
* modules/cbrtl (Depends-on): Likewise.
* modules/fma (Depends-on): Likewise.
* modules/fmaf (Depends-on): Likewise.
* modules/fmal (Depends-on): Likewise.
* modules/fmod (Depends-on): Likewise.
* modules/fmodl (Depends-on): Likewise.
* modules/hypot (Depends-on): Likewise.
* modules/hypotl (Depends-on): Likewise.
* modules/ilogb (Depends-on): Likewise.
* modules/ilogbf (Depends-on): Likewise.
* modules/ilogbl (Depends-on): Likewise.
* modules/logb (Depends-on): Likewise.
* modules/logbf (Depends-on): Likewise.
* modules/logbl (Depends-on): Likewise.
* modules/modf (Depends-on): Likewise.
* modules/modfl (Depends-on): Likewise.
* modules/remainder (Depends-on): Likewise.
* modules/remainderf (Depends-on): Likewise.
* modules/remainderl (Depends-on): Likewise.

6 weeks agoautoupdate
Karl Berry [Fri, 19 Dec 2025 17:26:33 +0000 (09:26 -0800)] 
autoupdate

6 weeks agoautoupdate
Karl Berry [Fri, 19 Dec 2025 17:25:38 +0000 (09:25 -0800)] 
autoupdate

6 weeks agoautoupdate
Karl Berry [Thu, 18 Dec 2025 16:01:06 +0000 (08:01 -0800)] 
autoupdate

6 weeks ago.gitattributes: Mark some files as binary.
Bruno Haible [Thu, 18 Dec 2025 22:23:52 +0000 (23:23 +0100)] 
.gitattributes: Mark some files as binary.

* .gitattributes: Mark doc/Copyright/* as binary files.

6 weeks agonanosleep: Avoid a redefinition on mingw.
Collin Funk [Sun, 14 Dec 2025 22:01:53 +0000 (14:01 -0800)] 
nanosleep: Avoid a redefinition on mingw.

Reported by Tim Ruehsen in
<https://savannah.gnu.org/bugs/?67704>.

* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a static inline
nanosleep on mingw.

6 weeks agoutimecmp: Fix undefined behaviour (regression 2025-12-09).
Bruno Haible [Mon, 15 Dec 2025 12:52:46 +0000 (13:52 +0100)] 
utimecmp: Fix undefined behaviour (regression 2025-12-09).

Reported by Coverity.

* lib/utimecmp.c (utimecmpat): Make sure 'tmp_dst_res' has a sufficient
lifetime.

6 weeks agodoc: Refer to a WG14 document.
Bruno Haible [Mon, 15 Dec 2025 12:40:52 +0000 (13:40 +0100)] 
doc: Refer to a WG14 document.

* doc/glibc-functions/pthread_getname_np.texi: Reference a portability
survey from WG14.
* doc/glibc-functions/pthread_setname_np.texi: Likewise.

6 weeks agodoc: Add a link to a FreeBSD bug report.
Collin Funk [Mon, 15 Dec 2025 02:12:02 +0000 (18:12 -0800)] 
doc: Add a link to a FreeBSD bug report.

* doc/posix-functions/realloc.texi: Add a link to the bug report for
FreeBSD 15 not setting errno for large size values.

6 weeks agoextern-inline: #define AAA_INLINE pre-<config.h>
Paul Eggert [Fri, 12 Dec 2025 23:21:47 +0000 (15:21 -0800)] 
extern-inline: #define AAA_INLINE pre-<config.h>

In *.c files using the "#define AAA_INLINE _GL_EXTERN_INLINE" idiom,
put the idiom before including <config.h>.  This is suggested in
the Gnulib documentation, and avoids problems when an application
like Emacs rashly defines a config.h file that includes a *.h file
that uses the documented "#ifndef AAA_INLINE / # define AAA_INLINE
_GL_INLINE / #endif" idiom.

7 weeks agorelocatable-prog{,-wrapper}: Fix autoconf error (regr. 2025-12-09).
Bruno Haible [Thu, 11 Dec 2025 09:13:15 +0000 (10:13 +0100)] 
relocatable-prog{,-wrapper}: Fix autoconf error (regr. 2025-12-09).

* modules/relocatable-prog (Files): Add m4/libdl.m4.
* modules/relocatable-prog-wrapper (Files): Likewise.

7 weeks agolocalename-unsafe: Improve Windows LCID lookup cache.
Bruno Haible [Wed, 10 Dec 2025 23:55:13 +0000 (00:55 +0100)] 
localename-unsafe: Improve Windows LCID lookup cache.

* lib/localename-unsafe.c (get_lcid): Use an LRU cache with 6 elements
instead of a cache with only one element.