]> Savannah Git Hosting - gnulib.git/log
gnulib.git
21 months agoFix build errors on Linux/hppa.
Bruno Haible [Tue, 11 Jul 2023 08:08:18 +0000 (10:08 +0200)]
Fix build errors on Linux/hppa.

* modules/math (Makefile.am): Split long pipe command into several
smaller commands.
* modules/pthread-h (Makefile.am): Likewise.
* modules/stdio (Makefile.am): Likewise.
* modules/stdlib (Makefile.am): Likewise.
* modules/string (Makefile.am): Likewise.
* modules/unictype/base (Makefile.am): Likewise.
* modules/unistd (Makefile.am): Likewise.
* modules/wchar (Makefile.am): Likewise.

21 months agowcscmp: Work around a glibc bug.
Bruno Haible [Thu, 6 Jul 2023 22:53:00 +0000 (00:53 +0200)]
wcscmp: Work around a glibc bug.

Reported by مصعب الزعبي (Mosab Al-Zoubi) <moceap@hotmail.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2023-07/msg00029.html>.

* m4/wcscmp.m4 (gl_FUNC_WCSCMP): Test against a glibc/arm* bug.
* doc/posix-functions/wcscmp.texi: Mention the glibc/arm* bug.

21 months agoautoupdate
Karl Berry [Tue, 4 Jul 2023 14:19:04 +0000 (07:19 -0700)]
autoupdate

22 months agomaint.mk: Modernize stddef.h checks for C23
Paul Eggert [Sat, 1 Jul 2023 08:38:07 +0000 (01:38 -0700)]
maint.mk: Modernize stddef.h checks for C23

* top/maint.mk (_stddef_syms_re): Modernize for C23.

22 months agoquotearg: Overcome wchar_t limitations.
Bruno Haible [Fri, 30 Jun 2023 20:54:12 +0000 (22:54 +0200)]
quotearg: Overcome wchar_t limitations.

* lib/quotearg.c: Include <uchar.h> instead of <wchar.h>, <wctype.h>.
(quotearg_buffer_restyled): Use mbrtoc32, c32isprint instead of mbrtowc,
iswprint.
* modules/quotearg (Files): Remove m4/mbstate_t.m4, m4/mbrtowc.m4
(redundant).
(Depends-on): Add uchar, mbrtoc32, c32isprint. Remove wchar, wctype-h,
mbrtowc.
(Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/quotearg-tests (Makefile.am): Link test-quotearg with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/quotearg-simple (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/quotearg-simple-tests (Makefile.am): Link test-quotearg-simple
with $(LIBUNISTRING) $(LIBC32CONV).
--
* modules/quote (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
--
* modules/acl (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/acl-tests (Makefile.am): Link test-set-mode-acl and
test-copy-acl with $(LIBUNISTRING) $(LIBC32CONV).
* modules/copy-file (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/copy-file-tests (Makefile.am): Link test-copy-file with
$(LIBUNISTRING) $(LIBC32CONV).
--
* modules/argmatch (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/argmatch-tests (Makefile.am): Link test-argmatch with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/backup-rename (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/backupfile (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/human (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
--
* modules/sh-quote (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/sh-quote-tests (Makefile.am): Link test-sh-quote with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/system-quote (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/system-quote-tests (Makefile.am): Link test-system-quote-main
with $(LIBUNISTRING) $(LIBC32CONV).
* modules/csharpcomp (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/csharpexec (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/javacomp (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/javaexec (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
--
* modules/string-desc-quotearg (Link): New section.
* modules/string-desc-quotearg-tests (Makefile.am): Link
test-string-desc-quotearg with $(LIBUNISTRING) $(LIBC32CONV).
--
* modules/xmemcoll (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
--
* modules/closeout (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/readtokens-tests (Makefile.am): Link test-readtokens with
$(LIBUNISTRING) $(LIBC32CONV).
--
* modules/closein (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/closein-tests (Makefile.am): Link test-closein with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/yesno-tests (Makefile.am): Link test-yesno with
$(LIBUNISTRING) $(LIBC32CONV).

22 months agoAccommodate a difference between mbrtowc and mbrtoc32.
Bruno Haible [Fri, 30 Jun 2023 20:48:12 +0000 (22:48 +0200)]
Accommodate a difference between mbrtowc and mbrtoc32.

* lib/mbiter.h (mbiter_multi_next): Handle the mbrtoc32 return value
(size_t)(-3).
* lib/mbuiter.h (mbuiter_multi_next): Likewise.
* lib/mbfile.h (mbfile_multi_getc): Likewise.

22 months agodoc: Reference some reported bugs (in comments).
Bruno Haible [Fri, 30 Jun 2023 14:24:00 +0000 (16:24 +0200)]
doc: Reference some reported bugs (in comments).

* doc/posix-functions/mbrlen.texi: Add references to bug reports.
* doc/posix-functions/mbrtoc16.texi: Likewise.
* doc/posix-functions/mbrtoc32.texi: Likewise.
* doc/posix-functions/mbrtowc.texi: Likewise.
* doc/posix-functions/mbsnrtowcs.texi: Likewise.
* doc/posix-functions/mbsrtowcs.texi: Likewise.
* doc/posix-functions/mbstowcs.texi: Likewise.

22 months agoassert-tests: pacify gcc -Wunused-function
Paul Eggert [Fri, 30 Jun 2023 06:43:11 +0000 (23:43 -0700)]
assert-tests: pacify gcc -Wunused-function

* tests/test-assert.c (main): Call f, so that the test
works even if NDEBUG is defined.

22 months agostddef-tests: pacify gcc -Wshadow
Paul Eggert [Thu, 29 Jun 2023 22:24:32 +0000 (15:24 -0700)]
stddef-tests: pacify gcc -Wshadow

* tests/test-stddef.c (mat): Rename from ‘x’.

22 months agonullptr-tests: pacify gcc -Wmissing-declarations
Paul Eggert [Thu, 29 Jun 2023 22:23:55 +0000 (15:23 -0700)]
nullptr-tests: pacify gcc -Wmissing-declarations

* tests/test-nullptr.c (varargs_callee): Now static.

22 months agolibtextstyle-optional: Update to gettext 0.22.
Bruno Haible [Thu, 29 Jun 2023 17:02:43 +0000 (19:02 +0200)]
libtextstyle-optional: Update to gettext 0.22.

* lib/textstyle.in.h: Declare all functions that were added in
textstyle.h from gettext-0.22.

22 months agolibtextstyle-optional: Update to gettext 0.21.
Bruno Haible [Thu, 29 Jun 2023 15:31:55 +0000 (17:31 +0200)]
libtextstyle-optional: Update to gettext 0.21.

* lib/textstyle.in.h: Declare all functions that exist in textstyle.h
from gettext-0.21, independently of iconv.

22 months agofix space-tabs in top/maint.mk
Paul Eggert [Thu, 29 Jun 2023 01:49:31 +0000 (18:49 -0700)]
fix space-tabs in top/maint.mk

* top/maint.mk: Omit space before tab.

22 months agodoc: Mention c8rtomb and mbrtoc8 from ISO C 23.
Bruno Haible [Wed, 28 Jun 2023 17:27:26 +0000 (19:27 +0200)]
doc: Mention c8rtomb and mbrtoc8 from ISO C 23.

* doc/posix-functions/c8rtomb.texi: New file.
* doc/posix-functions/mbrtoc8.texi: New file.
* doc/gnulib.texi (Function Substitutes): Include them.

22 months agombrtoc16: Add tests.
Bruno Haible [Wed, 28 Jun 2023 16:36:02 +0000 (18:36 +0200)]
mbrtoc16: Add tests.

* tests/test-mbrtoc16.c: New file, based on tests/test-mbrtoc32.c.
* tests/test-mbrtoc16-1.sh: New file, based on tests/test-mbrtoc32-1.sh.
* tests/test-mbrtoc16-2.sh: New file, based on tests/test-mbrtoc32-2.sh.
* tests/test-mbrtoc16-3.sh: New file, based on tests/test-mbrtoc32-3.sh.
* tests/test-mbrtoc16-4.sh: New file, based on tests/test-mbrtoc32-4.sh.
* tests/test-mbrtoc16-5.sh: New file, based on tests/test-mbrtoc32-5.sh.
* tests/test-mbrtoc16-w32.c: New file, based on
tests/test-mbrtoc32-w32.c.
* tests/test-mbrtoc16-w32-1.sh: New file, based on
tests/test-mbrtoc32-w32-1.sh.
* tests/test-mbrtoc16-w32-2.sh: New file, based on
tests/test-mbrtoc32-w32-2.sh.
* tests/test-mbrtoc16-w32-3.sh: New file, based on
tests/test-mbrtoc32-w32-3.sh.
* tests/test-mbrtoc16-w32-4.sh: New file, based on
tests/test-mbrtoc32-w32-4.sh.
* tests/test-mbrtoc16-w32-5.sh: New file, based on
tests/test-mbrtoc32-w32-5.sh.
* tests/test-mbrtoc16-w32-6.sh: New file, based on
tests/test-mbrtoc32-w32-6.sh.
* tests/test-mbrtoc16-w32-7.sh: New file, based on
tests/test-mbrtoc32-w32-7.sh.
* modules/mbrtoc16-tests: New file, based on modules/mbrtoc32-tests.

22 months agombrtoc16: New module.
Bruno Haible [Wed, 28 Jun 2023 16:28:23 +0000 (18:28 +0200)]
mbrtoc16: New module.

* lib/uchar.in.h (mbrtoc16): New declaration.
* lib/mbrtoc16.c: New file.
* m4/mbrtoc16.m4: New file, based on m4/mbrtoc32.m4.
* modules/mbrtoc16: New file.
* m4/uchar_h.m4 (gl_UCHAR_H): Test whether mbrtoc16 is declared.
(gl_UCHAR_H_REQUIRE_DEFAULTS): Initialize GNULIB_MBRTOC16.
(gl_UCHAR_H_DEFAULTS): Initialize HAVE_MBRTOC16, REPLACE_MBRTOC16.
* modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC16,
HAVE_MBRTOC16, REPLACE_MBRTOC16.
* doc/posix-functions/mbrtoc16.texi: Mention the mbrtoc16 module and the
mbsinit related limitation.
* doc/posix-functions/mbsinit.texi: Mention the mbrtoc16 related
limitation.

22 months agoc32*: Update comment.
Bruno Haible [Wed, 28 Jun 2023 13:27:18 +0000 (15:27 +0200)]
c32*: Update comment.

* lib/c32is-impl.h (FUNC): Add comment regarding Android.
* lib/c32to-impl.h (FUNC): Likewise.
* lib/c32width.c (c32width): Likewise.

22 months agombrtoc32: Doc tweak.
Bruno Haible [Wed, 28 Jun 2023 10:35:21 +0000 (12:35 +0200)]
mbrtoc32: Doc tweak.

* doc/posix-functions/mbrtoc32.texi: Mention that mingw and Android have
the empty input bug.
* m4/mbrtoc32.m4 (gl_MBRTOC32_EMPTY_INPUT): Update cross-compilation
guess.

22 months agombrtowc: Doc tweak.
Bruno Haible [Wed, 28 Jun 2023 13:01:33 +0000 (15:01 +0200)]
mbrtowc: Doc tweak.

* doc/posix-functions/mbrtowc.texi: Mention that MSVC has the empty
input bug and the return value bug. Mention that Android has the empty
input bug.
* m4/mbrtowc.m4 (gl_MBRTOC32_EMPTY_INPUT): Update cross-compilation
guess.

22 months agombrtowc, mbrtoc32: Simplify autoconf macros.
Bruno Haible [Tue, 27 Jun 2023 19:19:28 +0000 (21:19 +0200)]
mbrtowc, mbrtoc32: Simplify autoconf macros.

* m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Put
cross-compilation guess at the usual place.
* m4/mbrtoc32.m4 (gl_MBRTOC32_EMPTY_INPUT, gl_MBRTOC32_C_LOCALE):
Likewise.

22 months agoc32*: Optionally enforce ISO C 23 semantics of char32_t.
Bruno Haible [Tue, 27 Jun 2023 09:28:26 +0000 (11:28 +0200)]
c32*: Optionally enforce ISO C 23 semantics of char32_t.

* lib/lc-charset-unicode.h: New file.
* lib/lc-charset-unicode.c: New file.
* modules/uchar-c23: New file.
* lib/uchar.in.h (char32_t): Add comment.
* lib/mbrtoc32.c: Include lc-charset-unicode.h.
(mbrtoc32): If char32_t is Unicode and wchar_t is not, invoke
locale_encoding_to_unicode.
* lib/btoc32.c: Include lc-charset-unicode.h.
(btoc32): If char32_t is Unicode and wchar_t is not, invoke
locale_encoding_to_unicode.
* lib/c32rtomb.c: Include lc-charset-unicode.h.
(c32rtomb): If char32_t is Unicode and wchar_t is not, invoke
unicode_to_locale_encoding.
* lib/c32tob.c: Include lc-charset-unicode.h.
(c32tob): If char32_t is Unicode and wchar_t is not, invoke
unicode_to_locale_encoding.
* lib/mbsnrtoc32s.c: If char32_t is Unicode and wchar_t is not, don't
use mbsnrtowcs.
* lib/mbsrtoc32s.c: If char32_t is Unicode and wchar_t is not, don't use
mbsrtowcs.
* lib/c32snrtombs.c: If char32_t is Unicode and wchar_t is not, don't
use wcsnrtombs.
* lib/c32srtombs.c: If char32_t is Unicode and wchar_t is not, don't use
wcsrtombs.
* lib/c32is-impl.h: Include lc-charset-unicode.h.
(FUNC): If char32_t is Unicode and wchar_t is not, use UCS_FUNC.
* lib/c32to-impl.h: Include lc-charset-unicode.h.
(FUNC): If char32_t is Unicode and wchar_t is not, use UCS_FUNC.
* lib/c32width.c: Include lc-charset-unicode.h.
(c32width): If char32_t is Unicode and wchar_t is not, use uc_width.
* tests/test-mbrtoc32.c: Include <wchar.h>.
(main): Skip GB18030 tests on NetBSD and Solaris. If
GL_CHAR32_T_IS_UNICODE, expect Unicode encoding for the char32_t values.
* tests/test-mbrtoc32-w32.c: Include <wchar.h>.
(test_one_locale): Simplify.
* tests/test-c32rtomb.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32rtomb.sh: Update.
* tests/test-mbsnrtoc32s.c: Include <wchar.h>.
(main): Skip GB18030 tests on NetBSD and Solaris.
* tests/test-mbsrtoc32s.c: Include <wchar.h>.
(main): Skip GB18030 tests on NetBSD and Solaris.
* tests/test-mbstoc32s.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32snrtombs.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32srtombs.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32stombs.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32isalnum.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32isalnum.sh: Update.
* tests/test-c32isalpha.c (main): Skip GB18030 tests on NetBSD and
Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
Solaris.
* tests/test-c32isalpha.sh: Update.
* tests/test-c32isblank.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32isblank.sh: Update.
* tests/test-c32iscntrl.c (main): Skip GB18030 tests on NetBSD and
Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
Solaris.
* tests/test-c32iscntrl.sh: Update.
* tests/test-c32isdigit.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32isdigit.sh: Update.
* tests/test-c32isgraph.c (main): Skip GB18030 tests on NetBSD and
Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
Solaris.
* tests/test-c32isgraph.sh: Update.
* tests/test-c32islower.c (main): Skip GB18030 tests on NetBSD and
Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
Solaris.
* tests/test-c32islower.sh: Update.
* tests/test-c32isprint.c (main): Skip GB18030 tests on NetBSD and
Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
Solaris.
* tests/test-c32isprint.sh: Update.
* tests/test-c32ispunct.c (main): Skip GB18030 tests on NetBSD and
Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
Solaris.
* tests/test-c32ispunct.sh: Update.
* tests/test-c32isspace.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32isspace.sh: Update.
* tests/test-c32isupper.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32isupper.sh: Update.
* tests/test-c32isxdigit.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32isxdigit.sh: Update.
* tests/test-c32tolower.c (main): Skip GB18030 tests on NetBSD and
Solaris.
* tests/test-c32tolower.sh: Update.
* tests/test-c32toupper.c (main): Skip GB18030 tests on NetBSD and
Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
Solaris.
* tests/test-c32toupper.sh: Update.
* modules/mbrtoc32 (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/mbrtoc32-tests (Makefile.am): Link test-mbrtoc32 with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/btoc32 (Link): New section.
* modules/btoc32-tests (Makefile.am): Link test-btoc32 with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/c32rtomb (Link): New section.
* modules/c32rtomb-tests (Makefile.am): Link test-c32rtomb with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/c32tob (Link): New section.
* modules/mbsnrtoc32s (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/mbsnrtoc32s-tests (Makefile.am): Link test-mbsnrtoc32s with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/mbsrtoc32s (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/mbsrtoc32s-tests (Makefile.am): Link test-mbsrtoc32s with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/mbstoc32s (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
* modules/mbstoc32s-tests (Makefile.am): Link test-mbstoc32s with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/c32snrtombs (Link): New section.
* modules/c32snrtombs-tests (Makefile.am): Link test-c32snrtombs with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/c32srtombs (Link): New section.
* modules/c32srtombs-tests (Makefile.am): Link test-c32srtombs with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/c32stombs (Link): New section.
* modules/c32stombs-tests (Makefile.am): Link test-c32stombs with
$(LIBUNISTRING) $(LIBC32CONV).
* modules/c32isalnum (Link): Add $(LIBC32CONV).
* modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
$(LIBC32CONV).
* modules/c32isalpha (Link): Add $(LIBC32CONV).
* modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
$(LIBC32CONV).
* modules/c32isblank (Link): Add $(LIBC32CONV).
* modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
$(LIBC32CONV).
* modules/c32iscntrl (Link): Add $(LIBC32CONV).
* modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
$(LIBC32CONV).
* modules/c32isdigit (Link): Add $(LIBC32CONV).
* modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
$(LIBC32CONV).
* modules/c32isgraph (Link): Add $(LIBC32CONV).
* modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
$(LIBC32CONV).
* modules/c32islower (Link): Add $(LIBC32CONV).
* modules/c32islower-tests (Makefile.am): Link test-c32islower with
$(LIBC32CONV).
* modules/c32isprint (Link): Add $(LIBC32CONV).
* modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
$(LIBC32CONV).
* modules/c32ispunct (Link): Add $(LIBC32CONV).
* modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
$(LIBC32CONV).
* modules/c32isspace (Link): Add $(LIBC32CONV).
* modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
$(LIBC32CONV).
* modules/c32isupper (Link): Add $(LIBC32CONV).
* modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
$(LIBC32CONV).
* modules/c32isxdigit (Link): Add $(LIBC32CONV).
* modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
$(LIBC32CONV).
* modules/c32tolower (Link): Add $(LIBC32CONV).
* modules/c32tolower-tests (Makefile.am): Link test-c32tolower with
$(LIBC32CONV).
* modules/c32toupper (Link): Add $(LIBC32CONV).
* modules/c32toupper-tests (Makefile.am): Link test-c32toupper with
$(LIBC32CONV).
* modules/c32width (Link): Add $(LIBC32CONV).
* modules/c32width-tests (Makefile.am): Link test-c32width with
$(LIBC32CONV).
* modules/c32swidth (Link): Add $(LIBC32CONV).
* modules/c32swidth-tests (Makefile.am): Link test-c32swidth with
$(LIBC32CONV).
* modules/mbchar (Link): Add $(LIBC32CONV).
* modules/mbiter (Link): Add $(LIBC32CONV).
* modules/mbuiter (Link): Add $(LIBC32CONV).
* modules/mbfile (Link): Add $(LIBC32CONV).
* modules/mbmemcasecmp (Link): Add $(LIBC32CONV).
* modules/mbmemcasecmp-tests (Makefile.am): Link test-mbmemcasecmp with
$(LIBC32CONV).
* modules/mbscasecmp (Link): Add $(LIBC32CONV).
* modules/mbscasecmp-tests (Makefile.am): Link test-mbscasecmp with
$(LIBC32CONV).
* modules/mbscasestr (Link): Add $(LIBC32CONV).
* modules/mbscasestr-tests (Makefile.am): Link test-mbscasestr1,
test-mbscasestr2, test-mbscasestr3, test-mbscasestr4 with $(LIBC32CONV).
* modules/mbschr (Link): Add $(LIBC32CONV).
* modules/mbschr-tests (Makefile.am): Link test-mbschr with
$(LIBC32CONV).
* modules/mbscspn (Link): Add $(LIBC32CONV).
* modules/mbscspn-tests (Makefile.am): Link test-mbscspn with
$(LIBC32CONV).
* modules/mbslen (Link): Add $(LIBC32CONV).
* modules/mbsncasecmp (Link): Add $(LIBC32CONV).
* modules/mbsncasecmp-tests (Makefile.am): Link test-mbsncasecmp with
$(LIBC32CONV).
* modules/mbsnlen (Link): Add $(LIBC32CONV).
* modules/mbspbrk (Link): Add $(LIBC32CONV).
* modules/mbspbrk-tests (Makefile.am): Link test-mbspbrk with
$(LIBC32CONV).
* modules/mbspcasecmp (Link): Add $(LIBC32CONV).
* modules/mbspcasecmp-tests (Makefile.am): Link test-mbspcasecmp with
$(LIBC32CONV).
* modules/mbsrchr (Link): Add $(LIBC32CONV).
* modules/mbsrchr-tests (Makefile.am): Link test-mbsrchr with
$(LIBC32CONV).
* modules/mbssep (Link): Add $(LIBC32CONV).
* modules/mbsspn (Link): Add $(LIBC32CONV).
* modules/mbsspn-tests (Makefile.am): Link test-mbsspn with
$(LIBC32CONV).
* modules/mbsstr (Link): Add $(LIBC32CONV).
* modules/mbsstr-tests (Makefile.am): Link test-mbsstr1, test-mbsstr2,
test-mbsstr3 with $(LIBC32CONV).
* modules/mbstok_r (Link): Add $(LIBC32CONV).
* modules/propername (Link): Add $(LIBC32CONV).
* modules/regex-quote (Link): Add $(LIBC32CONV).
* modules/regex-quote-tests (Makefile.am): Link test-regex-quote with
$(LIBC32CONV).
* modules/trim (Link): Add $(LIBC32CONV).
* modules/trim-tests (Makefile.am): Link test-trim with $(LIBC32CONV).
* modules/exclude (Link): Add $(LIBC32CONV).
* modules/exclude-tests (Makefile.am): Link test-exclude with
$(LIBC32CONV).
* doc/posix-headers/uchar.texi: Mention the uchar-c23 module.
* doc/posix-functions/mbrtoc32.texi: Likewise.
* doc/strings.texi (The char32_t type): Likewise.

22 months agostriconveh: Fix module description.
Bruno Haible [Tue, 27 Jun 2023 11:25:33 +0000 (13:25 +0200)]
striconveh: Fix module description.

* modules/striconveh (Link): Add $(LIBUNISTRING).
* modules/striconveha (Link): New section.
* modules/xstriconveh (Link): New section.

22 months agostrncat: Update doc regarding Solaris 11.4.
Bruno Haible [Sun, 25 Jun 2023 18:42:59 +0000 (20:42 +0200)]
strncat: Update doc regarding Solaris 11.4.

* doc/posix-functions/strncat.texi: Mention that the bug still exists on
Solaris 11.4.
* m4/strncat.m4 (gl_FUNC_STRNCAT): Update comments.

22 months agothread: Avoid compiler warnings on Solaris.
Bruno Haible [Sun, 25 Jun 2023 18:18:41 +0000 (20:18 +0200)]
thread: Avoid compiler warnings on Solaris.

* lib/glthread/thread.h: Include <stdint.h>.
(gl_thread_self_pointer): Do the cast from pthread_t to 'void *' via
intptr_t.
* modules/thread (Depends-on): Add stdint.

22 months agostrerrorname_np: Add support for Solaris 11.4/sparc.
Bruno Haible [Sun, 25 Jun 2023 17:11:26 +0000 (19:11 +0200)]
strerrorname_np: Add support for Solaris 11.4/sparc.

* lib/strerrorname_np.c (strerrorname_np): Consider ECKSUM, EFRAGS.
Allow ENOANO to be overloaded to another value.
* tests/test-strerrorname_np.c (main): Likewise.

22 months agodoc: correct doubled "on on"
Jim Meyering [Sun, 25 Jun 2023 16:58:55 +0000 (09:58 -0700)]
doc: correct doubled "on on"

* doc/glibc-functions/initstate_r.texi: As above.
* doc/posix-functions/initstate.texi: As above.

22 months agosigdescr_np tests: Avoid test failure on glibc/sparc.
Bruno Haible [Sun, 25 Jun 2023 16:40:19 +0000 (18:40 +0200)]
sigdescr_np tests: Avoid test failure on glibc/sparc.

* tests/test-sigdescr_np.c (main): Accept the glibc result for SIGEMT.
* doc/glibc-functions/sigdescr_np.texi: Mention two glibc deficiencies.

22 months agostrerrorname_np: Work around glibc bug on PowerPC, SPARC systems.
Bruno Haible [Sun, 25 Jun 2023 16:19:06 +0000 (18:19 +0200)]
strerrorname_np: Work around glibc bug on PowerPC, SPARC systems.

* m4/strerrorname_np.m4 (gl_FUNC_STRERRORNAME_NP): Test also
strerrorname_np (EDEADLOCK).
* doc/glibc-functions/strerrorname_np.texi: Mention that glibc 2.36
still needs a workaround.

22 months agodoc: Mention glibc initstate, initstate_r bug.
Bruno Haible [Sun, 25 Jun 2023 15:58:57 +0000 (17:58 +0200)]
doc: Mention glibc initstate, initstate_r bug.

* doc/posix-functions/initstate.texi: Mention glibc bug.
* doc/glibc-functions/initstate_r.texi: Likewise.
* tests/test-random_r.c: Add a comment.

22 months agodoc: Update doc regarding 'setstate'.
Bruno Haible [Sun, 25 Jun 2023 14:06:52 +0000 (16:06 +0200)]
doc: Update doc regarding 'setstate'.

* doc/posix-functions/setstate.texi: Mention also Solaris 11.4.

22 months agodoc: Update doc regarding <ieee754.h>.
Bruno Haible [Sun, 25 Jun 2023 13:54:56 +0000 (15:54 +0200)]
doc: Update doc regarding <ieee754.h>.

* doc/glibc-headers/ieee754.texi: Mention that it's not present on
glibc/sparc64 in 32-bit mode.

22 months agoexclude: Complete last change.
Bruno Haible [Sun, 25 Jun 2023 08:29:47 +0000 (10:29 +0200)]
exclude: Complete last change.

* lib/exclude.c: Include <uchar.h> instead of <wctype.h>.

22 months agomake -C doc INSTALL.ISO INSTALL.UTF-8
Paul Eggert [Sat, 24 Jun 2023 22:24:43 +0000 (15:24 -0700)]
make -C doc INSTALL.ISO INSTALL.UTF-8

22 months ago* build-aux/gitlog-to-changelog: don’t quote `like this'
Paul Eggert [Sat, 24 Jun 2023 22:00:37 +0000 (15:00 -0700)]
* build-aux/gitlog-to-changelog: don’t quote `like this'

22 months agoautoupdate; cd doc; make INSTALL
Paul Eggert [Sat, 24 Jun 2023 21:47:08 +0000 (14:47 -0700)]
autoupdate; cd doc; make INSTALL

22 months agombchar, mbiter, mbuiter: Overcome wchar_t limitations.
Bruno Haible [Sat, 24 Jun 2023 15:40:12 +0000 (17:40 +0200)]
mbchar, mbiter, mbuiter: Overcome wchar_t limitations.

* lib/mbchar.h: Include <uchar.h> instead of <wchar.h>, <wctype.h>.
(struct mbchar): Use char32_t instead of wchar_t.
(mb_casecmp, mb_caseequal): Use c32tolower instead of towlower.
(mb_isalnum): Use c32isalnum instead of iswalnum.
(mb_isalpha): Use c32isalpha instead of iswalpha.
(mb_isblank): Use c32isblank instead of iswblank.
(mb_iscntrl): Use c32iscntrl instead of iswcntrl.
(mb_isdigit): Use c32isdigit instead of iswdigit.
(mb_isgraph): Use c32isgraph instead of iswgraph.
(mb_islower): Use c32islower instead of iswlower.
(mb_isprint): Use c32isprint instead of iswprint.
(mb_ispunct): Use c32ispunct instead of iswpunct.
(mb_isspace): Use c32isspace instead of iswspace.
(mb_isupper): Use c32isupper instead of iswupper.
(mb_isxdigit): Use c32isxdigit instead of iswxdigit.
(mb_width_aux): Use c32width, c32iscntrl instead of wcwidth, iswcntrl.
* lib/mbiter.h: Include <uchar.h> instead of <wchar.h>.
(mbiter_multi_next): Use mbrtoc32 instead of mbrtowc.
* lib/mbuiter.h: Include <uchar.h> instead of <wchar.h>.
(mbuiter_multi_next): Use mbrtoc32 instead of mbrtowc.
* lib/mbfile.h (mbfile_multi_getc): Use mbrtoc32 instead of mbrtowc.
* lib/mbscasestr.c (knuth_morris_pratt_multibyte, mbscasestr): Use
c32tolower instead of towlower.
* lib/exclude.c (string_hasher_ci): Use char32_t, c32tolower instead of
wchar_t, towlower.
* modules/mbchar (Depends-on): Add uchar, c32isalnum, c32isalpha,
c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
c32ispunct, c32isspace, c32isupper, c32isxdigit, c32tolower, c32width.
Remove wchar, wctype-h, iswblank, iswdigit, iswxdigit, wcwidth.
* modules/mbiter (Depends-on): Add mbrtoc32, uchar. Remove mbrtowc,
wchar.
* modules/mbuiter (Depends-on): Likewise.
* modules/mbscasestr (Depends-on): Add c32tolower.
* modules/exclude (Depends-on): Add c32tolower.
* doc/strings.texi (C strings): Fix typo.

22 months agoautoupdate
Karl Berry [Sat, 24 Jun 2023 16:24:50 +0000 (09:24 -0700)]
autoupdate

22 months agodoc: Use makeinfo option to check menu structure.
Bruno Haible [Thu, 22 Jun 2023 16:30:08 +0000 (18:30 +0200)]
doc: Use makeinfo option to check menu structure.

Trick revealed by Patrice Dumas <pertusus@free.fr> in
<https://lists.gnu.org/archive/html/bug-texinfo/2023-06/msg00015.html>.

* doc/Makefile (MAKEINFO): Enforce checking of menu structure.

22 months agodoc: Correct info menu structure.
Bruno Haible [Thu, 22 Jun 2023 13:00:03 +0000 (15:00 +0200)]
doc: Correct info menu structure.

Reported by Elijah Zarezky <elijah@zarezky.spb.ru> in
<https://lists.gnu.org/archive/html/bug-gnulib/2023-06/msg00105.html>.

* doc/strings.texi (Strings): Add missing @menu item.

22 months agodoc: make -C doc INSTALL.ISO INSTALL.UTF8
Paul Eggert [Tue, 20 Jun 2023 21:51:10 +0000 (14:51 -0700)]
doc: make -C doc INSTALL.ISO INSTALL.UTF8

22 months agoautoupdate
Paul Eggert [Tue, 20 Jun 2023 21:50:35 +0000 (14:50 -0700)]
autoupdate

22 months agodoc: INSTALL uses UTF-8 now
Paul Eggert [Tue, 20 Jun 2023 21:46:29 +0000 (14:46 -0700)]
doc: INSTALL uses UTF-8 now

* doc/Makefile (INSTALL.ISO, INSTALL.UTF-8):
Adjust to the fact that INSTALL now uses UTF-8.
INSTALL.UTF-8 is now obsolescent since it is identical.
(INSTALL.ISO): Transliterate all non-ASCII characters,
not just single quotes.
* doc/INSTALL.ISO: Regenerate.

22 months agoautoupdate
Karl Berry [Tue, 20 Jun 2023 14:40:24 +0000 (07:40 -0700)]
autoupdate

22 months agolargefile: port to GNU/Linux alpha and s390x
Paul Eggert [Mon, 19 Jun 2023 21:08:06 +0000 (14:08 -0700)]
largefile: port to GNU/Linux alpha and s390x

This patch syncs from Autoconf master.
Problem reported by Matoro <https://bugs.gnu.org/64123>.
* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_CODE):
New overridable macro FTYPE, to test types other than off_t.
(_AC_SYS_LARGEFILE_TEST_CODE): Test ino_t for
-D_FILE_OFFSETBITS=64 too, if no flags are needed for off_t.
Needed for GNU/Linux on alpha and s390x.

22 months agodoc: Corrections to the "Strings and Characters" chapter.
Bruno Haible [Mon, 19 Jun 2023 17:23:51 +0000 (19:23 +0200)]
doc: Corrections to the "Strings and Characters" chapter.

Suggested by Paul Eggert.

* doc/strings.texi: Corrections: GB18030 is rarely used nowadays.
<ctype.h> functions can be useful for specific data.

22 months agodoc: Use "spaced en dash" style instead of "spaced em dash" style.
Bruno Haible [Mon, 19 Jun 2023 17:00:58 +0000 (19:00 +0200)]
doc: Use "spaced en dash" style instead of "spaced em dash" style.

Suggested by Paul Eggert.

* doc/gnulib.texi: At sentence level, use "spaced en dash" style instead
of "spaced em dash" style.
* doc/gnulib-intro.texi: Likewise.
* doc/multithread.texi: Likewise.
* doc/strings.texi: Likewise.

22 months agosetenv: Simplify m4 requires.
Bruno Haible [Mon, 19 Jun 2023 14:42:09 +0000 (16:42 +0200)]
setenv: Simplify m4 requires.

* m4/setenv.m4 (gl_PREREQ_SETENV): Don't require AC_FUNC_ALLOCA.

22 months agoconfigmake: Bypass the unusable 'echo' command of some shells.
Bruno Haible [Sun, 18 Jun 2023 20:37:32 +0000 (22:37 +0200)]
configmake: Bypass the unusable 'echo' command of some shells.

Reported by Brian Inglis <Brian.Inglis@Shaw.ca> in
<https://lists.gnu.org/archive/html/bug-gettext/2023-06/msg00054.html>.

* m4/build-to-host.m4 (gl_BUILD_TO_HOST): Use 'printf' instead of
'echo', because the "dash" shell has a SystemV compatible 'echo'
command. Also, be sure to remove trailing CRs.

22 months agoupdate-copyright tests: fix to match behavior
Paul Eggert [Sun, 18 Jun 2023 17:49:10 +0000 (10:49 -0700)]
update-copyright tests: fix to match behavior

* tests/test-update-copyright.sh: Change tests to match new behavior.

22 months agoupdate-copyright tests: Add tests for man pages.
Bruno Haible [Sun, 18 Jun 2023 11:41:46 +0000 (13:41 +0200)]
update-copyright tests: Add tests for man pages.

* tests/test-update-copyright.sh: Add 4 tests that use man page syntax.

22 months agogettext: Clarify the purpose of this module.
Bruno Haible [Sun, 18 Jun 2023 11:09:39 +0000 (13:09 +0200)]
gettext: Clarify the purpose of this module.

Suggested by Paul Eggert in
<https://lists.gnu.org/archive/html/bug-gnulib/2023-06/msg00089.html>.

* modules/gettext (Description): Clarify the purpose.
(Makefile.am): Remove outdated comment. "gettextize --intl" is no longer
possible since 2019.

22 months agoUpdate \(en in copyright notices
Paul Eggert [Sun, 18 Jun 2023 07:27:52 +0000 (00:27 -0700)]
Update \(en in copyright notices

* build-aux/update-copyright (ndash_re): New var, matching \(en too.
(stmt_remainder_re, stmt): Use it.
(stmt): Match year in constructs like "\(en2023".
(ndash): Now \(en in man pages.

22 months agogettext: Update to gettext 0.22.
Bruno Haible [Sat, 17 Jun 2023 14:10:39 +0000 (16:10 +0200)]
gettext: Update to gettext 0.22.

* modules/gettext (Files): Add m4/build-to-host.m4.
(configure.ac): Request infrastructure compatible with gettext 0.22.
* m4/gettext.m4: Update from gettext 0.22.
* m4/po.m4: Likewise.

22 months ago* lib/limits.in.h: Fix comment typo.
Paul Eggert [Thu, 15 Jun 2023 19:22:33 +0000 (12:22 -0700)]
* lib/limits.in.h: Fix comment typo.

22 months agoaligned-malloc, rmdir-errno: Sanitize configuration test result.
Bruno Haible [Thu, 15 Jun 2023 06:38:48 +0000 (08:38 +0200)]
aligned-malloc, rmdir-errno: Sanitize configuration test result.

* m4/malloc-align.m4 (gl_MALLOC_ALIGNMENT): Don't put a newline at the
end of the conftest.out file.
* m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Don't put a newline at the
end of the confdir2/errno file.

22 months agoMake internationalization tests stricter on musl systems.
Bruno Haible [Tue, 13 Jun 2023 23:30:47 +0000 (01:30 +0200)]
Make internationalization tests stricter on musl systems.

* m4/locale-fr.m4 (gt_LOCALE_FR): On musl systems, set LOCALE_FR_UTF8 to
"fr_FR.UTF-8" instead of "none". Set and substitute
LC_COLLATE_IMPLEMENTED, LC_NUMERIC_IMPLEMENTED, LC_TIME_IMPLEMENTED,
LC_MONETARY_IMPLEMENTED.
* m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Skip testing a certain locale if
that locale is "none".
* m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
* m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
* m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
* m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
--
* tests/test-c32isalpha.c (main): On musl libc, disable tests that fail.
* tests/test-c32iscntrl.c (main): Likewise.
* tests/test-c32isgraph.c (main): Likewise.
* tests/test-c32islower.c (main): Likewise.
* tests/test-c32isprint.c (main): Likewise.
* tests/test-c32toupper.c (main): Likewise.
* tests/test-nl_langinfo1.c (main): Likewise.
* tests/test-nl_langinfo2.c (main): Likewise.
* modules/c32isalpha-tests (Files): Add musl.m4.
(configure.ac): Invoke gl_MUSL_LIBC.
* modules/c32iscntrl-tests (Files): Add musl.m4.
(configure.ac): Invoke gl_MUSL_LIBC.
* modules/c32isgraph-tests (Files): Add musl.m4.
(configure.ac): Invoke gl_MUSL_LIBC.
* modules/c32islower-tests (Files): Add musl.m4.
(configure.ac): Invoke gl_MUSL_LIBC.
* modules/c32isprint-tests (Files): Add musl.m4.
(configure.ac): Invoke gl_MUSL_LIBC.
* modules/c32toupper-tests (Files): Add musl.m4.
(configure.ac): Invoke gl_MUSL_LIBC.
* modules/nl_langinfo-tests (Files): Add musl.m4.
(configure.ac): Invoke gl_MUSL_LIBC.
--
* tests/test-strtod1.sh: Skip the test if LC_NUMERIC_IMPLEMENTED is
false.
* tests/test-strtold1.sh: Likewise.
* tests/test-vasnprintf-posix2.sh: Likewise.
* tests/test-vasnwprintf-posix2.sh: Likewise.
* modules/strtod-tests (Makefile.am): Set LC_NUMERIC_IMPLEMENTED in the
tests environment.
* modules/strtold-tests (Makefile.am): Likewise.
* modules/vasnprintf-posix-tests (Makefile.am): Likewise.
* modules/vasnwprintf-posix-tests (Makefile.am): Likewise.

22 months agovasnwprintf-posix: Work around another musl libc bug.
Bruno Haible [Mon, 12 Jun 2023 16:39:49 +0000 (18:39 +0200)]
vasnwprintf-posix: Work around another musl libc bug.

* m4/printf.m4 (gl_SWPRINTF_DIRECTIVE_LC): New macro.
* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Invoke it, and set
NEED_WPRINTF_DIRECTIVE_LC if the %lc test failed.
* lib/vasnprintf.c (VASNPRINTF): If NEED_WPRINTF_DIRECTIVE_LC is set, do
the processing for %lc and %ls ourselves.
(local_wcslen): Update condition.
* doc/posix-functions/swprintf.texi: Mention the %lc problem.

22 months agovasnwprintf-posix: Work around a musl libc bug.
Bruno Haible [Mon, 12 Jun 2023 14:48:03 +0000 (16:48 +0200)]
vasnwprintf-posix: Work around a musl libc bug.

* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Test also whether swprintf
in the C locale is free of encoding errors, and set
NEED_WPRINTF_DIRECTIVE_C if not.
* doc/posix-functions/swprintf.texi: Clarify the list of platforms for
the %c problem.

22 months agovasnwprintf: Fix some cross-compilation results.
Bruno Haible [Mon, 12 Jun 2023 13:07:40 +0000 (15:07 +0200)]
vasnwprintf: Fix some cross-compilation results.

* m4/printf.m4 (gl_SWPRINTF_WORKS): Fix cross-compilation result for
musl.
(gl_SWPRINTF_DIRECTIVE_LA): Fix cross-compilation result for Android.

22 months agowarnings: Save memory and CPU time when inhibiting all warnings.
Bruno Haible [Mon, 12 Jun 2023 12:00:42 +0000 (14:00 +0200)]
warnings: Save memory and CPU time when inhibiting all warnings.

* m4/warnings.m4 (gl_WARN_ADD): Improve comments.
(gl_CC_INHIBIT_WARNINGS): Add also '-fno-analyzer' to
GL_CFLAG_INHIBIT_WARNINGS.
(gl_CXX_INHIBIT_WARNINGS): Add also '-fno-analyzer' to
GL_CXXFLAG_INHIBIT_WARNINGS.

22 months agojavacomp-script, javacomp: Document effects of yesterday's change.
Bruno Haible [Sun, 11 Jun 2023 22:57:35 +0000 (00:57 +0200)]
javacomp-script, javacomp: Document effects of yesterday's change.

* NEWS: Mention yesterday's change.

22 months agojavacomp-script, javacomp: Silence javac warnings regarding [options].
Bruno Haible [Sun, 11 Jun 2023 22:42:05 +0000 (00:42 +0200)]
javacomp-script, javacomp: Silence javac warnings regarding [options].

* m4/javacomp.m4 (gt_JAVACOMP): Use option '-Xlint:-options' by default
and omit it only when it does not work.
* lib/javacomp.c (compile_using_javac): Add nowarn_option parameter.
(is_envjavac_usable): Add nowarn_option_out parameter. Use option
'-Xlint:-options' by default and omit it only when it does not work.
(is_javac_usable): Likewise.
(compile_java_class): Store the nowarn_option returned from
is_envjavac_usable and use it when invoking compile_using_envjavac.
Store the nowarn_option returned from is_javac_usable and use it when
invoking compile_using_javac.

22 months agoautoupdate
Karl Berry [Sun, 11 Jun 2023 15:03:17 +0000 (08:03 -0700)]
autoupdate

22 months agojavacomp-script, javacomp: Add support for javac versions > 11.
Bruno Haible [Sun, 11 Jun 2023 01:13:29 +0000 (03:13 +0200)]
javacomp-script, javacomp: Add support for javac versions > 11.

Reported by Adrian Bunk <bunk-gnu@fs.tum.de> in
<https://savannah.gnu.org/bugs/?63385>.

* m4/javacomp.m4 (gt_JAVACOMP): When the java version is > 11, use that
version as target_version, not 11. When the java version is > 17, don't
warn. Remove goodcode, failcode variables. Don't bail out if the
source-version argument or the target-version argument is in the range
12..99. Use a heuristic that works with javac versions 11..20 at least.
Update comments.
* lib/javacomp.h (compile_java_class): State that source-version and
target-version may be larger than 11.
* lib/javacomp.c (default_target_version): Accommodate versions up to
99.
(SOURCE_VERSION_BOUND): Increase to 94.
(source_version_index): Accept versions up to 99.
(get_goodcode_snippet, get_failcode_snippet): Remove functions.
(TARGET_VERSION_BOUND): Increase to 94.
(target_version_index): Accept versions up to 99.
(corresponding_classfile_version): Remove function.
(execute_and_read_line): New function, based on lib/javaversion.c.
(get_compiler_version): New function.
(is_envjavac_usable): Add parameters source_option_out,
target_option_out. Use a heuristic that works with javac versions 11..20
at least. Call cleanup_temp_dir.
(is_javac_usable): Likewise.
(compile_java_class): Update.

22 months agojavacomp-script, javacomp: Remove support for javac versions < 1.6.
Bruno Haible [Sun, 11 Jun 2023 01:13:24 +0000 (03:13 +0200)]
javacomp-script, javacomp: Remove support for javac versions < 1.6.

* m4/javacomp.m4 (gt_JAVACOMP): State that the minimum source_version
and the minimum target_version are 1.6. Map smaller values to 1.6.
Complain if the java version is < 1.6. Use 1.6 as default, instead of
1.1. Don't bother trying the -target option alone.
* lib/javacomp.h (compile_java_class): State that the minimum
source_version and the minimum target_version are 1.6.
* lib/javacomp.c (default_target_version): Complain if the java version
is < 1.6. Use 1.6 as default, instead of 1.1.
(SOURCE_VERSION_BOUND, source_version_index, get_goodcode_snippet,
get_failcode_snippet): Adjust to the new minimum source_version = 1.6.
(TARGET_VERSION_BOUND, target_version_index,
corresponding_classfile_version): Adjust to the new minimum
target_version = 1.6.
(get_source_version_for_javac): Remove function.
(is_envjavac_usable): Remove source_version_for_javac parameter. Don't
bother trying the -target option alone.
(is_javac_usable): Likewise.
(compile_java_class): Map source_version < 1.6 to 1.6. Map
target_version < 1.6 to 1.6. Use source_version instead of calling
get_source_version_for_javac.

22 months agojavacomp: Simplify after gcj support was removed.
Bruno Haible [Sun, 11 Jun 2023 01:08:53 +0000 (03:08 +0200)]
javacomp: Simplify after gcj support was removed.

* m4/javacomp.m4 (gt_JAVACOMP): Don't create conftestlib.java.
* lib/javacomp.c (compile_java_class): Remove local variables
no_assert_option, fsource_option, ftarget_option.

22 months agocorrect my typo in ChangeLog; making it mirror the correct commit log
Jim Meyering [Sat, 10 Jun 2023 00:28:26 +0000 (17:28 -0700)]
correct my typo in ChangeLog; making it mirror the correct commit log

22 months agodoc: Document <stdatomic.h>.
Bruno Haible [Fri, 9 Jun 2023 19:59:29 +0000 (21:59 +0200)]
doc: Document <stdatomic.h>.

* doc/posix-headers/stdatomic.texi: New file.
* doc/gnulib.texi (Header File Substitutes): Include it.

22 months agomaint.mk: sc_prohibit_xalloc_without_use: also match alloc_die
Jim Meyering [Fri, 9 Jun 2023 17:15:30 +0000 (10:15 -0700)]
maint.mk: sc_prohibit_xalloc_without_use: also match alloc_die

* top/maint.mk (sc_prohibit_xalloc_without_use):
Adjust in-comment command's regexp so it also finds alloc_die,
whose declaration has a prefix of "_Noreturn" .
Also delete some now-obsolete commentary.
(_xa1): Regenerate the regexp using that command.
Reported by Pádraig Brady in
<https://lists.gnu.org/r/bug-gnulib/2023-06/msg00062.html>.

22 months agoCorrection of a spelling fix.
Bruno Haible [Fri, 9 Jun 2023 18:45:45 +0000 (20:45 +0200)]
Correction of a spelling fix.

* lib/argp.h: Change "passed into" to "passed to".

22 months agoxalloc-die: omit /*extern*/
Paul Eggert [Fri, 9 Jun 2023 18:13:19 +0000 (11:13 -0700)]
xalloc-die: omit /*extern*/

* lib/xalloc.h (xalloc_die): Omit leading "/*extern*/".
It complicates syntax checking; see:
https://lists.gnu.org/r/bug-gnulib/2023-06/msg00062.html
Plus, it’s inconsistent style: the other function declarations in
xalloc.h don’t use ‘extern’. (I’m not a fan of using ‘extern’ when
it’s just noise, as is the case here.)

22 months agojavaversion: Update comments.
Bruno Haible [Fri, 9 Jun 2023 15:08:14 +0000 (17:08 +0200)]
javaversion: Update comments.

* lib/javaversion.h (javaexec_version): Document the possible results up
to OpenJDK 20.

22 months agojavacomp: Remove support for 'jikes'.
Bruno Haible [Fri, 9 Jun 2023 14:11:23 +0000 (16:11 +0200)]
javacomp: Remove support for 'jikes'.

* lib/javacomp.c (compile_using_jikes, is_jikes_present): Remove
functions.
(compile_java_class): Remove jikes related code.

22 months agojavacomp-script: Remove support for 'jikes'.
Bruno Haible [Fri, 9 Jun 2023 14:08:18 +0000 (16:08 +0200)]
javacomp-script: Remove support for 'jikes'.

* build-aux/javacomp.sh.in: Don't test HAVE_JIKES.
* m4/javacomp.m4 (gt_JAVACOMP): Don't set HAVE_JIKES. Don't set
CONF_JAVAC to 'jikes'. Update comment.
(gt_JAVACOMP_DISABLED): Don't set HAVE_JIKES.

22 months agojavacomp: Remove support for 'gcj'.
Bruno Haible [Fri, 9 Jun 2023 13:45:25 +0000 (15:45 +0200)]
javacomp: Remove support for 'gcj'.

* lib/javacomp.h: Update comment.
* lib/javacomp.c (compile_using_gcj, is_envjavac_gcj, is_envjavac_gcj43,
is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
is_envjavac_oldgcj_14_13_usable, is_gcj_present, is_gcj_43,
is_gcj43_usable, is_oldgcj_14_14_usable, is_oldgcj_14_13_usable): Remove
functions.
(is_envjavac_usable): Renamed from is_envjavac_nongcj_usable.
(compile_java_class): Remove gcj related code.

22 months agojavacomp-script: Remove support for 'gcj'.
Bruno Haible [Fri, 9 Jun 2023 13:29:01 +0000 (15:29 +0200)]
javacomp-script: Remove support for 'gcj'.

* build-aux/javacomp.sh.in: Don't test HAVE_GCJ_C.
* m4/javacomp.m4 (gt_JAVACOMP): Don't set HAVE_GCJ_C. Don't test whether
$JAVAC is gcj. Don't set CONF_JAVAC to 'gcj -C'. Update comment.
(gt_JAVACOMP_DISABLED): Don't set HAVE_GCJ_C.

22 months agojavaexec: Remove support for 'gij'.
Bruno Haible [Fri, 9 Jun 2023 13:17:53 +0000 (15:17 +0200)]
javaexec: Remove support for 'gij'.

* lib/javaexec.c (execute_java_class): Don't test for gij.

22 months agojavaexec-script: Remove support for 'gij'.
Bruno Haible [Fri, 9 Jun 2023 13:14:52 +0000 (15:14 +0200)]
javaexec-script: Remove support for 'gij'.

* build-aux/javaexec.sh.in: Don't test HAVE_GIJ.
* m4/javaexec.m4 (gt_JAVAEXEC): Don't set HAVE_GIJ. Don't set CONF_JAVA
to 'gij'.
* m4/javacomp.m4: Update comment.

22 months agojavaexec: Remove support for 'jview'.
Bruno Haible [Fri, 9 Jun 2023 12:57:07 +0000 (14:57 +0200)]
javaexec: Remove support for 'jview'.

* lib/javaexec.c (execute_java_class): Don't test for jview.

22 months agojavaexec-script: Remove support for 'jview'.
Bruno Haible [Fri, 9 Jun 2023 12:56:49 +0000 (14:56 +0200)]
javaexec-script: Remove support for 'jview'.

* build-aux/javaexec.sh.in: Don't test HAVE_JVIEW.
* m4/javaexec.m4 (gt_JAVAEXEC): Don't set HAVE_JVIEW. Don't set
CONF_JAVA to 'jview'.
(gt_JAVAEXEC_DISABLED): Don't set HAVE_JVIEW.
* m4/javacomp.m4: Update comment.

22 months agoautoupdate
Paul Eggert [Fri, 9 Jun 2023 03:41:46 +0000 (20:41 -0700)]
autoupdate

22 months agoSpelling fixes
Paul Eggert [Thu, 8 Jun 2023 21:53:51 +0000 (14:53 -0700)]
Spelling fixes

Most of these were reported by Josh Soref <jsoref@gmail.com> in:
https://lists.gnu.org/r/bug-gnulib/2023-06/msg00057.html
except that some are omitted because the original is OK (e.g.,
"obsolescent"), and some are omitted because they are upstream
files and I've fixed them upstream or have filed bug reports,
and I made a few nearby corrections to grammar.

22 months agomaint.mk: regenerate regex to reflect new functions in xalloc.h
Jim Meyering [Wed, 7 Jun 2023 03:49:22 +0000 (20:49 -0700)]
maint.mk: regenerate regex to reflect new functions in xalloc.h

* top/maint.mk (sc_prohibit_xalloc_without_use) [_xa1]:
Regenerate using the command listed in the comment.

22 months ago* Changelog: Fix spelling typo.
Paul Eggert [Wed, 7 Jun 2023 02:50:19 +0000 (19:50 -0700)]
* Changelog: Fix spelling typo.

22 months agopropername: pacify po_check
Paul Eggert [Wed, 7 Jun 2023 01:42:56 +0000 (18:42 -0700)]
propername: pacify po_check

Problem reported by Bruno Haible <https://bugs.gnu.org/63933>.
* lib/propername.h: Change comment.

22 months agoPut "/" at end of .gitignore directory names
Paul Eggert [Tue, 6 Jun 2023 21:23:39 +0000 (14:23 -0700)]
Put "/" at end of .gitignore directory names

* build-aux/bootstrap: Regenerate.
* top/bootstrap-funclib.sh (symlink_to_dir, autogen):
Put slashes after .gitignore entries that name directories.

22 months agomaintainer-makefile: Enforce the GNU Coding Standards in the README.
Jose E. Marchesi [Tue, 6 Jun 2023 17:35:35 +0000 (19:35 +0200)]
maintainer-makefile: Enforce the GNU Coding Standards in the README.

* top/maint.mk (sc_readme_link_install): New rule.
(sc_readme_link_copying): Likewise.

23 months agocopy-file-range: support building for older kernels
Paul Eggert [Tue, 6 Jun 2023 05:04:37 +0000 (22:04 -0700)]
copy-file-range: support building for older kernels

* m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
Remove static check, to support the dubious practice of
building for platforms that predate the build platform.
On working kernels this adds an extra syscall the first time
that copy_file_range is used.  Problem reported for Gentoo by
Sam James <https://bugs.gnu.org/63850>.

23 months agomanywarnings: more nuance about optimization
Paul Eggert [Mon, 5 Jun 2023 20:16:22 +0000 (13:16 -0700)]
manywarnings: more nuance about optimization

* doc/manywarnings.texi (manywarnings): Suggest compiling with the
optimization flags commonly used, as opposed to -O2 and -O0
specificially.  -ggdb shouldn’t affect warnings so don’t mention it.

23 months agoposix_spawn-internal: Fix a warning (regression 2022-11-20).
Bruno Haible [Mon, 5 Jun 2023 13:45:25 +0000 (15:45 +0200)]
posix_spawn-internal: Fix a warning (regression 2022-11-20).

* lib/spawni.c: Don't use this particular #pragma for gcc < 4.2.

23 months agofile-has-acl: Fix compilation error on Slackware 13 (regr. 2023-05-12).
Bruno Haible [Mon, 5 Jun 2023 13:13:53 +0000 (15:13 +0200)]
file-has-acl: Fix compilation error on Slackware 13 (regr. 2023-05-12).

* lib/file-has-acl.c (XATTR_NAME_POSIX_ACL_ACCESS,
XATTR_NAME_POSIX_ACL_DEFAULT): Add fallback definitions.

23 months agoFix bugs on mingw when module dirfd is in use (regression 2023-04-26).
Bruno Haible [Mon, 5 Jun 2023 09:15:37 +0000 (11:15 +0200)]
Fix bugs on mingw when module dirfd is in use (regression 2023-04-26).

* lib/getcwd.c: When GNULIB_defined_DIR, revert to the system's
definitions of opendir, closedir, readdir, rewinddir.
* lib/mountlist.c: When GNULIB_defined_DIR, revert to the system's
definitions of opendir, closedir, readdir.
* lib/scandir.c: Likewise.
* lib/glob.c: Fix comment. When GNULIB_defined_DIR, don't undefine
opendir, closedir.

23 months agomanywarnings: Overhaul documentation.
Bruno Haible [Sun, 4 Jun 2023 22:16:40 +0000 (00:16 +0200)]
manywarnings: Overhaul documentation.

* doc/manywarnings.texi: In the example, put all unwanted warning
options into 'nw', and use a second gl_MANYWARN_COMPLEMENT invocation to
sort out how these options need to get added to WARN_FLAGS.
Describe the first-time use in more detail: Recommend a new GCC.
Recommend to test builds with -O2 and with -O0. Suggest to sort the
warning by warning option. Add reference to the GCC pragma's
documentation.

23 months agoerror: Fix support for library namespacing (regression 2023-05-27).
Bruno Haible [Sun, 4 Jun 2023 17:27:48 +0000 (19:27 +0200)]
error: Fix support for library namespacing (regression 2023-05-27).

* lib/error.in.h (error): If error is defined as a macro, define a
static inline function _gl_inline_error that invokes it, and let the
new error macro invoke that function.
(error_at_line): If error_at_line is defined as a macro, define a static
inline function _gl_inline_error_at_line that invokes it, and let the
new error_at_line macro invoke that function.

23 months agoterminfo, termcap: Fix "discards 'const' qualifier" warnings.
Bruno Haible [Sun, 4 Jun 2023 14:41:47 +0000 (16:41 +0200)]
terminfo, termcap: Fix "discards 'const' qualifier" warnings.

* lib/tparm.c (tparm): Change type of 'fmt'. New local variable 'fmtp'.

23 months agouniname/uniname: Add comments.
Bruno Haible [Sun, 4 Jun 2023 12:08:24 +0000 (14:08 +0200)]
uniname/uniname: Add comments.

* modules/uniname/uniname (Makefile.am): Explain how to work around a
GCC bug.

23 months agouniname/uniname: Fix -Wformat-signedness warning.
Bruno Haible [Sun, 4 Jun 2023 08:50:29 +0000 (10:50 +0200)]
uniname/uniname: Fix -Wformat-signedness warning.

* lib/uniname/uniname.c (unicode_character_name): Use %u instead of %d
in format string.

23 months agouniname/uniname: Improve comments.
Bruno Haible [Sun, 4 Jun 2023 08:45:00 +0000 (10:45 +0200)]
uniname/uniname: Improve comments.

* lib/uniname/uniname.c (unicode_character_name): Fix comments.

23 months agoclasspath, csharpexec: Avoid "candidate for attribute 'malloc'" warning.
Bruno Haible [Sat, 3 Jun 2023 11:07:31 +0000 (13:07 +0200)]
classpath, csharpexec: Avoid "candidate for attribute 'malloc'" warning.

* lib/classpath.h (set_classpath): Mark with attribute 'malloc'.

23 months agopropername-lite: Improve documentation.
Bruno Haible [Sat, 3 Jun 2023 10:31:21 +0000 (12:31 +0200)]
propername-lite: Improve documentation.

* lib/propername.h: Describe functional differences between
proper_name_lite and proper_name_utf8.