]> Savannah Git Hosting - gnulib.git/log
gnulib.git
4 months agosetlocale tests: Add unit test for LC_MESSAGES handling.
Bruno Haible [Mon, 23 Dec 2024 15:51:51 +0000 (16:51 +0100)]
setlocale tests: Add unit test for LC_MESSAGES handling.

* tests/test-setlocale-w32.c: New file.
* modules/setlocale-tests (Files): Add it.
(Makefile.am): Arrange to compile and run test-setlocale-w32.

4 months agosetlocale: Handle LC_MESSAGES correctly on native Windows.
Bruno Haible [Mon, 23 Dec 2024 15:43:17 +0000 (16:43 +0100)]
setlocale: Handle LC_MESSAGES correctly on native Windows.

* lib/setlocale.c (setlocale_improved): Revamp the LC_ALL case if
LC_MESSAGES is 1729.

4 months agoc32isprint tests: Avoid test failure on mingw/ucrt.
Bruno Haible [Sun, 22 Dec 2024 13:34:29 +0000 (14:34 +0100)]
c32isprint tests: Avoid test failure on mingw/ucrt.

* tests/test-c32isprint.c (main): Disable test that fails on mingw/ucrt.

4 months agobtowc: Fix declaration on mingw/ucrt.
Bruno Haible [Sun, 22 Dec 2024 11:40:17 +0000 (12:40 +0100)]
btowc: Fix declaration on mingw/ucrt.

* m4/btowc.m4 (gl_FUNC_BTOWC): Require gt_TYPE_WINT_T. If gnulib
overrides wint_t, set REPLACE_BTOWC to 1.

4 months agoposix_spawn_file_actions_addchdir tests: Avoid test failure on MSYS2.
Bruno Haible [Sun, 22 Dec 2024 11:10:14 +0000 (12:10 +0100)]
posix_spawn_file_actions_addchdir tests: Avoid test failure on MSYS2.

* tests/test-posix_spawn-chdir.c (test): Recognize also the 'pwd' output
for root on MSYS2.

4 months agotest-framework-sh: Avoid test suite failures on MSYS2.
Bruno Haible [Sun, 22 Dec 2024 11:03:22 +0000 (12:03 +0100)]
test-framework-sh: Avoid test suite failures on MSYS2.

* tests/init.sh (compare_) [MSys]: Use a temporary file on MSYS2.
* tests/test-update-copyright.sh: Use the test framework.
(compare): Remove function.
* modules/update-copyright-tests (Depends-on): Add test-framework-sh.

4 months agotest-framework-sh: Avoid test suite failures on MSYS2.
Bruno Haible [Sun, 22 Dec 2024 07:11:59 +0000 (08:11 +0100)]
test-framework-sh: Avoid test suite failures on MSYS2.

* tests/init.sh (mkdir) [MSys]: New function.

4 months agoexecl, execle, execlp: Fix compilation error with gcc 14.
Bruno Haible [Sun, 22 Dec 2024 03:38:48 +0000 (04:38 +0100)]
execl, execle, execlp: Fix compilation error with gcc 14.

* lib/execl.c (execl): Cast second argument of execv.
* lib/execle.c (execle): Cast second argument of execve.
* lib/execlp.c (execlp): Cast second argument of execvp.

4 months agocrc-x86_64: Fix compilation error with clang in a simpler way.
Bruno Haible [Sun, 22 Dec 2024 00:09:17 +0000 (01:09 +0100)]
crc-x86_64: Fix compilation error with clang in a simpler way.

Suggested by Collin Funk.

* modules/crc-x86_64 (Makefile.am): Revert last change.
* lib/crc-x86_64-pclmul.c: Normalize includes.
(crc32_update_no_xor_pclmul): Use __attribute__ ((__target (...))).
* m4/crc-x86_64.m4 (gl_CRC_X86_64_PCLMUL): Use
__attribute__ ((__target (...))) here as well. Don't use modified
CFLAGS.

4 months agocrc-x86_64: Fix compilation error with clang.
Bruno Haible [Sat, 21 Dec 2024 21:59:18 +0000 (22:59 +0100)]
crc-x86_64: Fix compilation error with clang.

* modules/crc-x86_64 (Makefile.am): Declare a separate library
libpclmul.{a,la}.
* lib/crc-x86_64-pclmul.c: Remove the GCC pragmas.

4 months agognulib-tool: Recognize @LT@, @la@, @lo@ tokens in module descriptions.
Bruno Haible [Sat, 21 Dec 2024 21:56:46 +0000 (22:56 +0100)]
gnulib-tool: Recognize @LT@, @la@, @lo@ tokens in module descriptions.

* gnulib-tool.sh (func_emit_lib_Makefile_am): Replace @LT@, @la@, @lo@
tokens.
(func_emit_tests_Makefile_am): Likewise.
* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Likewise.
(GLEmiter.tests_Makefile_am): Likewise.

4 months agoautoupdate
Karl Berry [Sat, 21 Dec 2024 15:01:14 +0000 (07:01 -0800)]
autoupdate

4 months agostdint: Detect MSVC __typeof__ support.
Bruno Haible [Fri, 20 Dec 2024 08:47:39 +0000 (09:47 +0100)]
stdint: Detect MSVC __typeof__ support.

* m4/stdint.m4 (gl_STDINT_H): Copy condition from lib/stdbit.in.h.

4 months agointprops: Detect MSVC __typeof__ support.
Collin Funk [Fri, 20 Dec 2024 01:59:57 +0000 (17:59 -0800)]
intprops: Detect MSVC __typeof__ support.

* lib/intprops-internal.h (_GL_HAVE___TYPEOF__): Copy condition from
lib/stdbit.in.h.

4 months agostdbit-h: Detect MSVC __typeof__ support.
Collin Funk [Fri, 20 Dec 2024 01:53:48 +0000 (17:53 -0800)]
stdbit-h: Detect MSVC __typeof__ support.

* lib/stdbit.in.h (_GL_STDBIT_TYPEOF_CAST): Use __typeof__ on Visual
Studio 2022 version 17.9 and later.

4 months agocrc-x86_64: fix build failure due to indentation
Pádraig Brady [Wed, 18 Dec 2024 12:53:02 +0000 (12:53 +0000)]
crc-x86_64: fix build failure due to indentation

* modules/crc-x86_64: Remove indentation on lib_SOURCES,
as otherwise it's replaced with libcoreutils_a_SOURCES
rather than the required lib_libcoreutils_a_SOURCES, resulting in:
lib/gnulib.mk:1090: error: libcoreutils_a_SOURCES must be set with '=' before using '+='
lib/gnulib.mk:1090: warning: variable 'libcoreutils_a_SOURCES' is defined but no program or
lib/gnulib.mk:1090: library has 'libcoreutils_a' as canonical name (possible typo)

4 months agocrc-x86_64: Tweaks.
Bruno Haible [Tue, 17 Dec 2024 17:26:22 +0000 (18:26 +0100)]
crc-x86_64: Tweaks.

* modules/crc-x86_64 (Include): Fix the file name.
* m4/crc-x86_64.m4 (gl_CRC_X86_64_PCLMUL): Improve indentation.

4 months agoxstdopen: Improve error message.
Bruno Haible [Tue, 17 Dec 2024 17:21:03 +0000 (18:21 +0100)]
xstdopen: Improve error message.

* lib/xstdopen.c (xstdopen): Improve error message. Ignore the errno
value.

4 months agocrc: Add PCLMUL implementation
Sam Russell [Tue, 17 Dec 2024 07:49:50 +0000 (08:49 +0100)]
crc: Add PCLMUL implementation

* lib/crc-x86_64-pclmul.c: Implement CRC32 with PCLMUL intrinsics.
* lib/crc-x86_64.h: Add header for CRC32 with PCLMUL instrinsics.
* lib/crc.c: Use PCLMUL implementation if available.
* m4/crc-x86_64.m4: Detect PCLMUL and build accordingly.
* modules/crc-x86_64: New module for crc-x86_64.

Signed-off-by: Simon Josefsson <simon@josefsson.org>
4 months agoautoupdate
Karl Berry [Sun, 15 Dec 2024 15:14:36 +0000 (07:14 -0800)]
autoupdate

4 months agoatexit: document z/OS bug
Paul Eggert [Fri, 13 Dec 2024 07:01:14 +0000 (23:01 -0800)]
atexit: document z/OS bug

* doc/posix-functions/atexit.texi: Mention z/OS issue
raised by Sachin <https://bugs.gnu.org/74788>.

4 months agobcp47: Silence a gcc 14 -Wanalyzer-infinite-loop warning.
Bruno Haible [Thu, 12 Dec 2024 13:07:06 +0000 (14:07 +0100)]
bcp47: Silence a gcc 14 -Wanalyzer-infinite-loop warning.

* lib/bcp47.c: Include <stdlib.h>.
(bcp47_to_xpg): Verify an invariant through an abort().

4 months agodoc: fix typo in previous patch
Paul Eggert [Wed, 11 Dec 2024 20:24:09 +0000 (12:24 -0800)]
doc: fix typo in previous patch

4 months agodoc: isdigit and isxdigit are locale-independent
Paul Eggert [Wed, 11 Dec 2024 20:17:18 +0000 (12:17 -0800)]
doc: isdigit and isxdigit are locale-independent

* doc/posix-functions/isdigit.texi:
* doc/posix-functions/isxdigit.texi:
Document that mingw and MSVC do not conform to the C standard,
which says that isdigit and isxdigit are independent of locale.
Issue pointed out by Florian Weimer in:
https://sourceware.org/pipermail/libc-alpha/2024-December/162362.html

4 months agodoc: document non-translation
Paul Eggert [Wed, 11 Dec 2024 16:45:11 +0000 (08:45 -0800)]
doc: document non-translation

* doc/gnulib-tool.texi (Localization):
Say what to do if you don’t want translations.

4 months agoopenat-die: Fix a gcc -Wformat -Wformat-security warning.
Bruno Haible [Tue, 10 Dec 2024 20:19:17 +0000 (21:19 +0100)]
openat-die: Fix a gcc -Wformat -Wformat-security warning.

* lib/openat-die.c (openat_save_fail, openat_restore_fail): Put the
internationalized error message into non-format-string position.

4 months agoannounce-gen: Mention git commit and tag in announcement.
Simon Josefsson [Tue, 10 Dec 2024 08:57:33 +0000 (09:57 +0100)]
announce-gen: Mention git commit and tag in announcement.

* build-aux/announce-gen (this_commit_hash): New variable.
(main): Print git commit hash and tag.
(main): Put git-log info near git and NEWS info.

4 months agomaintainer-makefile: Pass on $(announce_gen_args) to announce-gen.
Simon Josefsson [Tue, 10 Dec 2024 08:52:37 +0000 (09:52 +0100)]
maintainer-makefile: Pass on $(announce_gen_args) to announce-gen.

* top/maint.mk (announce_gen_args): New variable, for cfg.mk use.
(announcement): Use it.

4 months agoxstrtol-error: Use the translation domain "gnulib".
Bruno Haible [Mon, 9 Dec 2024 12:34:51 +0000 (13:34 +0100)]
xstrtol-error: Use the translation domain "gnulib".

* lib/xstrtol-error.c (_): New macro.
(xstrtol_error): Use dgettext() instead of gettext().
* modules/xstrtol-error (Depends-on): Add gnulib-i18n.

4 months agoxprintf: Use the translation domain "gnulib".
Bruno Haible [Mon, 9 Dec 2024 12:33:15 +0000 (13:33 +0100)]
xprintf: Use the translation domain "gnulib".

* lib/xprintf.c (_): New macro.
(xvprintf, xvfprintf): Use it instead of gettext().
* modules/xprintf (Depends-on): Add gnulib-i18n.

4 months agounicodeio: Use the translation domain "gnulib".
Bruno Haible [Mon, 9 Dec 2024 12:31:23 +0000 (13:31 +0100)]
unicodeio: Use the translation domain "gnulib".

* lib/unicodeio.h (unicode_to_mb): Clarify that the message passed to
the failure callback may already be localized.
* lib/unicodeio.c (unicode_to_mb): For the messages defined in this
file, use the translation domain "gnulib".

4 months agofile-type: Use the translation domain "gnulib".
Bruno Haible [Mon, 9 Dec 2024 12:28:43 +0000 (13:28 +0100)]
file-type: Use the translation domain "gnulib".

* lib/file-type.c (file_type): Use the translation domain "gnulib".
* modules/file-type (Depends-on): Add gnulib-i18n.

4 months agoargmatch: Use the translation domain "gnulib".
Bruno Haible [Mon, 9 Dec 2024 12:26:51 +0000 (13:26 +0100)]
argmatch: Use the translation domain "gnulib".

* lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Use translation domain
"gnulib" for the literal string here.

4 months agoLocalizations: Fix omissions from the POT file.
Bruno Haible [Mon, 9 Dec 2024 12:18:21 +0000 (13:18 +0100)]
Localizations: Fix omissions from the POT file.

Reported by Benno Schulenberg.

* po/Makefile ($(DOMAIN).pot): Remove the file pre-filtering; just pass
all source files to xgettext.
* po/Makevars (XGETTEXT_OPTIONS): Recognize gettext_noop as a keyword.

4 months agognulib-tool: Fix test failures (regression 2024-12-06).
Bruno Haible [Mon, 9 Dec 2024 11:30:23 +0000 (12:30 +0100)]
gnulib-tool: Fix test failures (regression 2024-12-06).

* gnulib-tool.sh (func_import): Try both remove-potcdate.sin and
remove-potcdate.sed, whichever exists.
* pygnulib/GLImport.py (GLImport.execute): Likewise.

4 months agognupload: mention GPG_TTY
Paul Eggert [Mon, 9 Dec 2024 08:04:57 +0000 (00:04 -0800)]
gnupload: mention GPG_TTY

* build-aux/gnupload (usage): Mention GPG_TTY and gpg-agent.

4 months agoquotearg tests: Fix test failure (regression yesterday).
Bruno Haible [Mon, 9 Dec 2024 08:51:01 +0000 (09:51 +0100)]
quotearg tests: Fix test failure (regression yesterday).

* tests/testlocale/fr/LC_MESSAGES/gnulib.po: Renamed from
tests/testlocale/fr/LC_MESSAGES/test-quotearg.po.
* tests/testlocale/fr/LC_MESSAGES/gnulib.mo: Renamed from
tests/testlocale/fr/LC_MESSAGES/test-quotearg.mo.
* tests/test-quotearg.c (main): Use bindtextdomain for the domain
"gnulib", not "test-quotearg".
* tests/test-quotearg.sh: Fix typo in comments.
* modules/quotearg-tests (Files): Update.

4 months agoUse the translation domain "gnulib".
Bruno Haible [Mon, 9 Dec 2024 03:37:06 +0000 (04:37 +0100)]
Use the translation domain "gnulib".

Fix mistake in recent ChangeLog entry.

4 months agoDocument the new approach for gnulib localization.
Bruno Haible [Sun, 8 Dec 2024 17:15:49 +0000 (18:15 +0100)]
Document the new approach for gnulib localization.

* doc/gnulib-tool.texi (Localization): Recommend to use the gnulib-l10n
package. Deprecate the two previous approaches.
* gnulib-tool.sh (func_usage): Deprecate the --po-base and --po-domain
options.
* pygnulib/GLInfo.py (GLInfo.usage): Likewise.

4 months agoUse the translation domain "gnulib".
Bruno Haible [Sun, 8 Dec 2024 17:05:31 +0000 (18:05 +0100)]
Use the translation domain "gnulib".

* lib/argmatch.c (_): Use translation domain "gnulib".
* lib/bitset/stats.c (_): Likewise.
* lib/c-stack.c (_): Likewise.
* lib/clean-temp.c (_): Likewise.
* lib/clean-temp-simple.c (_): Likewise.
* lib/closein.c (_): Likewise.
* lib/closeout.c (_): Likewise.
* lib/copy-acl.c (_): Likewise.
* lib/copy-file.c (_): Likewise.
* lib/csharpcomp.c (_): Likewise.
* lib/csharpexec.c (_): Likewise.
* lib/cygpath.c (_): Likewise.
* lib/dfa.c (_): Likewise.
* lib/error.c (_): Likewise.
* lib/execute.c (_): Likewise.
* lib/gai_strerror.c (_): Likewise.
* lib/getaddrinfo.c (_): Likewise.
* lib/getopt.c (_): Likewise.
* lib/javacomp.c (_): Likewise.
* lib/javaexec.c (_): Likewise.
* lib/javaversion.c (_): Likewise.
* lib/mkdir-p.c (_): Likewise.
* lib/obstack.c (_) [!_LIBC]: Likewise.
* lib/openat-die.c (_): Likewise.
* lib/os2-spawn.c (_): Likewise.
* lib/pagealign_alloc.c (_): Likewise.
* lib/parse-datetime.y (_): Likewise.
* lib/pipe-filter-gi.c (_): Likewise.
* lib/pipe-filter-ii.c (_): Likewise.
* lib/quotearg.c (_): Likewise.
* lib/regex_internal.h (_): Likewise.
* lib/rpmatch.c (_): Likewise.
* lib/set-acl.c (_): Likewise.
* lib/sigpipe-die.c (_): Likewise.
* lib/spawn-pipe.c (_): Likewise.
* lib/strsignal.c (_) [!_LIBC]: Likewise.
* lib/timevar.c (_): Likewise.
* lib/unicodeio.c (_): Likewise.
* lib/userspec.c (_): Likewise.
* lib/version-etc.c (_): Likewise.
* lib/wait-process.c (_): Likewise.
* lib/xalloc-die.c (_): Likewise.
* lib/xbinary-io.c (_): Likewise.
* lib/xfreopen.c (_): Likewise.
* lib/xmemcoll.c (_): Likewise.
* lib/xsetenv.c (_): Likewise.
* lib/xstdopen.c (_): Likewise.
* lib/xstrerror.c (_): Likewise.
* modules/acl (Depends-on): Add gnulib-i18n.
* modules/argmatch (Depends-on): Likewise.
* modules/bitset (Depends-on): Likewise.
* modules/c-stack (Depends-on): Likewise.
* modules/clean-temp (Depends-on): Likewise.
* modules/clean-temp-simple (Depends-on): Likewise.
* modules/closein (Depends-on): Likewise.
* modules/closeout (Depends-on): Likewise.
* modules/copy-file (Depends-on): Likewise.
* modules/csharpcomp (Depends-on): Likewise.
* modules/csharpexec (Depends-on): Likewise.
* modules/cygpath (Depends-on): Likewise.
* modules/dfa (Depends-on): Likewise.
* modules/error (Depends-on): Likewise.
* modules/execute (Depends-on): Likewise.
* modules/getaddrinfo (Depends-on): Likewise.
* modules/getopt-posix (Depends-on): Likewise.
* modules/javacomp (Depends-on): Likewise.
* modules/javaexec (Depends-on): Likewise.
* modules/javaversion (Depends-on): Likewise.
* modules/mkdir-p (Depends-on): Likewise.
* modules/obstack (Depends-on): Likewise.
* modules/openat-die (Depends-on): Likewise.
* modules/pagealign_alloc (Depends-on): Likewise.
* modules/parse-datetime (Depends-on): Likewise.
* modules/pipe-filter-gi (Depends-on): Likewise.
* modules/pipe-filter-ii (Depends-on): Likewise.
* modules/quotearg (Depends-on): Likewise.
* modules/regex (Depends-on): Likewise.
* modules/rpmatch (Depends-on): Likewise.
* modules/sigpipe-die (Depends-on): Likewise.
* modules/spawn-pipe (Depends-on): Likewise.
* modules/strsignal (Depends-on): Likewise.
* modules/timevar (Depends-on): Likewise.
* modules/unicodeio (Depends-on): Likewise.
* modules/userspec (Depends-on): Likewise.
* modules/version-etc (Depends-on): Likewise.
* modules/wait-process (Depends-on): Likewise.
* modules/xalloc-die (Depends-on): Likewise.
* modules/xbinary-io (Depends-on): Likewise.
* modules/xfreopen (Depends-on): Likewise.
* modules/xmemcoll (Depends-on): Likewise.
* modules/xsetenv (Depends-on): Likewise.
* modules/xstdopen (Depends-on): Likewise.
* modules/xstrerror (Depends-on): Likewise.

4 months agognulib-i18n: New module.
Bruno Haible [Sun, 8 Dec 2024 16:50:07 +0000 (17:50 +0100)]
gnulib-i18n: New module.

* m4/gnulib-i18n.m4: New file, based on m4/bison-i18n.m4.
* modules/gnulib-i18n: New file.

4 months agoAdd infrastructure for handling gnulib localizations.
Bruno Haible [Sun, 8 Dec 2024 16:40:53 +0000 (17:40 +0100)]
Add infrastructure for handling gnulib localizations.

* po/Makefile: New file.
* po/Makevars: New file, based on the template from GNU gettext.
* gnulib-l10n/README: New file.
* gnulib-l10n/configure.ac: New file.
* gnulib-l10n/Makefile.am: New file.
* gnulib-l10n/m4/Makefile.am: New file.
* gnulib-l10n/autogen.sh: New file.
* gnulib-l10n/autoclean.sh: New file.
* Makefile (gnulib.pot, gnulib-tp-snapshot, gnulib-l10n-release): New
targets.

4 months agobison-i18n: Improve usability.
Bruno Haible [Sun, 8 Dec 2024 16:13:00 +0000 (17:13 +0100)]
bison-i18n: Improve usability.

* modules/bison-i18n (Depends-on): Remove 'gettext'.
* m4/bison-i18n.m4 (BISON_I18N): Instead of bailing out if there is no
AM_GNU_GETTEXT invocation, just warn. Define BISON_LOCALEDIR also in
config.h, removing the need to do it in the Makefile.

4 months agoUpdate dependencies of modules that include "gettext.h".
Bruno Haible [Sun, 8 Dec 2024 14:24:13 +0000 (15:24 +0100)]
Update dependencies of modules that include "gettext.h".

* modules/closein (Depends-on): Add gettext-h.
* modules/dfa (Depends-on): Likewise.
* modules/error (Depends-on): Likewise.
* modules/xfreopen (Depends-on): Likewise.
* modules/xstrerror (Depends-on): Likewise.

4 months agoUpdate COPYING file.
Bruno Haible [Sat, 7 Dec 2024 14:59:11 +0000 (15:59 +0100)]
Update COPYING file.

* COPYING: Remove statements that are not true any more since
2021-06-04.

4 months agosignbit: Fix compilation error with g++ 5.5 on Solaris 10.
Bruno Haible [Fri, 6 Dec 2024 19:48:06 +0000 (20:48 +0100)]
signbit: Fix compilation error with g++ 5.5 on Solaris 10.

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

* lib/math.in.h (signbit): In C++ 11 or newer, assume that <math.h> or
<cmath> may define signbit through three inline functions.

4 months agoUpdate build-aux/po/Makefile.in.in.
Bruno Haible [Fri, 6 Dec 2024 08:16:37 +0000 (09:16 +0100)]
Update build-aux/po/Makefile.in.in.

Reported by Assaf Gordon in
<https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>
and by Reuben Thomas <rrt@sc3d.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00020.html>.

* build-aux/po/Makefile.in.in: Sync from GNU gettext 0.23.
Fixes:
- Don't fail when 'make' is used with option -j.
- Pass the option --quiet to 'msgmerge'.
- Simplify by assuming that 'sed' groks comments.
* build-aux/po/remove-potcdate.sed: Renamed from
build-aux/po/remove-potcdate.sin.
* doc/gnulib.texi (Developer tools): Update file list.
* gnulib-tool.sh (func_import): Copy remove-potcdate.sed instead of
remove-potcdate.sin.
* pygnulib/GLImport.py (GLImport.execute): Likewise.

4 months agognulib-tool.py: Fix invalid use of cache.
Bruno Haible [Thu, 5 Dec 2024 08:43:14 +0000 (09:43 +0100)]
gnulib-tool.py: Fix invalid use of cache.

* pygnulib/GLModuleSystem.py (GLModule._getDependents): Make the modules
argument mandatory. Don't store the result in self.cache.

4 months agognulib-tool.py: Refactor.
Bruno Haible [Thu, 5 Dec 2024 08:28:13 +0000 (09:28 +0100)]
gnulib-tool.py: Refactor.

* pygnulib/GLModuleSystem.py (GLModuleSystem.getAllModules): Moved here
from GLModule._getAllModules. No need to eliminate empty module names.
(GLModule._getDependents, GLModule.getDependentsRecursively): Update.

4 months agognulib-tool.py: Remove dead code.
Bruno Haible [Thu, 5 Dec 2024 08:14:49 +0000 (09:14 +0100)]
gnulib-tool.py: Remove dead code.

* pygnulib/GLModuleSystem.py (GLModule.getDependents): Remove top_level
parameter. Use the cached value if present.
* pygnulib/main.py: Update accordingly.

4 months agognulib-tool.py: Make --extract-dependents quick again.
Collin Funk [Thu, 5 Dec 2024 02:49:45 +0000 (18:49 -0800)]
gnulib-tool.py: Make --extract-dependents quick again.

Suggested by Bruno Haible in:
<https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00012.html>.

* pygnulib/GLModuleSystem.py (GLModule.getDependents): Add an optional
argument to use the implementation before yesterdays change.
* pygnulib/main.py (mode == 'extract-dependents'): Add the optional
argument to call of GLModule.getDependents.

4 months agoFix a recent ChangeLog entry.
Collin Funk [Thu, 5 Dec 2024 01:28:44 +0000 (17:28 -0800)]
Fix a recent ChangeLog entry.

4 months agoautoupdate
Karl Berry [Wed, 4 Dec 2024 23:23:37 +0000 (15:23 -0800)]
autoupdate

4 months agobison-i18n: Ensure BISON_LOCALEDIR_c expands to a C string.
Bruno Haible [Wed, 4 Dec 2024 22:18:17 +0000 (23:18 +0100)]
bison-i18n: Ensure BISON_LOCALEDIR_c expands to a C string.

Reported by Holger Hoffstätte via Sam James <sam@gentoo.org>.

* m4/bison-i18n.m4 (BISON_I18N): Define BISON_LOCALEDIR_c and
BISON_LOCALEDIR_c_make in the usual way even when BISON_LOCALEDIR
expands to empty.

5 months agognulib-tool.py: Optimize --extract-recursive-dependencies.
Collin Funk [Wed, 4 Dec 2024 03:17:52 +0000 (19:17 -0800)]
gnulib-tool.py: Optimize --extract-recursive-dependencies.

* pygnulib/GLModuleSystem.py (GLModuleSystem.list): Add optional
argument to include test modules.
(GLModule._getDependents) New function.
(GLModule.getDependents): Use it.
(GLModule.getDependentsRecursively): Likewise.
(GLModule._getAllModules): New function.

5 months agostrerror_r-posix: Silence gcc 14 warning.
Bruno Haible [Tue, 3 Dec 2024 19:38:12 +0000 (20:38 +0100)]
strerror_r-posix: Silence gcc 14 warning.

* lib/strerror_r.c (strerror_r): Silence -Wformat-truncation warning.

5 months agogettext: Sync with gettext 0.23.
Bruno Haible [Mon, 2 Dec 2024 21:26:44 +0000 (22:26 +0100)]
gettext: Sync with gettext 0.23.

* m4/gettext.m4: Update from current gettext git.
* m4/po.m4: Likewise.

5 months agoannounce-gen: Add option --cksum-checksums.
Bruno Haible [Mon, 2 Dec 2024 20:27:56 +0000 (21:27 +0100)]
announce-gen: Add option --cksum-checksums.

* build-aux/announce-gen: Accept option --cksum-checksums.
(usage): Document option --cksum-checksums.
(print_checksums): Add prefer_cksum parameter.

5 months agoannounce-gen: Show an SHA256 sum that can be verified more easily.
Bruno Haible [Sun, 1 Dec 2024 13:40:34 +0000 (14:40 +0100)]
announce-gen: Show an SHA256 sum that can be verified more easily.

* build-aux/announce-gen (print_checksums): Output SHA256 sum in hex,
instead of base64 wrapped.

5 months agoannounce-gen: Fix bug when accessing symlinks.
Bruno Haible [Sun, 1 Dec 2024 12:49:03 +0000 (13:49 +0100)]
announce-gen: Fix bug when accessing symlinks.

* build-aux/announce-gen (sizes): Pass the option -L to 'du'.

5 months agofpurge: Improve configure test.
Bruno Haible [Wed, 27 Nov 2024 06:33:34 +0000 (07:33 +0100)]
fpurge: Improve configure test.

Reported by Eli Schwartz <eschwartz@gentoo.org>.

* m4/fpurge.m4 (gl_FUNC_FPURGE): If fpurge is not declared, don't test
whether it works. Remove now-redundant cross-compilation guess.

5 months agofpurge: Improve configure test.
Bruno Haible [Tue, 26 Nov 2024 08:38:42 +0000 (09:38 +0100)]
fpurge: Improve configure test.

Reported by Eli Schwartz <eschwartz@gentoo.org>.

* m4/fpurge.m4 (gl_FUNC_FPURGE): If fpurge is not declared, don't test
whether it works.

5 months agobootstrap: avoid sc_prohibit_undesirable_word_seq failure
Simon Josefsson [Mon, 25 Nov 2024 16:23:21 +0000 (17:23 +0100)]
bootstrap: avoid sc_prohibit_undesirable_word_seq failure

* build-aux/bootstrap: Regenerated.

5 months agobootstrap: avoid sc_prohibit_undesirable_word_seq failure
Simon Josefsson [Mon, 25 Nov 2024 15:37:31 +0000 (16:37 +0100)]
bootstrap: avoid sc_prohibit_undesirable_word_seq failure

* top/bootstrap-funclib.sh: s/can not/cannot/

5 months agodoc: Add missing module index.
Collin Funk [Sun, 24 Nov 2024 19:17:29 +0000 (11:17 -0800)]
doc: Add missing module index.

Reported by Bruno Haible <bruno@clisp.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00193.html>.

* doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p): Add module index.

5 months agogettext-h: Add tests.
Bruno Haible [Sun, 24 Nov 2024 18:06:32 +0000 (19:06 +0100)]
gettext-h: Add tests.

Suggested by Ben Pfaff <blp@cs.stanford.edu> in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00186.html>.

* tests/test-gettext-h.c: New file.
* modules/gettext-h-tests: New file.

5 months agogettext-h: Fix compilation error when pgettext is used.
Bruno Haible [Sun, 24 Nov 2024 14:50:07 +0000 (15:50 +0100)]
gettext-h: Fix compilation error when pgettext is used.

Fix last ChangeLog entry.

5 months agogettext: Fix compilation error when pgettext is used.
Bruno Haible [Sun, 24 Nov 2024 14:15:37 +0000 (15:15 +0100)]
gettext: Fix compilation error when pgettext is used.

Reported by Friedrich Beckmann <friedrich.beckmann@posteo.de> in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00189.html>.

* lib/gettext.h: Include <locale.h>.

5 months agodoc: Document that glob includes glob_pattern_p.
Collin Funk [Sun, 24 Nov 2024 07:32:27 +0000 (23:32 -0800)]
doc: Document that glob includes glob_pattern_p.

* doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p): Document
that the glob module includes the glob_pattern_p function.

5 months agoopenat: don’t close (-1)
Paul Eggert [Thu, 21 Nov 2024 01:51:05 +0000 (17:51 -0800)]
openat: don’t close (-1)

* lib/openat.c (openat_permissive): Don’t close (-1), as some
debugging systems dislike that.  Clarify errno handling a bit.

5 months agotests: omit MEMCHR etc as no longer needed
Paul Eggert [Thu, 21 Nov 2024 01:19:45 +0000 (17:19 -0800)]
tests: omit MEMCHR etc as no longer needed

* tests/test-memchr.c (MEMCHR):
* tests/test-memchr2.c (MEMCHR2):
* tests/test-memrchr.c (MEMRCHR):
* tests/test-rawmemchr.c (RAWMEMCHR):
Remove these macros, as the code never adds to their results.
All uses replaced by original functions.

* tests/test-memchr.c (lib_memchr, volatile_memchr, memchr)

5 months agotests: dissuade unwanted clang optimization
Paul Eggert [Wed, 20 Nov 2024 22:55:32 +0000 (14:55 -0800)]
tests: dissuade unwanted clang optimization

Pacify Apple clang 14.0.0 (clang-1400.0.29.202) for
arm64-apple-darwin21.6.0 on test-memset_explicit.c,
which otherwise complains “warning: null passed to a callee that
requires a non-null argument [-Wnonnull]” and presumably could
do an unwanted optimization based on this analysis.
Do other tests consistently.
* tests/test-bsearch.c (lib_bsearch, volatile_bsearch, bsearch):
* tests/test-memccpy.c (lib_memccpy, volatile_memccpy, memccpy):
* tests/test-memchr.c (lib_memchr, volatile_memchr, memchr):
* tests/test-memcmp.c (lib_memcmp, volatile_memcmp, memcmp):
* tests/test-memcpy.c (lib_memcpy, volatile_memcpy, memcpy):
* tests/test-memmove.c (lib_memmove, volatile_memmove, memmove):
* tests/test-memset.c (lib_memset, volatile_memset, memset):
* tests/test-memset_explicit.c (lib_memset_explicit)
(volatile_memset_explicit, memset_explicit):
* tests/test-qsort.c (lib_qsort, volatile_qsort, qsort):
* tests/test-strncat.c (lib_strncat, volatile_strncat, strncat):
* tests/test-strncmp.c (lib_strncmp, volatile_strncmp, strncmp):
* tests/test-strncpy.c (lib_strncpy, volatile_strncpy, strncpy):
* tests/test-strndup.c (lib_strndup, volatile_strndup, strndup):
* tests/test-wcsncat.c (lib_wcsncat, volatile_wcsncat, wcsncat):
* tests/test-wcsncmp.c (lib_wcsncmp, volatile_wcsncmp, wcsncmp):
* tests/test-wcsncpy.c (lib_wcsncpy, volatile_wcsncpy, wcsncpy):
* tests/test-wmemchr.c (lib_wmemchr, volatile_wmemchr, wmemchr):
* tests/test-wmemcmp.c (lib_wmemcmp, volatile_wmemcmp, wmemcmp):
* tests/test-wmemcpy.c (lib_wmemcpy, volatile_wmemcpy, wmemcpy):
* tests/test-wmemmove.c (lib_wmemmove, volatile_wmemmove, wmemmove):
* tests/test-wmemset.c (lib_wmemset, volatile_wmemset, wmemset)
Convince the compiler to not optimize based on what it thinks
about the function.  Callers changed to not use volatile locals,
since they should no longer be needed.

5 months agoopenat: omit unnecessary fd test
Paul Eggert [Mon, 18 Nov 2024 16:13:26 +0000 (08:13 -0800)]
openat: omit unnecessary fd test

* lib/openat.c (openat_permissive): Close fd regardless
of whether it’s STDERR_FILENO.  This saves a bit of code space
and there’s no point to making this unlikely path faster.
Also change a couple of != 0 to < 0 for clarity
when -1 is the only option.

5 months agoopenat: use C99 decls after stmts
Paul Eggert [Mon, 18 Nov 2024 15:58:03 +0000 (07:58 -0800)]
openat: use C99 decls after stmts

* lib/openat.c (rpl_openat, openat_permissive):
Refactor to put decls closer to where they’re used.

5 months agoopenat: don’t lose track of save_cwd errno
Paul Eggert [Mon, 18 Nov 2024 15:54:54 +0000 (07:54 -0800)]
openat: don’t lose track of save_cwd errno

* lib/openat.c (openat_permissive): When ‘close’ is called
after save_cwd failed, don’t lose track of save_cwd’s errno.
This fixes a recently-introduced unlikely bug.

5 months agoc-stack: Avoid a busy-looping test on macOS.
Bruno Haible [Wed, 20 Nov 2024 07:50:42 +0000 (08:50 +0100)]
c-stack: Avoid a busy-looping test on macOS.

* lib/c-stack.c: Undefine abort.

5 months agotests: Silence some more -Wdeprecated-declarations warnings.
Bruno Haible [Wed, 20 Nov 2024 07:24:31 +0000 (08:24 +0100)]
tests: Silence some more -Wdeprecated-declarations warnings.

* tests/test-execute-child.c: Silence warning about sprintf.
* tests/test-fstatat.c: Silence warnings about statat and lstatat.
* tests/test-statat.c: Add comment.

5 months agosavewd: remove O_SEARCH optimization
Paul Eggert [Wed, 20 Nov 2024 02:29:57 +0000 (18:29 -0800)]
savewd: remove O_SEARCH optimization

* lib/savewd.c (savewd_save): Remove recently-added optimization
for platforms with O_SEARCH, as it does not work on macOS 12.6
due to what seems to be a bug there.

5 months agostrerror, vasnprintf: pacify clang 14 on macOS
Paul Eggert [Tue, 19 Nov 2024 23:48:02 +0000 (15:48 -0800)]
strerror, vasnprintf: pacify clang 14 on macOS

* lib/strerror.c, lib/vasnprintf.c: Pacify clang 14 on macOS 12.6.

5 months agodoc: nullptr_t bug fixed in GCC 15
Paul Eggert [Tue, 19 Nov 2024 21:57:36 +0000 (13:57 -0800)]
doc: nullptr_t bug fixed in GCC 15

5 months agounicodeio: avoid iconv issues for most ASCII characters
Pádraig Brady [Tue, 19 Nov 2024 18:11:21 +0000 (18:11 +0000)]
unicodeio: avoid iconv issues for most ASCII characters

* lib/unicodeio.c (print_unicode_char): Avoid unicode_to_mb()
for most ASCII characters, to avoid iconv() issues
which were seen on macOS.
Addresses https://bugs.gnu.org/74428

5 months agodoc: mention strtol no-conversion + EINVAL
Paul Eggert [Tue, 19 Nov 2024 17:11:22 +0000 (09:11 -0800)]
doc: mention strtol no-conversion + EINVAL

5 months agostdlib: Adjust warning about function 'free'.
Bruno Haible [Tue, 19 Nov 2024 15:03:01 +0000 (16:03 +0100)]
stdlib: Adjust warning about function 'free'.

Reported by Simon Josefsson in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00158.html>.

* lib/stdlib.in.h (free): Talk about POSIX:2024, not future POSIX.
Recommend module 'free-posix'.

5 months agomaint: avoid sc_prohibit_undesirable_word_seq failure
Pádraig Brady [Mon, 18 Nov 2024 16:20:22 +0000 (16:20 +0000)]
maint: avoid sc_prohibit_undesirable_word_seq failure

* build-aux/bootstrap: s/can not/cannot/

5 months agosavewd: set errnum for FINAL_STATE too
Paul Eggert [Mon, 18 Nov 2024 06:58:13 +0000 (22:58 -0800)]
savewd: set errnum for FINAL_STATE too

Problem reported by Grisha Levit in:
https://lists.gnu.org/r/bug-gnulib/2024-11/msg00137.html
* lib/savewd.c (savewd_finish):
Set errnum to 0 unless we were in an error state.
* lib/savewd.h (savewd_errno): Report final state errnum too.

5 months agodoc: Prefer https urls where possible.
Collin Funk [Sun, 17 Nov 2024 21:05:55 +0000 (13:05 -0800)]
doc: Prefer https urls where possible.

* doc/gnulib.texi (POSIXURL): Use https url.
* doc/multithread.texi: Use https instead of http where possible.
* doc/glibc-functions/*.texi: Likewise.
* doc/posix-functions/*.texi: Likewise.
* lib/glthread/lock.c: Likewise.
* lib/hamt.h: Likewise.
* lib/localcharset.c: Likewise.
* lib/pipe2.c: Likewise.
* lib/pipe.c: Likewise.
* lib/sigsegv.c: Likewise.
* lib/sigsegv.in.h: Likewise.
* lib/sm3.c: Likewise.
* lib/sm3.h: Likewise.
* lib/sm3-stream.c: Likewise.
* lib/stackvma.c: Likewise.
* lib/stdio-impl.h: Likewise.
* lib/stdnoreturn.in.h: Likewise.
* m4/getopt.m4: Likewise.
* m4/largefile.m4: Likewise.
* m4/stdalign.m4: Likewise.
* STATUS-libposix: Likewise.
* tests/test-float.c: Likewise.
* tests/test-getopt.h: Likewise.
* tests/test-setenv.c: Likewise.
* tests/test-spawn-pipe-child.c: Likewise.
* tests/test-strerror.c: Likewise.
* tests/test-strerror_r.c: Likewise.
* tests/test-unsetenv.c: Likewise.
* users.txt: Likewise.

5 months agomd5-stream, sha*-stream, sm3-stream: Avoid duplicate symbols.
Jan Palus [Sun, 17 Nov 2024 17:58:42 +0000 (18:58 +0100)]
md5-stream, sha*-stream, sm3-stream: Avoid duplicate symbols.

* lib/md5-stream.c (GL_OPENSSL_INLINE): Remove definition, that caused
the symbols defined in md5.o to be defined in md5-stream.o as well.
* lib/sha1-stream.c (GL_OPENSSL_INLINE): Likewise.
* lib/sha256-stream.c (GL_OPENSSL_INLINE): Likewise.
* lib/sha512-stream.c (GL_OPENSSL_INLINE): Likewise.
* lib/sm3-stream.c (GL_OPENSSL_INLINE): Likewise.

Copyright-paperwork-exempt: Yes

5 months agostd-gnu23: fix ChangeLog typo
Paul Eggert [Sun, 17 Nov 2024 17:37:12 +0000 (09:37 -0800)]
std-gnu23: fix ChangeLog typo

5 months agostd-gnu23: sync from Autoconf
Paul Eggert [Sun, 17 Nov 2024 17:30:24 +0000 (09:30 -0800)]
std-gnu23: sync from Autoconf

This fixes a problem reported from Bruno Haible in:
https://lists.gnu.org/r/bug-gnulib/2024-11/msg00145.html
* m4/std-gnu23.m4 (_AC_C_C23_TEST_MAIN): Use null_ptr.

5 months agoRemove .cvsignore files.
Collin Funk [Sun, 17 Nov 2024 04:54:10 +0000 (20:54 -0800)]
Remove .cvsignore files.

* .cvsignore: Remove file.
* doc/.cvsignore: Likewise.
* lib/.cvsignore: Likewise.
* m4/.cvsignore: Likewise.

5 months agostd-gnu23: don’t test stdbit.h
Paul Eggert [Sat, 16 Nov 2024 20:07:34 +0000 (12:07 -0800)]
std-gnu23: don’t test stdbit.h

Although freestanding C23 compilers must support <stdbit.h>,
some current sort-of-C23 environments lack it.
We still want to use options like -std=gnu23 on such platforms.
Problem reported by Bruno Haible in:
https://lists.gnu.org/r/bug-gnulib/2024-11/msg00141.html
* m4/std-gnu23.m4 (_AC_C_C23_TEST_GLOBALS): Do not test stdbit.h.

5 months agostd-gnu23: pacify GCC 15
Paul Eggert [Sat, 16 Nov 2024 19:51:23 +0000 (11:51 -0800)]
std-gnu23: pacify GCC 15

Problem reported by Bruno Haible in:
https://lists.gnu.org/r/bug-gnulib/2024-11/msg00140.html
* m4/std-gnu23.m4 (_AC_C_C23_TEST_GLOBALS): Add parens.
While we’re at it, use sizeof so that the expression is a
conforming integer constant expression.

5 months agocalloc-gnu: Fix bug on 32-bit AIX (regression 2024-11-04).
Bruno Haible [Sat, 16 Nov 2024 14:16:05 +0000 (15:16 +0100)]
calloc-gnu: Fix bug on 32-bit AIX (regression 2024-11-04).

* lib/stdlib.in.h (calloc): Consider _GL_USE_STDLIB_ALLOC.
* lib/calloc.c: Define _GL_USE_STDLIB_ALLOC. Don't undefine calloc.
* lib/malloc.c: Add comment.
* lib/realloc.c: Likewise.

5 months agomktime: don’t consult daylight
Paul Eggert [Thu, 14 Nov 2024 17:40:24 +0000 (10:40 -0700)]
mktime: don’t consult daylight

* lib/mktime.c (__mktime_internal): Do not consult __daylight
as it has unreliable contents - among other things, the user
can set it.  It also wasn’t being configured properly for
mingw-w64; this problem was reported by Markus Muetzel in
<https://lists.gnu.org/r/bug-gnulib/2024-11/msg00126.html>.
* m4/mktime.m4 (gl_PREREQ_MKTIME): Do not check for ‘daylight’;
no longer needed.

5 months agoEliminate gcc -Wzero-as-null-pointer-constant warnings.
Bruno Haible [Thu, 14 Nov 2024 14:56:50 +0000 (15:56 +0100)]
Eliminate gcc -Wzero-as-null-pointer-constant warnings.

* lib/argp-help.c: Use NULL, not 0, to denote a null pointer.
* lib/argp-parse.c: Likewise.
* lib/backup-find.c (get_version): Likewise.
* lib/bitset/list.c: Likewise.
* lib/bitset/stats.c (bitset_stats_init): Likewise.
* lib/bitset/table.c: Likewise.
* lib/bitsetv.c (bitsetv_alloc): Likewise.
* lib/error.c (print_errno_message): Likewise.
* lib/exclude.c (new_exclude_segment): Likewise.
* lib/getopt.c (GETOPT_ENTRY): Likewise.
* lib/human.c (block_size_args): Likewise.
* lib/obstack.c (_obstack_begin_worker, _obstack_newchunk,
_obstack_allocated_p, _obstack_free, _obstack_memory_used): Likewise.
* lib/quotearg.c (quoting_style_args, quotearg_buffer_restyled,
quotearg_alloc_mem): Likewise.
* lib/readutmp.c (read_utmp_from_file): Likewise.
* lib/savedir.c (comparison_function_table): Likewise.
* lib/settime.c (settime): Likewise.
* tests/nap.h (nap_works): Likewise.
* tests/test-fts.c (argv, fts_dealloc, remove_tree, main): Likewise.
* tests/test-getaddrinfo.c (simple): Likewise.
* tests/test-nstrftime.h (posixtm_test, TZ, quarter_test, errno_test,
locales_test): Likewise.
* tests/test-parse-datetime.c (main): Likewise.
* tests/test-regex.c (main): Likewise.

5 months agoautoupdate
Karl Berry [Thu, 14 Nov 2024 15:10:02 +0000 (07:10 -0800)]
autoupdate

5 months agoftruncate, ftello: Make them work again for large files on MSVC.
Bruno Haible [Thu, 14 Nov 2024 06:43:00 +0000 (07:43 +0100)]
ftruncate, ftello: Make them work again for large files on MSVC.

* lib/ftruncate.c: Test _GL_WINDOWS_64_BIT_OFF_T again.
* lib/ftello.c: Likewise.

5 months agopthread-rwlock tests: Fix compilation error on AIX with xlc.
Bruno Haible [Thu, 14 Nov 2024 06:06:25 +0000 (07:06 +0100)]
pthread-rwlock tests: Fix compilation error on AIX with xlc.

* m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Cast the NULL pointer.
* tests/test-pthread-rwlock-waitqueue.c (do_test): Likewise.

5 months agoftello: Add tests for large files.
Bruno Haible [Thu, 14 Nov 2024 04:22:06 +0000 (05:22 +0100)]
ftello: Add tests for large files.

* tests/test-ftello-largefile.c: New file.
* modules/ftello-extra-tests: New file.
* modules/ftello-tests (Depends-on): Add ftello-extra-tests.

5 months agofseeko: Add tests for large files.
Bruno Haible [Thu, 14 Nov 2024 04:20:33 +0000 (05:20 +0100)]
fseeko: Add tests for large files.

* tests/test-fseeko-largefile.c: New file.
* modules/fseeko-extra-tests: New file.
* modules/fseeko-tests (Depends-on): Add fseeko-extra-tests.