[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Gavin D. Smith |
Date: |
Tue, 20 Feb 2024 15:48:23 -0500 (EST) |
branch: master
commit 265ef0faac4b2d699c472b25283ad5b00598f134
Author: Gavin Smith <gavinsmith0123@gmail.com>
AuthorDate: Tue Feb 20 20:47:09 2024 +0000
* tp/Texinfo/XS:
Run "gnulib --remove-import uniconv/u8-strconv-to-enc" and
"gnulib --remove-import uniconv/u8-strconv-from-enc" and
"gnulib --remove-import uniconv/u32-strconv-from-enc".
---
.gitignore | 3 -
ChangeLog | 7 +
tp/Texinfo/XS/gnulib/lib/Makefile.am | 220 +---
tp/Texinfo/XS/gnulib/lib/c-ctype.c | 21 -
tp/Texinfo/XS/gnulib/lib/c-ctype.h | 366 ------
tp/Texinfo/XS/gnulib/lib/c-strcase.h | 61 -
tp/Texinfo/XS/gnulib/lib/c-strcasecmp.c | 56 -
tp/Texinfo/XS/gnulib/lib/c-strcaseeq.h | 181 ---
tp/Texinfo/XS/gnulib/lib/c-strncasecmp.c | 56 -
tp/Texinfo/XS/gnulib/lib/iconv.c | 446 -------
tp/Texinfo/XS/gnulib/lib/iconv.in.h | 132 ---
tp/Texinfo/XS/gnulib/lib/iconv_close.c | 43 -
tp/Texinfo/XS/gnulib/lib/iconv_open-aix.gperf | 60 -
tp/Texinfo/XS/gnulib/lib/iconv_open-hpux.gperf | 72 --
tp/Texinfo/XS/gnulib/lib/iconv_open-irix.gperf | 47 -
tp/Texinfo/XS/gnulib/lib/iconv_open-osf.gperf | 66 --
tp/Texinfo/XS/gnulib/lib/iconv_open-solaris.gperf | 46 -
tp/Texinfo/XS/gnulib/lib/iconv_open-zos.gperf | 76 --
tp/Texinfo/XS/gnulib/lib/iconv_open.c | 173 ---
tp/Texinfo/XS/gnulib/lib/iconveh.h | 44 -
tp/Texinfo/XS/gnulib/lib/limits.in.h | 2 +-
tp/Texinfo/XS/gnulib/lib/striconveh.c | 1235 --------------------
tp/Texinfo/XS/gnulib/lib/striconveh.h | 147 ---
tp/Texinfo/XS/gnulib/lib/striconveha.c | 357 ------
tp/Texinfo/XS/gnulib/lib/striconveha.h | 100 --
tp/Texinfo/XS/gnulib/lib/unicase/cased.h | 4 +-
tp/Texinfo/XS/gnulib/lib/unicase/ignorable.h | 4 +-
.../gnulib/lib/unicase/special-casing-table.gperf | 4 +-
tp/Texinfo/XS/gnulib/lib/unicase/tolower.h | 4 +-
tp/Texinfo/XS/gnulib/lib/unicase/toupper.h | 4 +-
tp/Texinfo/XS/gnulib/lib/uniconv.in.h | 172 ---
tp/Texinfo/XS/gnulib/lib/uniconv/u-conv-from-enc.h | 99 --
.../XS/gnulib/lib/uniconv/u-strconv-from-enc.h | 40 -
.../XS/gnulib/lib/uniconv/u32-conv-from-enc.c | 54 -
.../XS/gnulib/lib/uniconv/u32-strconv-from-enc.c | 42 -
.../XS/gnulib/lib/uniconv/u8-conv-from-enc.c | 106 --
.../XS/gnulib/lib/uniconv/u8-strconv-from-enc.c | 34 -
.../XS/gnulib/lib/uniconv/u8-strconv-to-enc.c | 85 --
tp/Texinfo/XS/gnulib/lib/unictype.in.h | 46 +
tp/Texinfo/XS/gnulib/lib/unictype/categ_L.h | 22 +-
tp/Texinfo/XS/gnulib/lib/unictype/categ_M.h | 4 +-
tp/Texinfo/XS/gnulib/lib/unictype/categ_Mn.h | 4 +-
tp/Texinfo/XS/gnulib/lib/unictype/categ_Nd.h | 4 +-
tp/Texinfo/XS/gnulib/lib/unictype/combiningclass.h | 4 +-
tp/Texinfo/XS/gnulib/lib/unictype/ctype_upper.h | 4 +-
tp/Texinfo/XS/gnulib/lib/unictype/pr_alphabetic.h | 22 +-
.../XS/gnulib/lib/unictype/pr_join_control.h | 4 +-
tp/Texinfo/XS/gnulib/lib/unictype/pr_soft_dotted.h | 4 +-
.../XS/gnulib/lib/uninorm/composition-table.gperf | 4 +-
.../XS/gnulib/lib/uninorm/decomposition-table1.h | 4 +-
.../XS/gnulib/lib/uninorm/decomposition-table2.h | 4 +-
tp/Texinfo/XS/gnulib/lib/unistr/u-strlen.h | 26 -
tp/Texinfo/XS/gnulib/lib/unistr/u32-mblen.c | 43 -
tp/Texinfo/XS/gnulib/lib/unistr/u32-strlen.c | 25 -
tp/Texinfo/XS/gnulib/lib/unistr/u8-check.c | 77 --
tp/Texinfo/XS/gnulib/lib/unistr/u8-mblen.c | 63 -
tp/Texinfo/XS/gnulib/lib/unistr/u8-prev.c | 81 --
tp/Texinfo/XS/gnulib/lib/unistr/u8-to-u32.c | 125 --
tp/Texinfo/XS/gnulib/lib/uniwidth/width0.h | 18 +-
tp/Texinfo/XS/gnulib/lib/uniwidth/width2.h | 4 +-
tp/Texinfo/XS/gnulib/lib/warn-on-use.h | 4 +
tp/Texinfo/XS/gnulib/lib/xalloc-oversized.h | 3 +-
tp/Texinfo/XS/gnulib/m4/gnulib-cache.m4 | 6 -
tp/Texinfo/XS/gnulib/m4/gnulib-common.m4 | 76 +-
tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4 | 93 +-
tp/Texinfo/XS/gnulib/m4/host-cpu-c-abi.m4 | 244 +---
tp/Texinfo/XS/gnulib/m4/iconv_h.m4 | 70 --
tp/Texinfo/XS/gnulib/m4/iconv_open.m4 | 60 -
tp/Texinfo/XS/gnulib/m4/lib-prefix.m4 | 11 +-
tp/Texinfo/XS/gnulib/m4/printf.m4 | 10 +-
tp/Texinfo/XS/gnulib/m4/unictype_h.m4 | 6 +-
71 files changed, 246 insertions(+), 5598 deletions(-)
diff --git a/.gitignore b/.gitignore
index 73f2b947e5..b3323fcc7a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -84,11 +84,9 @@ gnulib/lib/uninorm.h
tp/Texinfo/XS/gnulib/lib/inttypes.h
tp/Texinfo/XS/gnulib/lib/stdlib.h
tp/Texinfo/XS/gnulib/lib/unistd.h
-tp/Texinfo/XS/gnulib/lib/iconv.h
tp/Texinfo/XS/gnulib/lib/obstack.h
tp/Texinfo/XS/gnulib/lib/stdckdint.h
tp/Texinfo/XS/gnulib/lib/uchar.h
-tp/Texinfo/XS/gnulib/lib/uniconv.h
tp/Texinfo/XS/gnulib/lib/unistr.h
tp/Texinfo/XS/gnulib/lib/wctype.h
@@ -291,7 +289,6 @@ tp/Texinfo/XS/gnulib/lib/.libs
tp/Texinfo/XS/gnulib/lib/*.lo
tp/Texinfo/XS/gnulib/lib/libgnu.la
tp/Texinfo/XS/gnulib/lib/unicase/*.lo
-tp/Texinfo/XS/gnulib/lib/uniconv/*.lo
tp/Texinfo/XS/gnulib/lib/unictype/*.lo
tp/Texinfo/XS/gnulib/lib/uninorm/*.lo
tp/Texinfo/XS/gnulib/lib/unistr/*.lo
diff --git a/ChangeLog b/ChangeLog
index 9b63a73bc0..6ed22359e9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2024-02-20 Gavin Smith <gavinsmith0123@gmail.com>
+
+ * tp/Texinfo/XS:
+ Run "gnulib --remove-import uniconv/u8-strconv-to-enc" and
+ "gnulib --remove-import uniconv/u8-strconv-from-enc" and
+ "gnulib --remove-import uniconv/u32-strconv-from-enc".
+
2024-02-20 Gavin Smith <gavinsmith0123@gmail.com>
* tp/Texinfo/XS/main/unicode.c (utf8_from_string, string_from_utf8):
diff --git a/tp/Texinfo/XS/gnulib/lib/Makefile.am
b/tp/Texinfo/XS/gnulib/lib/Makefile.am
index 387cbf0a6e..4fb30c61d7 100644
--- a/tp/Texinfo/XS/gnulib/lib/Makefile.am
+++ b/tp/Texinfo/XS/gnulib/lib/Makefile.am
@@ -42,9 +42,6 @@
# uchar \
# unicase/u8-tolower \
# unicase/u8-toupper \
-# uniconv/u32-strconv-from-enc \
-# uniconv/u8-strconv-from-enc \
-# uniconv/u8-strconv-to-enc \
# unictype/category-L \
# unictype/category-M \
# unictype/category-Mn \
@@ -184,25 +181,6 @@ EXTRA_DIST += attribute.h
## end gnulib module attribute
-## begin gnulib module c-ctype
-
-libgnu_la_SOURCES += c-ctype.h c-ctype.c
-
-## end gnulib module c-ctype
-
-## begin gnulib module c-strcase
-
-libgnu_la_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c
-
-## end gnulib module c-strcase
-
-## begin gnulib module c-strcaseeq
-
-
-EXTRA_DIST += c-strcaseeq.h
-
-## end gnulib module c-strcaseeq
-
## begin gnulib module errno
BUILT_SOURCES += $(ERRNO_H)
@@ -342,76 +320,6 @@ EXTRA_DIST += $(top_srcdir)/./config.rpath
## end gnulib module havelib
-## begin gnulib module iconv-h
-
-BUILT_SOURCES += $(ICONV_H)
-
-# We need the following in order to create <iconv.h> when the system
-# doesn't have one that works with the given compiler.
-if GL_GENERATE_ICONV_H
-iconv.h: iconv.in.h $(top_builddir)/config.status $(CXXDEFS_H)
$(ARG_NONNULL_H) $(WARN_ON_USE_H)
- $(gl_V_at)$(SED_HEADER_STDOUT) \
- -e 's|@''GUARD_PREFIX''@|GL|g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
- -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \
- -e 's/@''GNULIB_ICONV''@/$(GL_GNULIB_ICONV)/g' \
- -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \
- -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \
- -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \
- -e 's|@''REPLACE_ICONV_UTF''@|$(REPLACE_ICONV_UTF)|g' \
- -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
- -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
- -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- $(srcdir)/iconv.in.h > $@-t
- $(AM_V_at)mv $@-t $@
-else
-iconv.h: $(top_builddir)/config.status
- rm -f $@
-endif
-MOSTLYCLEANFILES += iconv.h iconv.h-t
-
-EXTRA_DIST += iconv.in.h
-
-## end gnulib module iconv-h
-
-## begin gnulib module iconv_open
-
-if GL_COND_OBJ_ICONV_OPEN
-libgnu_la_SOURCES += iconv_open.c
-endif
-if GL_COND_OBJ_ICONV
-libgnu_la_SOURCES += iconv.c iconv_close.c
-endif
-
-$(srcdir)/iconv_open-aix.h: $(srcdir)/iconv_open-aix.gperf
- $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf >
$(srcdir)/iconv_open-aix.h-t && \
- mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h
-$(srcdir)/iconv_open-hpux.h: $(srcdir)/iconv_open-hpux.gperf
- $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf >
$(srcdir)/iconv_open-hpux.h-t && \
- mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h
-$(srcdir)/iconv_open-irix.h: $(srcdir)/iconv_open-irix.gperf
- $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf >
$(srcdir)/iconv_open-irix.h-t && \
- mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h
-$(srcdir)/iconv_open-osf.h: $(srcdir)/iconv_open-osf.gperf
- $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf >
$(srcdir)/iconv_open-osf.h-t && \
- mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h
-$(srcdir)/iconv_open-solaris.h: $(srcdir)/iconv_open-solaris.gperf
- $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf >
$(srcdir)/iconv_open-solaris.h-t && \
- mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h
-$(srcdir)/iconv_open-zos.h: $(srcdir)/iconv_open-zos.gperf
- $(V_GPERF)$(GPERF) -m 10 $(srcdir)/iconv_open-zos.gperf >
$(srcdir)/iconv_open-zos.h-t && \
- mv $(srcdir)/iconv_open-zos.h-t $(srcdir)/iconv_open-zos.h
-BUILT_SOURCES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h
iconv_open-osf.h iconv_open-solaris.h iconv_open-zos.h
-MOSTLYCLEANFILES += iconv_open-aix.h-t iconv_open-hpux.h-t
iconv_open-irix.h-t iconv_open-osf.h-t iconv_open-solaris.h-t iconv_open-zos.h-t
-MAINTAINERCLEANFILES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h
iconv_open-osf.h iconv_open-solaris.h iconv_open-zos.h
-EXTRA_DIST += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h
iconv_open-osf.h iconv_open-solaris.h iconv_open-zos.h
-
-EXTRA_DIST += iconv_open-aix.gperf iconv_open-hpux.gperf iconv_open-irix.gperf
iconv_open-osf.gperf iconv_open-solaris.gperf iconv_open-zos.gperf
-
-## end gnulib module iconv_open
-
## begin gnulib module idx
libgnu_la_SOURCES += idx.h
@@ -1048,21 +956,6 @@ EXTRA_DIST += streq.h
## end gnulib module streq
-## begin gnulib module striconveh
-
-libgnu_la_SOURCES += striconveh.h striconveh.c
-libgnu_la_LDFLAGS += $(LTLIBICONV)
-
-EXTRA_DIST += iconveh.h
-
-## end gnulib module striconveh
-
-## begin gnulib module striconveha
-
-libgnu_la_SOURCES += striconveha.h striconveha.c
-
-## end gnulib module striconveha
-
## begin gnulib module string
BUILT_SOURCES += string.h
@@ -1422,65 +1315,6 @@ endif
## end gnulib module unicase/u8-toupper
-## begin gnulib module uniconv/base
-
-BUILT_SOURCES += $(LIBUNISTRING_UNICONV_H)
-
-uniconv.h: uniconv.in.h
- $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/uniconv.in.h
- $(AM_V_at)mv $@-t $@
-MOSTLYCLEANFILES += uniconv.h uniconv.h-t
-
-EXTRA_DIST += iconveh.h localcharset.h striconveha.h uniconv.in.h
-
-## end gnulib module uniconv/base
-
-## begin gnulib module uniconv/u32-conv-from-enc
-
-if LIBUNISTRING_COMPILE_UNICONV_U32_CONV_FROM_ENC
-libgnu_la_SOURCES += uniconv/u32-conv-from-enc.c
-endif
-
-EXTRA_DIST += uniconv/u-conv-from-enc.h
-
-## end gnulib module uniconv/u32-conv-from-enc
-
-## begin gnulib module uniconv/u32-strconv-from-enc
-
-if LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_FROM_ENC
-libgnu_la_SOURCES += uniconv/u32-strconv-from-enc.c
-endif
-
-EXTRA_DIST += uniconv/u-strconv-from-enc.h
-
-## end gnulib module uniconv/u32-strconv-from-enc
-
-## begin gnulib module uniconv/u8-conv-from-enc
-
-if LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC
-libgnu_la_SOURCES += uniconv/u8-conv-from-enc.c
-endif
-
-## end gnulib module uniconv/u8-conv-from-enc
-
-## begin gnulib module uniconv/u8-strconv-from-enc
-
-if LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_FROM_ENC
-libgnu_la_SOURCES += uniconv/u8-strconv-from-enc.c
-endif
-
-EXTRA_DIST += uniconv/u-strconv-from-enc.h
-
-## end gnulib module uniconv/u8-strconv-from-enc
-
-## begin gnulib module uniconv/u8-strconv-to-enc
-
-if LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_ENC
-libgnu_la_SOURCES += uniconv/u8-strconv-to-enc.c
-endif
-
-## end gnulib module uniconv/u8-strconv-to-enc
-
## begin gnulib module unictype/base
BUILT_SOURCES += $(LIBUNISTRING_UNICTYPE_H)
@@ -1560,6 +1394,8 @@ unictype.h: unictype.in.h
-e
's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE)/g'
\
+ -e
's/@''GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE)/g'
\
+ -e
's/@''GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE)/g'
\
@@ -1591,6 +1427,7 @@ unictype.h: unictype.in.h
-e
's/@''GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE)/g'
\
+ -e
's/@''GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE)/g'
\
@@ -1604,6 +1441,7 @@ unictype.h: unictype.in.h
-e
's/@''GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE)/g'
\
+ -e
's/@''GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE)/g'
\
-e
's/@''GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE''@/$(GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE)/g'
\
@@ -2091,14 +1929,6 @@ EXTRA_DIST += unistr.in.h
## end gnulib module unistr/base
-## begin gnulib module unistr/u32-mblen
-
-if LIBUNISTRING_COMPILE_UNISTR_U32_MBLEN
-libgnu_la_SOURCES += unistr/u32-mblen.c
-endif
-
-## end gnulib module unistr/u32-mblen
-
## begin gnulib module unistr/u32-next
if LIBUNISTRING_COMPILE_UNISTR_U32_NEXT
@@ -2107,16 +1937,6 @@ endif
## end gnulib module unistr/u32-next
-## begin gnulib module unistr/u32-strlen
-
-if LIBUNISTRING_COMPILE_UNISTR_U32_STRLEN
-libgnu_la_SOURCES += unistr/u32-strlen.c
-endif
-
-EXTRA_DIST += unistr/u-strlen.h
-
-## end gnulib module unistr/u32-strlen
-
## begin gnulib module unistr/u32-strmbtouc
if LIBUNISTRING_COMPILE_UNISTR_U32_STRMBTOUC
@@ -2125,14 +1945,6 @@ endif
## end gnulib module unistr/u32-strmbtouc
-## begin gnulib module unistr/u8-check
-
-if LIBUNISTRING_COMPILE_UNISTR_U8_CHECK
-libgnu_la_SOURCES += unistr/u8-check.c
-endif
-
-## end gnulib module unistr/u8-check
-
## begin gnulib module unistr/u8-cpy
if LIBUNISTRING_COMPILE_UNISTR_U8_CPY
@@ -2143,14 +1955,6 @@ EXTRA_DIST += unistr/u-cpy.h
## end gnulib module unistr/u8-cpy
-## begin gnulib module unistr/u8-mblen
-
-if LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN
-libgnu_la_SOURCES += unistr/u8-mblen.c
-endif
-
-## end gnulib module unistr/u8-mblen
-
## begin gnulib module unistr/u8-mbsnlen
if LIBUNISTRING_COMPILE_UNISTR_U8_MBSNLEN
@@ -2191,14 +1995,6 @@ endif
## end gnulib module unistr/u8-next
-## begin gnulib module unistr/u8-prev
-
-if LIBUNISTRING_COMPILE_UNISTR_U8_PREV
-libgnu_la_SOURCES += unistr/u8-prev.c
-endif
-
-## end gnulib module unistr/u8-prev
-
## begin gnulib module unistr/u8-strlen
if LIBUNISTRING_COMPILE_UNISTR_U8_STRLEN
@@ -2215,14 +2011,6 @@ endif
## end gnulib module unistr/u8-strmbtouc
-## begin gnulib module unistr/u8-to-u32
-
-if LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32
-libgnu_la_SOURCES += unistr/u8-to-u32.c
-endif
-
-## end gnulib module unistr/u8-to-u32
-
## begin gnulib module unistr/u8-uctomb
if LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB
diff --git a/tp/Texinfo/XS/gnulib/lib/c-ctype.c
b/tp/Texinfo/XS/gnulib/lib/c-ctype.c
deleted file mode 100644
index d3f1b12d5a..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/c-ctype.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Character handling in C locale.
-
- Copyright (C) 2003-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-#define C_CTYPE_INLINE _GL_EXTERN_INLINE
-#include "c-ctype.h"
diff --git a/tp/Texinfo/XS/gnulib/lib/c-ctype.h
b/tp/Texinfo/XS/gnulib/lib/c-ctype.h
deleted file mode 100644
index b582de4a7f..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/c-ctype.h
+++ /dev/null
@@ -1,366 +0,0 @@
-/* Character handling in C locale.
-
- These functions work like the corresponding functions in <ctype.h>,
- except that they have the C (POSIX) locale hardwired, whereas the
- <ctype.h> functions' behaviour depends on the current locale set via
- setlocale.
-
- Copyright (C) 2000-2003, 2006, 2008-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef C_CTYPE_H
-#define C_CTYPE_H
-
-/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */
-#if !_GL_CONFIG_H_INCLUDED
- #error "Please include config.h first."
-#endif
-
-_GL_INLINE_HEADER_BEGIN
-#ifndef C_CTYPE_INLINE
-# define C_CTYPE_INLINE _GL_INLINE
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* The functions defined in this file assume the "C" locale and a character
- set without diacritics (ASCII-US or EBCDIC-US or something like that).
- Even if the "C" locale on a particular system is an extension of the ASCII
- character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it
- is ISO-8859-1), the functions in this file recognize only the ASCII
- characters. */
-
-
-#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
- && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
- && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
- && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
- && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
- && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
- && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
- && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
- && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
- && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
- && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
- && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
- && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
- && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
- && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
- && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
- && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
- && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
- && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
- && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
- && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
- && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
- && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
-/* The character set is ASCII or one of its variants or extensions, not EBCDIC.
- Testing the value of '\n' and '\r' is not relevant. */
-# define C_CTYPE_ASCII 1
-#elif ! (' ' == '\x40' && '0' == '\xf0' \
- && 'A' == '\xc1' && 'J' == '\xd1' && 'S' == '\xe2' \
- && 'a' == '\x81' && 'j' == '\x91' && 's' == '\xa2')
-# error "Only ASCII and EBCDIC are supported"
-#endif
-
-#if 'A' < 0
-# error "EBCDIC and char is signed -- not supported"
-#endif
-
-/* Cases for control characters. */
-
-#define _C_CTYPE_CNTRL \
- case '\a': case '\b': case '\f': case '\n': \
- case '\r': case '\t': case '\v': \
- _C_CTYPE_OTHER_CNTRL
-
-/* ASCII control characters other than those with \-letter escapes. */
-
-#if C_CTYPE_ASCII
-# define _C_CTYPE_OTHER_CNTRL \
- case '\x00': case '\x01': case '\x02': case '\x03': \
- case '\x04': case '\x05': case '\x06': case '\x0e': \
- case '\x0f': case '\x10': case '\x11': case '\x12': \
- case '\x13': case '\x14': case '\x15': case '\x16': \
- case '\x17': case '\x18': case '\x19': case '\x1a': \
- case '\x1b': case '\x1c': case '\x1d': case '\x1e': \
- case '\x1f': case '\x7f'
-#else
- /* Use EBCDIC code page 1047's assignments for ASCII control chars;
- assume all EBCDIC code pages agree about these assignments. */
-# define _C_CTYPE_OTHER_CNTRL \
- case '\x00': case '\x01': case '\x02': case '\x03': \
- case '\x07': case '\x0e': case '\x0f': case '\x10': \
- case '\x11': case '\x12': case '\x13': case '\x18': \
- case '\x19': case '\x1c': case '\x1d': case '\x1e': \
- case '\x1f': case '\x26': case '\x27': case '\x2d': \
- case '\x2e': case '\x32': case '\x37': case '\x3c': \
- case '\x3d': case '\x3f'
-#endif
-
-/* Cases for lowercase hex letters, and lowercase letters, all offset by N. */
-
-#define _C_CTYPE_LOWER_A_THRU_F_N(N) \
- case 'a' + (N): case 'b' + (N): case 'c' + (N): case 'd' + (N): \
- case 'e' + (N): case 'f' + (N)
-#define _C_CTYPE_LOWER_N(N) \
- _C_CTYPE_LOWER_A_THRU_F_N(N): \
- case 'g' + (N): case 'h' + (N): case 'i' + (N): case 'j' + (N): \
- case 'k' + (N): case 'l' + (N): case 'm' + (N): case 'n' + (N): \
- case 'o' + (N): case 'p' + (N): case 'q' + (N): case 'r' + (N): \
- case 's' + (N): case 't' + (N): case 'u' + (N): case 'v' + (N): \
- case 'w' + (N): case 'x' + (N): case 'y' + (N): case 'z' + (N)
-
-/* Cases for hex letters, digits, lower, punct, and upper. */
-
-#define _C_CTYPE_A_THRU_F \
- _C_CTYPE_LOWER_A_THRU_F_N (0): \
- _C_CTYPE_LOWER_A_THRU_F_N ('A' - 'a')
-#define _C_CTYPE_DIGIT \
- case '0': case '1': case '2': case '3': \
- case '4': case '5': case '6': case '7': \
- case '8': case '9'
-#define _C_CTYPE_LOWER _C_CTYPE_LOWER_N (0)
-#define _C_CTYPE_PUNCT \
- case '!': case '"': case '#': case '$': \
- case '%': case '&': case '\'': case '(': \
- case ')': case '*': case '+': case ',': \
- case '-': case '.': case '/': case ':': \
- case ';': case '<': case '=': case '>': \
- case '?': case '@': case '[': case '\\': \
- case ']': case '^': case '_': case '`': \
- case '{': case '|': case '}': case '~'
-#define _C_CTYPE_UPPER _C_CTYPE_LOWER_N ('A' - 'a')
-
-
-/* Function definitions. */
-
-/* Unlike the functions in <ctype.h>, which require an argument in the range
- of the 'unsigned char' type, the functions here operate on values that are
- in the 'unsigned char' range or in the 'char' range. In other words,
- when you have a 'char' value, you need to cast it before using it as
- argument to a <ctype.h> function:
-
- const char *s = ...;
- if (isalpha ((unsigned char) *s)) ...
-
- but you don't need to cast it for the functions defined in this file:
-
- const char *s = ...;
- if (c_isalpha (*s)) ...
- */
-
-C_CTYPE_INLINE bool
-c_isalnum (int c)
-{
- switch (c)
- {
- _C_CTYPE_DIGIT:
- _C_CTYPE_LOWER:
- _C_CTYPE_UPPER:
- return true;
- default:
- return false;
- }
-}
-
-C_CTYPE_INLINE bool
-c_isalpha (int c)
-{
- switch (c)
- {
- _C_CTYPE_LOWER:
- _C_CTYPE_UPPER:
- return true;
- default:
- return false;
- }
-}
-
-/* The function isascii is not locale dependent.
- Its use in EBCDIC is questionable. */
-C_CTYPE_INLINE bool
-c_isascii (int c)
-{
- switch (c)
- {
- case ' ':
- _C_CTYPE_CNTRL:
- _C_CTYPE_DIGIT:
- _C_CTYPE_LOWER:
- _C_CTYPE_PUNCT:
- _C_CTYPE_UPPER:
- return true;
- default:
- return false;
- }
-}
-
-C_CTYPE_INLINE bool
-c_isblank (int c)
-{
- return c == ' ' || c == '\t';
-}
-
-C_CTYPE_INLINE bool
-c_iscntrl (int c)
-{
- switch (c)
- {
- _C_CTYPE_CNTRL:
- return true;
- default:
- return false;
- }
-}
-
-C_CTYPE_INLINE bool
-c_isdigit (int c)
-{
- switch (c)
- {
- _C_CTYPE_DIGIT:
- return true;
- default:
- return false;
- }
-}
-
-C_CTYPE_INLINE bool
-c_isgraph (int c)
-{
- switch (c)
- {
- _C_CTYPE_DIGIT:
- _C_CTYPE_LOWER:
- _C_CTYPE_PUNCT:
- _C_CTYPE_UPPER:
- return true;
- default:
- return false;
- }
-}
-
-C_CTYPE_INLINE bool
-c_islower (int c)
-{
- switch (c)
- {
- _C_CTYPE_LOWER:
- return true;
- default:
- return false;
- }
-}
-
-C_CTYPE_INLINE bool
-c_isprint (int c)
-{
- switch (c)
- {
- case ' ':
- _C_CTYPE_DIGIT:
- _C_CTYPE_LOWER:
- _C_CTYPE_PUNCT:
- _C_CTYPE_UPPER:
- return true;
- default:
- return false;
- }
-}
-
-C_CTYPE_INLINE bool
-c_ispunct (int c)
-{
- switch (c)
- {
- _C_CTYPE_PUNCT:
- return true;
- default:
- return false;
- }
-}
-
-C_CTYPE_INLINE bool
-c_isspace (int c)
-{
- switch (c)
- {
- case ' ': case '\t': case '\n': case '\v': case '\f': case '\r':
- return true;
- default:
- return false;
- }
-}
-
-C_CTYPE_INLINE bool
-c_isupper (int c)
-{
- switch (c)
- {
- _C_CTYPE_UPPER:
- return true;
- default:
- return false;
- }
-}
-
-C_CTYPE_INLINE bool
-c_isxdigit (int c)
-{
- switch (c)
- {
- _C_CTYPE_DIGIT:
- _C_CTYPE_A_THRU_F:
- return true;
- default:
- return false;
- }
-}
-
-C_CTYPE_INLINE int
-c_tolower (int c)
-{
- switch (c)
- {
- _C_CTYPE_UPPER:
- return c - 'A' + 'a';
- default:
- return c;
- }
-}
-
-C_CTYPE_INLINE int
-c_toupper (int c)
-{
- switch (c)
- {
- _C_CTYPE_LOWER:
- return c - 'a' + 'A';
- default:
- return c;
- }
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-_GL_INLINE_HEADER_END
-
-#endif /* C_CTYPE_H */
diff --git a/tp/Texinfo/XS/gnulib/lib/c-strcase.h
b/tp/Texinfo/XS/gnulib/lib/c-strcase.h
deleted file mode 100644
index b75e8dd1cb..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/c-strcase.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Case-insensitive string comparison functions in C locale.
- Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2024 Free Software
- Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef C_STRCASE_H
-#define C_STRCASE_H
-
-/* This file uses _GL_ATTRIBUTE_PURE. */
-#if !_GL_CONFIG_H_INCLUDED
- #error "Please include config.h first."
-#endif
-
-#include <stddef.h>
-
-
-/* The functions defined in this file assume the "C" locale and a character
- set without diacritics (ASCII-US or EBCDIC-US or something like that).
- Even if the "C" locale on a particular system is an extension of the ASCII
- character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it
- is ISO-8859-1), the functions in this file recognize only the ASCII
- characters. More precisely, one of the string arguments must be an ASCII
- string; the other one can also contain non-ASCII characters (but then
- the comparison result will be nonzero). */
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Compare strings S1 and S2, ignoring case, returning less than, equal to or
- greater than zero if S1 is lexicographically less than, equal to or greater
- than S2. */
-extern int c_strcasecmp (const char *s1, const char *s2) _GL_ATTRIBUTE_PURE;
-
-/* Compare no more than N characters of strings S1 and S2, ignoring case,
- returning less than, equal to or greater than zero if S1 is
- lexicographically less than, equal to or greater than S2. */
-extern int c_strncasecmp (const char *s1, const char *s2, size_t n)
- _GL_ATTRIBUTE_PURE;
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* C_STRCASE_H */
diff --git a/tp/Texinfo/XS/gnulib/lib/c-strcasecmp.c
b/tp/Texinfo/XS/gnulib/lib/c-strcasecmp.c
deleted file mode 100644
index 1fa575a856..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/c-strcasecmp.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* c-strcasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "c-strcase.h"
-
-#include <limits.h>
-
-#include "c-ctype.h"
-
-int
-c_strcasecmp (const char *s1, const char *s2)
-{
- register const unsigned char *p1 = (const unsigned char *) s1;
- register const unsigned char *p2 = (const unsigned char *) s2;
- unsigned char c1, c2;
-
- if (p1 == p2)
- return 0;
-
- do
- {
- c1 = c_tolower (*p1);
- c2 = c_tolower (*p2);
-
- if (c1 == '\0')
- break;
-
- ++p1;
- ++p2;
- }
- while (c1 == c2);
-
- if (UCHAR_MAX <= INT_MAX)
- return c1 - c2;
- else
- /* On machines where 'char' and 'int' are types of the same size, the
- difference of two 'unsigned char' values - including the sign bit -
- doesn't fit in an 'int'. */
- return _GL_CMP (c1, c2);
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/c-strcaseeq.h
b/tp/Texinfo/XS/gnulib/lib/c-strcaseeq.h
deleted file mode 100644
index 26e05c93c3..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/c-strcaseeq.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/* Optimized case-insensitive string comparison in C locale.
- Copyright (C) 2001-2002, 2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>. */
-
-#include "c-strcase.h"
-#include "c-ctype.h"
-
-/* STRCASEEQ allows to optimize string comparison with a small literal string.
- STRCASEEQ (s, "UTF-8", 'U','T','F','-','8',0,0,0,0)
- is semantically equivalent to
- c_strcasecmp (s, "UTF-8") == 0
- just faster. */
-
-/* Help GCC to generate good code for string comparisons with
- immediate strings. */
-#if (defined __GNUC__ || defined __clang__) && defined __OPTIMIZE__
-
-/* Case insensitive comparison of ASCII characters. */
-# if C_CTYPE_ASCII
-# define CASEEQ(other,upper) \
- (c_isupper (upper) ? ((other) & ~0x20) == (upper) : (other) == (upper))
-# else
-# define CASEEQ(other,upper) \
- (c_toupper (other) == (upper))
-# endif
-
-static inline int
-strcaseeq9 (const char *s1, const char *s2)
-{
- return c_strcasecmp (s1 + 9, s2 + 9) == 0;
-}
-
-static inline int
-strcaseeq8 (const char *s1, const char *s2, char s28)
-{
- if (CASEEQ (s1[8], s28))
- {
- if (s28 == 0)
- return 1;
- else
- return strcaseeq9 (s1, s2);
- }
- else
- return 0;
-}
-
-static inline int
-strcaseeq7 (const char *s1, const char *s2, char s27, char s28)
-{
- if (CASEEQ (s1[7], s27))
- {
- if (s27 == 0)
- return 1;
- else
- return strcaseeq8 (s1, s2, s28);
- }
- else
- return 0;
-}
-
-static inline int
-strcaseeq6 (const char *s1, const char *s2, char s26, char s27, char s28)
-{
- if (CASEEQ (s1[6], s26))
- {
- if (s26 == 0)
- return 1;
- else
- return strcaseeq7 (s1, s2, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-strcaseeq5 (const char *s1, const char *s2, char s25, char s26, char s27, char
s28)
-{
- if (CASEEQ (s1[5], s25))
- {
- if (s25 == 0)
- return 1;
- else
- return strcaseeq6 (s1, s2, s26, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-strcaseeq4 (const char *s1, const char *s2, char s24, char s25, char s26, char
s27, char s28)
-{
- if (CASEEQ (s1[4], s24))
- {
- if (s24 == 0)
- return 1;
- else
- return strcaseeq5 (s1, s2, s25, s26, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-strcaseeq3 (const char *s1, const char *s2, char s23, char s24, char s25, char
s26, char s27, char s28)
-{
- if (CASEEQ (s1[3], s23))
- {
- if (s23 == 0)
- return 1;
- else
- return strcaseeq4 (s1, s2, s24, s25, s26, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-strcaseeq2 (const char *s1, const char *s2, char s22, char s23, char s24, char
s25, char s26, char s27, char s28)
-{
- if (CASEEQ (s1[2], s22))
- {
- if (s22 == 0)
- return 1;
- else
- return strcaseeq3 (s1, s2, s23, s24, s25, s26, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-strcaseeq1 (const char *s1, const char *s2, char s21, char s22, char s23, char
s24, char s25, char s26, char s27, char s28)
-{
- if (CASEEQ (s1[1], s21))
- {
- if (s21 == 0)
- return 1;
- else
- return strcaseeq2 (s1, s2, s22, s23, s24, s25, s26, s27, s28);
- }
- else
- return 0;
-}
-
-static inline int
-strcaseeq0 (const char *s1, const char *s2, char s20, char s21, char s22, char
s23, char s24, char s25, char s26, char s27, char s28)
-{
- if (CASEEQ (s1[0], s20))
- {
- if (s20 == 0)
- return 1;
- else
- return strcaseeq1 (s1, s2, s21, s22, s23, s24, s25, s26, s27, s28);
- }
- else
- return 0;
-}
-
-#define STRCASEEQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \
- strcaseeq0 (s1, s2, s20, s21, s22, s23, s24, s25, s26, s27, s28)
-
-#else
-
-#define STRCASEEQ(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \
- (c_strcasecmp (s1, s2) == 0)
-
-#endif
diff --git a/tp/Texinfo/XS/gnulib/lib/c-strncasecmp.c
b/tp/Texinfo/XS/gnulib/lib/c-strncasecmp.c
deleted file mode 100644
index 4c8b0b6b84..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/c-strncasecmp.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* c-strncasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "c-strcase.h"
-
-#include <limits.h>
-
-#include "c-ctype.h"
-
-int
-c_strncasecmp (const char *s1, const char *s2, size_t n)
-{
- register const unsigned char *p1 = (const unsigned char *) s1;
- register const unsigned char *p2 = (const unsigned char *) s2;
- unsigned char c1, c2;
-
- if (p1 == p2 || n == 0)
- return 0;
-
- do
- {
- c1 = c_tolower (*p1);
- c2 = c_tolower (*p2);
-
- if (--n == 0 || c1 == '\0')
- break;
-
- ++p1;
- ++p2;
- }
- while (c1 == c2);
-
- if (UCHAR_MAX <= INT_MAX)
- return c1 - c2;
- else
- /* On machines where 'char' and 'int' are types of the same size, the
- difference of two 'unsigned char' values - including the sign bit -
- doesn't fit in an 'int'. */
- return _GL_CMP (c1, c2);
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/iconv.c b/tp/Texinfo/XS/gnulib/lib/iconv.c
deleted file mode 100644
index 310f4043eb..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/iconv.c
+++ /dev/null
@@ -1,446 +0,0 @@
-/* Character set conversion.
- Copyright (C) 1999-2001, 2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include <iconv.h>
-
-#include <stddef.h>
-
-#if REPLACE_ICONV_UTF
-# include <errno.h>
-# include <stdint.h>
-# include <stdlib.h>
-# include "unistr.h"
-#endif
-
-#if REPLACE_ICONV_UTF
-
-/* UTF-{16,32}{BE,LE} converters taken from GNU libiconv 1.11. */
-
-/* Return code if invalid. (xxx_mbtowc) */
-# define RET_ILSEQ -1
-/* Return code if no bytes were read. (xxx_mbtowc) */
-# define RET_TOOFEW -2
-
-/* Return code if invalid. (xxx_wctomb) */
-# define RET_ILUNI -1
-/* Return code if output buffer is too small. (xxx_wctomb, xxx_reset) */
-# define RET_TOOSMALL -2
-
-/*
- * UTF-16BE
- */
-
-/* Specification: RFC 2781 */
-
-static int
-utf16be_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
-{
- if (n >= 2)
- {
- ucs4_t wc = (s[0] << 8) + s[1];
- if (wc >= 0xd800 && wc < 0xdc00)
- {
- if (n >= 4)
- {
- ucs4_t wc2 = (s[2] << 8) + s[3];
- if (!(wc2 >= 0xdc00 && wc2 < 0xe000))
- return RET_ILSEQ;
- *pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00);
- return 4;
- }
- }
- else if (wc >= 0xdc00 && wc < 0xe000)
- {
- return RET_ILSEQ;
- }
- else
- {
- *pwc = wc;
- return 2;
- }
- }
- return RET_TOOFEW;
-}
-
-static int
-utf16be_wctomb (unsigned char *r, ucs4_t wc, size_t n)
-{
- if (!(wc >= 0xd800 && wc < 0xe000))
- {
- if (wc < 0x10000)
- {
- if (n >= 2)
- {
- r[0] = (unsigned char) (wc >> 8);
- r[1] = (unsigned char) wc;
- return 2;
- }
- else
- return RET_TOOSMALL;
- }
- else if (wc < 0x110000)
- {
- if (n >= 4)
- {
- ucs4_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
- ucs4_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
- r[0] = (unsigned char) (wc1 >> 8);
- r[1] = (unsigned char) wc1;
- r[2] = (unsigned char) (wc2 >> 8);
- r[3] = (unsigned char) wc2;
- return 4;
- }
- else
- return RET_TOOSMALL;
- }
- }
- return RET_ILUNI;
-}
-
-/*
- * UTF-16LE
- */
-
-/* Specification: RFC 2781 */
-
-static int
-utf16le_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
-{
- if (n >= 2)
- {
- ucs4_t wc = s[0] + (s[1] << 8);
- if (wc >= 0xd800 && wc < 0xdc00)
- {
- if (n >= 4)
- {
- ucs4_t wc2 = s[2] + (s[3] << 8);
- if (!(wc2 >= 0xdc00 && wc2 < 0xe000))
- return RET_ILSEQ;
- *pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00);
- return 4;
- }
- }
- else if (wc >= 0xdc00 && wc < 0xe000)
- {
- return RET_ILSEQ;
- }
- else
- {
- *pwc = wc;
- return 2;
- }
- }
- return RET_TOOFEW;
-}
-
-static int
-utf16le_wctomb (unsigned char *r, ucs4_t wc, size_t n)
-{
- if (!(wc >= 0xd800 && wc < 0xe000))
- {
- if (wc < 0x10000)
- {
- if (n >= 2)
- {
- r[0] = (unsigned char) wc;
- r[1] = (unsigned char) (wc >> 8);
- return 2;
- }
- else
- return RET_TOOSMALL;
- }
- else if (wc < 0x110000)
- {
- if (n >= 4)
- {
- ucs4_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
- ucs4_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
- r[0] = (unsigned char) wc1;
- r[1] = (unsigned char) (wc1 >> 8);
- r[2] = (unsigned char) wc2;
- r[3] = (unsigned char) (wc2 >> 8);
- return 4;
- }
- else
- return RET_TOOSMALL;
- }
- }
- return RET_ILUNI;
-}
-
-/*
- * UTF-32BE
- */
-
-/* Specification: Unicode 3.1 Standard Annex #19 */
-
-static int
-utf32be_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
-{
- if (n >= 4)
- {
- ucs4_t wc = (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3];
- if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000))
- {
- *pwc = wc;
- return 4;
- }
- else
- return RET_ILSEQ;
- }
- return RET_TOOFEW;
-}
-
-static int
-utf32be_wctomb (unsigned char *r, ucs4_t wc, size_t n)
-{
- if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000))
- {
- if (n >= 4)
- {
- r[0] = 0;
- r[1] = (unsigned char) (wc >> 16);
- r[2] = (unsigned char) (wc >> 8);
- r[3] = (unsigned char) wc;
- return 4;
- }
- else
- return RET_TOOSMALL;
- }
- return RET_ILUNI;
-}
-
-/*
- * UTF-32LE
- */
-
-/* Specification: Unicode 3.1 Standard Annex #19 */
-
-static int
-utf32le_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
-{
- if (n >= 4)
- {
- ucs4_t wc = s[0] + (s[1] << 8) + (s[2] << 16) + (s[3] << 24);
- if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000))
- {
- *pwc = wc;
- return 4;
- }
- else
- return RET_ILSEQ;
- }
- return RET_TOOFEW;
-}
-
-static int
-utf32le_wctomb (unsigned char *r, ucs4_t wc, size_t n)
-{
- if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000))
- {
- if (n >= 4)
- {
- r[0] = (unsigned char) wc;
- r[1] = (unsigned char) (wc >> 8);
- r[2] = (unsigned char) (wc >> 16);
- r[3] = 0;
- return 4;
- }
- else
- return RET_TOOSMALL;
- }
- return RET_ILUNI;
-}
-
-#endif
-
-size_t
-rpl_iconv (iconv_t cd,
- ICONV_CONST char **inbuf, size_t *inbytesleft,
- char **outbuf, size_t *outbytesleft)
-#undef iconv
-{
-#if REPLACE_ICONV_UTF
- switch ((uintptr_t) cd)
- {
- {
- int (*xxx_wctomb) (unsigned char *, ucs4_t, size_t);
-
- case (uintptr_t) _ICONV_UTF8_UTF16BE:
- xxx_wctomb = utf16be_wctomb;
- goto loop_from_utf8;
- case (uintptr_t) _ICONV_UTF8_UTF16LE:
- xxx_wctomb = utf16le_wctomb;
- goto loop_from_utf8;
- case (uintptr_t) _ICONV_UTF8_UTF32BE:
- xxx_wctomb = utf32be_wctomb;
- goto loop_from_utf8;
- case (uintptr_t) _ICONV_UTF8_UTF32LE:
- xxx_wctomb = utf32le_wctomb;
- goto loop_from_utf8;
-
- loop_from_utf8:
- if (inbuf == NULL || *inbuf == NULL)
- return 0;
- {
- ICONV_CONST char *inptr = *inbuf;
- size_t inleft = *inbytesleft;
- char *outptr = *outbuf;
- size_t outleft = *outbytesleft;
- size_t res = 0;
- while (inleft > 0)
- {
- ucs4_t uc;
- int m = u8_mbtoucr (&uc, (const uint8_t *) inptr, inleft);
- if (m <= 0)
- {
- if (m == -1)
- {
- errno = EILSEQ;
- res = (size_t)(-1);
- break;
- }
- if (m == -2)
- {
- errno = EINVAL;
- res = (size_t)(-1);
- break;
- }
- abort ();
- }
- else
- {
- int n = xxx_wctomb ((uint8_t *) outptr, uc, outleft);
- if (n < 0)
- {
- if (n == RET_ILUNI)
- {
- errno = EILSEQ;
- res = (size_t)(-1);
- break;
- }
- if (n == RET_TOOSMALL)
- {
- errno = E2BIG;
- res = (size_t)(-1);
- break;
- }
- abort ();
- }
- else
- {
- inptr += m;
- inleft -= m;
- outptr += n;
- outleft -= n;
- }
- }
- }
- *inbuf = inptr;
- *inbytesleft = inleft;
- *outbuf = outptr;
- *outbytesleft = outleft;
- return res;
- }
- }
-
- {
- int (*xxx_mbtowc) (ucs4_t *, const unsigned char *, size_t);
-
- case (uintptr_t) _ICONV_UTF16BE_UTF8:
- xxx_mbtowc = utf16be_mbtowc;
- goto loop_to_utf8;
- case (uintptr_t) _ICONV_UTF16LE_UTF8:
- xxx_mbtowc = utf16le_mbtowc;
- goto loop_to_utf8;
- case (uintptr_t) _ICONV_UTF32BE_UTF8:
- xxx_mbtowc = utf32be_mbtowc;
- goto loop_to_utf8;
- case (uintptr_t) _ICONV_UTF32LE_UTF8:
- xxx_mbtowc = utf32le_mbtowc;
- goto loop_to_utf8;
-
- loop_to_utf8:
- if (inbuf == NULL || *inbuf == NULL)
- return 0;
- {
- ICONV_CONST char *inptr = *inbuf;
- size_t inleft = *inbytesleft;
- char *outptr = *outbuf;
- size_t outleft = *outbytesleft;
- size_t res = 0;
- while (inleft > 0)
- {
- ucs4_t uc;
- int m = xxx_mbtowc (&uc, (const uint8_t *) inptr, inleft);
- if (m <= 0)
- {
- if (m == RET_ILSEQ)
- {
- errno = EILSEQ;
- res = (size_t)(-1);
- break;
- }
- if (m == RET_TOOFEW)
- {
- errno = EINVAL;
- res = (size_t)(-1);
- break;
- }
- abort ();
- }
- else
- {
- int n = u8_uctomb ((uint8_t *) outptr, uc, outleft);
- if (n < 0)
- {
- if (n == -1)
- {
- errno = EILSEQ;
- res = (size_t)(-1);
- break;
- }
- if (n == -2)
- {
- errno = E2BIG;
- res = (size_t)(-1);
- break;
- }
- abort ();
- }
- else
- {
- inptr += m;
- inleft -= m;
- outptr += n;
- outleft -= n;
- }
- }
- }
- *inbuf = inptr;
- *inbytesleft = inleft;
- *outbuf = outptr;
- *outbytesleft = outleft;
- return res;
- }
- }
- }
-#endif
- return iconv (cd, inbuf, inbytesleft, outbuf, outbytesleft);
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/iconv.in.h
b/tp/Texinfo/XS/gnulib/lib/iconv.in.h
deleted file mode 100644
index 9e41e4174d..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/iconv.in.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/* A GNU-like <iconv.h>.
-
- Copyright (C) 2007-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _@GUARD_PREFIX@_ICONV_H
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-@PRAGMA_COLUMNS@
-
-/* The include_next requires a split double-inclusion guard. */
-#@INCLUDE_NEXT@ @NEXT_ICONV_H@
-
-#ifndef _@GUARD_PREFIX@_ICONV_H
-#define _@GUARD_PREFIX@_ICONV_H
-
-/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
-#if !_GL_CONFIG_H_INCLUDED
- #error "Please include config.h first."
-#endif
-
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
-
-/* The definition of _GL_ARG_NONNULL is copied here. */
-
-/* The definition of _GL_WARN_ON_USE is copied here. */
-
-
-#if @GNULIB_ICONV@
-# if @REPLACE_ICONV_OPEN@
-/* An iconv_open wrapper that supports the IANA standardized encoding names
- ("ISO-8859-1" etc.) as far as possible. */
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define iconv_open rpl_iconv_open
-# endif
-_GL_FUNCDECL_RPL (iconv_open, iconv_t,
- (const char *tocode, const char *fromcode)
- _GL_ARG_NONNULL ((1, 2)));
-_GL_CXXALIAS_RPL (iconv_open, iconv_t,
- (const char *tocode, const char *fromcode));
-# else
-_GL_CXXALIAS_SYS (iconv_open, iconv_t,
- (const char *tocode, const char *fromcode));
-# endif
-_GL_CXXALIASWARN (iconv_open);
-#elif defined GNULIB_POSIXCHECK
-# undef iconv_open
-# if HAVE_RAW_DECL_ICONV_OPEN
-_GL_WARN_ON_USE (iconv_open, "iconv_open is not working correctly everywhere -
"
- "use gnulib module iconv for portability");
-# endif
-#endif
-
-#if @REPLACE_ICONV_UTF@
-/* Special constants for supporting UTF-{16,32}{BE,LE} encodings.
- Not public. */
-# define _ICONV_UTF8_UTF16BE (iconv_t)(-161)
-# define _ICONV_UTF8_UTF16LE (iconv_t)(-162)
-# define _ICONV_UTF8_UTF32BE (iconv_t)(-163)
-# define _ICONV_UTF8_UTF32LE (iconv_t)(-164)
-# define _ICONV_UTF16BE_UTF8 (iconv_t)(-165)
-# define _ICONV_UTF16LE_UTF8 (iconv_t)(-166)
-# define _ICONV_UTF32BE_UTF8 (iconv_t)(-167)
-# define _ICONV_UTF32LE_UTF8 (iconv_t)(-168)
-#endif
-
-#if @GNULIB_ICONV@
-# if @REPLACE_ICONV@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define iconv rpl_iconv
-# endif
-_GL_FUNCDECL_RPL (iconv, size_t,
- (iconv_t cd,
- @ICONV_CONST@ char **restrict inbuf,
- size_t *restrict inbytesleft,
- char **restrict outbuf, size_t *restrict outbytesleft));
-_GL_CXXALIAS_RPL (iconv, size_t,
- (iconv_t cd,
- @ICONV_CONST@ char **restrict inbuf,
- size_t *restrict inbytesleft,
- char **restrict outbuf, size_t *restrict outbytesleft));
-# else
-/* Need to cast, because on some versions of Solaris, ICONV_CONST does
- not have the right value for C++. */
-_GL_CXXALIAS_SYS_CAST (iconv, size_t,
- (iconv_t cd,
- @ICONV_CONST@ char **restrict inbuf,
- size_t *restrict inbytesleft,
- char **restrict outbuf, size_t *restrict
outbytesleft));
-# endif
-_GL_CXXALIASWARN (iconv);
-# ifndef ICONV_CONST
-# define ICONV_CONST @ICONV_CONST@
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef iconv
-# if HAVE_RAW_DECL_ICONV
-_GL_WARN_ON_USE (iconv, "iconv is not working correctly everywhere - "
- "use gnulib module iconv for portability");
-# endif
-#endif
-
-#if @GNULIB_ICONV@
-# if @REPLACE_ICONV@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# define iconv_close rpl_iconv_close
-# endif
-_GL_FUNCDECL_RPL (iconv_close, int, (iconv_t cd));
-_GL_CXXALIAS_RPL (iconv_close, int, (iconv_t cd));
-# else
-_GL_CXXALIAS_SYS (iconv_close, int, (iconv_t cd));
-# endif
-_GL_CXXALIASWARN (iconv_close);
-#endif
-
-
-#endif /* _@GUARD_PREFIX@_ICONV_H */
-#endif /* _@GUARD_PREFIX@_ICONV_H */
diff --git a/tp/Texinfo/XS/gnulib/lib/iconv_close.c
b/tp/Texinfo/XS/gnulib/lib/iconv_close.c
deleted file mode 100644
index 692cbb84f7..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/iconv_close.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Character set conversion.
- Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include <iconv.h>
-
-#include <stdint.h>
-
-int
-rpl_iconv_close (iconv_t cd)
-#undef iconv_close
-{
-#if REPLACE_ICONV_UTF
- switch ((uintptr_t) cd)
- {
- case (uintptr_t) _ICONV_UTF8_UTF16BE:
- case (uintptr_t) _ICONV_UTF8_UTF16LE:
- case (uintptr_t) _ICONV_UTF8_UTF32BE:
- case (uintptr_t) _ICONV_UTF8_UTF32LE:
- case (uintptr_t) _ICONV_UTF16BE_UTF8:
- case (uintptr_t) _ICONV_UTF16LE_UTF8:
- case (uintptr_t) _ICONV_UTF32BE_UTF8:
- case (uintptr_t) _ICONV_UTF32LE_UTF8:
- return 0;
- }
-#endif
- return iconv_close (cd);
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/iconv_open-aix.gperf
b/tp/Texinfo/XS/gnulib/lib/iconv_open-aix.gperf
deleted file mode 100644
index 55cccd0320..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/iconv_open-aix.gperf
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Character set conversion.
- Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-struct mapping { int standard_name; const char vendor_name[10 + 1]; };
-%struct-type
-%language=ANSI-C
-%define slot-name standard_name
-%define hash-function-name mapping_hash
-%define lookup-function-name mapping_lookup
-%readonly-tables
-%global-table
-%define word-array-name mappings
-%pic
-%%
-# On AIX 5.1, look in /usr/lib/nls/loc/uconvTable.
-ISO-8859-1, "ISO8859-1"
-ISO-8859-2, "ISO8859-2"
-ISO-8859-3, "ISO8859-3"
-ISO-8859-4, "ISO8859-4"
-ISO-8859-5, "ISO8859-5"
-ISO-8859-6, "ISO8859-6"
-ISO-8859-7, "ISO8859-7"
-ISO-8859-8, "ISO8859-8"
-ISO-8859-9, "ISO8859-9"
-ISO-8859-15, "ISO8859-15"
-CP437, "IBM-437"
-CP850, "IBM-850"
-CP852, "IBM-852"
-CP856, "IBM-856"
-CP857, "IBM-857"
-CP861, "IBM-861"
-CP865, "IBM-865"
-CP869, "IBM-869"
-ISO-8859-13, "IBM-921"
-CP922, "IBM-922"
-CP932, "IBM-932"
-CP943, "IBM-943"
-CP1046, "IBM-1046"
-CP1124, "IBM-1124"
-CP1125, "IBM-1125"
-CP1129, "IBM-1129"
-CP1252, "IBM-1252"
-GB2312, "IBM-eucCN"
-EUC-JP, "IBM-eucJP"
-EUC-KR, "IBM-eucKR"
-EUC-TW, "IBM-eucTW"
-BIG5, "big5"
diff --git a/tp/Texinfo/XS/gnulib/lib/iconv_open-hpux.gperf
b/tp/Texinfo/XS/gnulib/lib/iconv_open-hpux.gperf
deleted file mode 100644
index ddf51e30fc..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/iconv_open-hpux.gperf
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Character set conversion.
- Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-struct mapping { int standard_name; const char vendor_name[9 + 1]; };
-%struct-type
-%language=ANSI-C
-%define slot-name standard_name
-%define hash-function-name mapping_hash
-%define lookup-function-name mapping_lookup
-%readonly-tables
-%global-table
-%define word-array-name mappings
-%pic
-%%
-# On HP-UX 11.11, look in /usr/lib/nls/iconv.
-ISO-8859-1, "iso88591"
-ISO-8859-2, "iso88592"
-ISO-8859-5, "iso88595"
-ISO-8859-6, "iso88596"
-ISO-8859-7, "iso88597"
-ISO-8859-8, "iso88598"
-ISO-8859-9, "iso88599"
-ISO-8859-15, "iso885915"
-CP437, "cp437"
-CP775, "cp775"
-CP850, "cp850"
-CP852, "cp852"
-CP855, "cp855"
-CP857, "cp857"
-CP861, "cp861"
-CP862, "cp862"
-CP864, "cp864"
-CP865, "cp865"
-CP866, "cp866"
-CP869, "cp869"
-CP874, "cp874"
-CP1250, "cp1250"
-CP1251, "cp1251"
-CP1252, "cp1252"
-CP1253, "cp1253"
-CP1254, "cp1254"
-CP1255, "cp1255"
-CP1256, "cp1256"
-CP1257, "cp1257"
-CP1258, "cp1258"
-HP-ROMAN8, "roman8"
-HP-ARABIC8, "arabic8"
-HP-GREEK8, "greek8"
-HP-HEBREW8, "hebrew8"
-HP-TURKISH8, "turkish8"
-HP-KANA8, "kana8"
-TIS-620, "tis620"
-GB2312, "hp15CN"
-EUC-JP, "eucJP"
-EUC-KR, "eucKR"
-EUC-TW, "eucTW"
-BIG5, "big5"
-SHIFT_JIS, "sjis"
-UTF-8, "utf8"
diff --git a/tp/Texinfo/XS/gnulib/lib/iconv_open-irix.gperf
b/tp/Texinfo/XS/gnulib/lib/iconv_open-irix.gperf
deleted file mode 100644
index cd0ad544af..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/iconv_open-irix.gperf
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Character set conversion.
- Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-struct mapping { int standard_name; const char vendor_name[10 + 1]; };
-%struct-type
-%language=ANSI-C
-%define slot-name standard_name
-%define hash-function-name mapping_hash
-%define lookup-function-name mapping_lookup
-%readonly-tables
-%global-table
-%define word-array-name mappings
-%pic
-%%
-# On IRIX 6.5, look in /usr/lib/iconv and /usr/lib/international/encodings.
-ISO-8859-1, "ISO8859-1"
-ISO-8859-2, "ISO8859-2"
-ISO-8859-3, "ISO8859-3"
-ISO-8859-4, "ISO8859-4"
-ISO-8859-5, "ISO8859-5"
-ISO-8859-6, "ISO8859-6"
-ISO-8859-7, "ISO8859-7"
-ISO-8859-8, "ISO8859-8"
-ISO-8859-9, "ISO8859-9"
-ISO-8859-15, "ISO8859-15"
-KOI8-R, "KOI8"
-CP855, "DOS855"
-CP1251, "WIN1251"
-GB2312, "eucCN"
-EUC-JP, "eucJP"
-EUC-KR, "eucKR"
-EUC-TW, "eucTW"
-SHIFT_JIS, "sjis"
-TIS-620, "TIS620"
diff --git a/tp/Texinfo/XS/gnulib/lib/iconv_open-osf.gperf
b/tp/Texinfo/XS/gnulib/lib/iconv_open-osf.gperf
deleted file mode 100644
index 417f7e3ec4..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/iconv_open-osf.gperf
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Character set conversion.
- Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-struct mapping { int standard_name; const char vendor_name[10 + 1]; };
-%struct-type
-%language=ANSI-C
-%define slot-name standard_name
-%define hash-function-name mapping_hash
-%define lookup-function-name mapping_lookup
-%readonly-tables
-%global-table
-%define word-array-name mappings
-%pic
-%%
-# On OSF/1 5.1, look in /usr/lib/nls/loc/iconv.
-ISO-8859-1, "ISO8859-1"
-ISO-8859-2, "ISO8859-2"
-ISO-8859-3, "ISO8859-3"
-ISO-8859-4, "ISO8859-4"
-ISO-8859-5, "ISO8859-5"
-ISO-8859-6, "ISO8859-6"
-ISO-8859-7, "ISO8859-7"
-ISO-8859-8, "ISO8859-8"
-ISO-8859-9, "ISO8859-9"
-ISO-8859-15, "ISO8859-15"
-CP437, "cp437"
-CP775, "cp775"
-CP850, "cp850"
-CP852, "cp852"
-CP855, "cp855"
-CP857, "cp857"
-CP861, "cp861"
-CP862, "cp862"
-CP865, "cp865"
-CP866, "cp866"
-CP869, "cp869"
-CP874, "cp874"
-CP949, "KSC5601"
-CP1250, "cp1250"
-CP1251, "cp1251"
-CP1252, "cp1252"
-CP1253, "cp1253"
-CP1254, "cp1254"
-CP1255, "cp1255"
-CP1256, "cp1256"
-CP1257, "cp1257"
-CP1258, "cp1258"
-EUC-JP, "eucJP"
-EUC-KR, "eucKR"
-EUC-TW, "eucTW"
-BIG5, "big5"
-SHIFT_JIS, "SJIS"
-TIS-620, "TACTIS"
diff --git a/tp/Texinfo/XS/gnulib/lib/iconv_open-solaris.gperf
b/tp/Texinfo/XS/gnulib/lib/iconv_open-solaris.gperf
deleted file mode 100644
index d5411de0c1..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/iconv_open-solaris.gperf
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Character set conversion.
- Copyright (C) 2007, 2009, 2020-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-struct mapping { int standard_name; const char vendor_name[10 + 1]; };
-%struct-type
-%language=ANSI-C
-%define slot-name standard_name
-%define hash-function-name mapping_hash
-%define lookup-function-name mapping_lookup
-%readonly-tables
-%global-table
-%define word-array-name mappings
-%pic
-%%
-# On Solaris 10, look in the "iconv -l" output. Some aliases are advertised but
-# not actually supported by the iconv() function and by the 'iconv' program.
-# For example:
-# $ echo abc | iconv -f 646 -t ISO-8859-1
-# Not supported 646 to ISO-8859-1
-# $ echo abc | iconv -f 646 -t ISO8859-1
-$ abc
-ASCII, "646"
-ISO-8859-1, "ISO8859-1"
-ISO-8859-2, "ISO8859-2"
-ISO-8859-3, "ISO8859-3"
-ISO-8859-4, "ISO8859-4"
-ISO-8859-5, "ISO8859-5"
-ISO-8859-6, "ISO8859-6"
-ISO-8859-7, "ISO8859-7"
-ISO-8859-8, "ISO8859-8"
-ISO-8859-9, "ISO8859-9"
-ISO-8859-15, "ISO8859-15"
-CP1251, "ansi-1251"
diff --git a/tp/Texinfo/XS/gnulib/lib/iconv_open-zos.gperf
b/tp/Texinfo/XS/gnulib/lib/iconv_open-zos.gperf
deleted file mode 100644
index a7fc3dc7c1..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/iconv_open-zos.gperf
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Character set conversion.
- Copyright (C) 2019-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-struct mapping { int standard_name; const char vendor_name[10 + 1]; };
-%struct-type
-%language=ANSI-C
-%define slot-name standard_name
-%define hash-function-name mapping_hash
-%define lookup-function-name mapping_lookup
-%readonly-tables
-%global-table
-%define word-array-name mappings
-%pic
-%%
-ASCII, "00367"
-ISO-8859-1, "ISO8859-1"
-ISO-8859-2, "ISO8859-2"
-ISO-8859-3, "00913"
-ISO-8859-4, "ISO8859-4"
-ISO-8859-5, "ISO8859-5"
-ISO-8859-6, "ISO8859-6"
-ISO-8859-7, "ISO8859-7"
-ISO-8859-8, "05012"
-ISO-8859-9, "ISO8859-9"
-ISO-8859-13, "ISO8859-13"
-ISO-8859-15, "ISO8859-15"
-KOI8-R, "00878"
-KOI8-U, "01168"
-CP437, "IBM-437"
-CP775, "00775"
-CP850, "09042"
-CP852, "IBM-852"
-CP855, "13143"
-CP856, "IBM-856"
-CP857, "00857"
-CP861, "IBM-861"
-CP862, "IBM-862"
-CP864, "IBM-864"
-CP865, "00865"
-CP866, "04962"
-CP869, "IBM-869"
-CP874, "TIS-620"
-CP922, "IBM-922"
-CP932, "IBM-943"
-CP943, "IBM-943"
-CP949, "IBM-1363"
-CP1046, "IBM-1046"
-CP1124, "IBM-1124"
-CP1125, "IBM-1125"
-CP1129, "01129"
-CP1131, "01131"
-CP1250, "IBM-5346"
-CP1251, "IBM-5347"
-CP1252, "IBM-5348"
-CP1253, "IBM-5349"
-CP1254, "IBM-5350"
-CP1255, "09447"
-CP1256, "09448"
-CP1257, "09449"
-GB2312, "IBM-eucCN"
-EUC-JP, "01350"
-EUC-KR, "IBM-eucKR"
-GBK, "IBM-1386"
diff --git a/tp/Texinfo/XS/gnulib/lib/iconv_open.c
b/tp/Texinfo/XS/gnulib/lib/iconv_open.c
deleted file mode 100644
index 2be02eff9e..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/iconv_open.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/* Character set conversion.
- Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include <iconv.h>
-
-#include <errno.h>
-#include <string.h>
-#include "c-ctype.h"
-#include "c-strcase.h"
-
-#define SIZEOF(a) (sizeof(a) / sizeof(a[0]))
-
-/* Namespace cleanliness. */
-#define mapping_lookup rpl_iconv_open_mapping_lookup
-
-/* The macro ICONV_FLAVOR is defined to one of these or undefined. */
-
-#define ICONV_FLAVOR_AIX "iconv_open-aix.h"
-#define ICONV_FLAVOR_HPUX "iconv_open-hpux.h"
-#define ICONV_FLAVOR_IRIX "iconv_open-irix.h"
-#define ICONV_FLAVOR_OSF "iconv_open-osf.h"
-#define ICONV_FLAVOR_SOLARIS "iconv_open-solaris.h"
-#define ICONV_FLAVOR_ZOS "iconv_open-zos.h"
-
-#ifdef ICONV_FLAVOR
-# include ICONV_FLAVOR
-#endif
-
-iconv_t
-rpl_iconv_open (const char *tocode, const char *fromcode)
-#undef iconv_open
-{
- char fromcode_upper[32];
- char tocode_upper[32];
- char *fromcode_upper_end;
- char *tocode_upper_end;
-
-#if REPLACE_ICONV_UTF
- /* Special handling of conversion between UTF-8 and UTF-{16,32}{BE,LE}.
- Do this here, before calling the real iconv_open(), because OSF/1 5.1
- iconv() to these encoding inserts a BOM, which is wrong.
- We do not need to handle conversion between arbitrary encodings and
- UTF-{16,32}{BE,LE}, because the 'striconveh' module implements two-step
- conversion through UTF-8.
- The _ICONV_* constants are chosen to be disjoint from any iconv_t
- returned by the system's iconv_open() functions. Recall that iconv_t
- is a scalar type. */
- if (c_toupper (fromcode[0]) == 'U'
- && c_toupper (fromcode[1]) == 'T'
- && c_toupper (fromcode[2]) == 'F'
- && fromcode[3] == '-')
- {
- if (c_toupper (tocode[0]) == 'U'
- && c_toupper (tocode[1]) == 'T'
- && c_toupper (tocode[2]) == 'F'
- && tocode[3] == '-')
- {
- if (strcmp (fromcode + 4, "8") == 0)
- {
- if (c_strcasecmp (tocode + 4, "16BE") == 0)
- return _ICONV_UTF8_UTF16BE;
- if (c_strcasecmp (tocode + 4, "16LE") == 0)
- return _ICONV_UTF8_UTF16LE;
- if (c_strcasecmp (tocode + 4, "32BE") == 0)
- return _ICONV_UTF8_UTF32BE;
- if (c_strcasecmp (tocode + 4, "32LE") == 0)
- return _ICONV_UTF8_UTF32LE;
- }
- else if (strcmp (tocode + 4, "8") == 0)
- {
- if (c_strcasecmp (fromcode + 4, "16BE") == 0)
- return _ICONV_UTF16BE_UTF8;
- if (c_strcasecmp (fromcode + 4, "16LE") == 0)
- return _ICONV_UTF16LE_UTF8;
- if (c_strcasecmp (fromcode + 4, "32BE") == 0)
- return _ICONV_UTF32BE_UTF8;
- if (c_strcasecmp (fromcode + 4, "32LE") == 0)
- return _ICONV_UTF32LE_UTF8;
- }
- }
- }
-#endif
-
- /* Do *not* add special support for 8-bit encodings like ASCII or ISO-8859-1
- here. This would lead to programs that work in some locales (such as the
- "C" or "en_US" locales) but do not work in East Asian locales. It is
- better if programmers make their programs depend on GNU libiconv (except
- on glibc systems), e.g. by using the AM_ICONV macro and documenting the
- dependency in an INSTALL or DEPENDENCIES file. */
-
- /* Try with the original names first.
- This covers the case when fromcode or tocode is a lowercase encoding name
- that is understood by the system's iconv_open but not listed in our
- mappings table. */
- {
- iconv_t cd = iconv_open (tocode, fromcode);
- if (cd != (iconv_t)(-1))
- return cd;
- }
-
- /* Convert the encodings to upper case, because
- 1. in the arguments of iconv_open() on AIX, HP-UX, and OSF/1 the case
- matters,
- 2. it makes searching in the table faster. */
- {
- const char *p = fromcode;
- char *q = fromcode_upper;
- while ((*q = c_toupper (*p)) != '\0')
- {
- p++;
- q++;
- if (q == &fromcode_upper[SIZEOF (fromcode_upper)])
- {
- errno = EINVAL;
- return (iconv_t)(-1);
- }
- }
- fromcode_upper_end = q;
- }
-
- {
- const char *p = tocode;
- char *q = tocode_upper;
- while ((*q = c_toupper (*p)) != '\0')
- {
- p++;
- q++;
- if (q == &tocode_upper[SIZEOF (tocode_upper)])
- {
- errno = EINVAL;
- return (iconv_t)(-1);
- }
- }
- tocode_upper_end = q;
- }
-
-#ifdef ICONV_FLAVOR
- /* Apply the mappings. */
- {
- const struct mapping *m =
- mapping_lookup (fromcode_upper, fromcode_upper_end - fromcode_upper);
-
- fromcode = (m != NULL ? m->vendor_name : fromcode_upper);
- }
- {
- const struct mapping *m =
- mapping_lookup (tocode_upper, tocode_upper_end - tocode_upper);
-
- tocode = (m != NULL ? m->vendor_name : tocode_upper);
- }
-#else
- fromcode = fromcode_upper;
- tocode = tocode_upper;
-#endif
-
- return iconv_open (tocode, fromcode);
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/iconveh.h
b/tp/Texinfo/XS/gnulib/lib/iconveh.h
deleted file mode 100644
index c607373411..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/iconveh.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Character set conversion handler type.
- Copyright (C) 2001-2007, 2009-2024 Free Software Foundation, Inc.
- Written by Bruno Haible.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _ICONVEH_H
-#define _ICONVEH_H
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Handling of unconvertible characters. */
-enum iconv_ilseq_handler
-{
- iconveh_error, /* return and set errno = EILSEQ */
- iconveh_question_mark, /* use one '?' per unconvertible character */
- iconveh_escape_sequence, /* use escape sequence \uxxxx or \Uxxxxxxxx */
- iconveh_replacement_character /* use one U+FFFD per unconvertible character
- if that fits in the target encoding,
- otherwise one '?' */
-};
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _ICONVEH_H */
diff --git a/tp/Texinfo/XS/gnulib/lib/limits.in.h
b/tp/Texinfo/XS/gnulib/lib/limits.in.h
index 236fc58e52..c65eb4c1cf 100644
--- a/tp/Texinfo/XS/gnulib/lib/limits.in.h
+++ b/tp/Texinfo/XS/gnulib/lib/limits.in.h
@@ -130,7 +130,7 @@
# define BOOL_WIDTH 1
# define BOOL_MAX 1
# elif ! defined BOOL_MAX
-# define BOOL_MAX ((((1U << (BOOL_WIDTH - 1)) - 1) << 1) + 1)
+# define BOOL_MAX 1
# endif
#endif
diff --git a/tp/Texinfo/XS/gnulib/lib/striconveh.c
b/tp/Texinfo/XS/gnulib/lib/striconveh.c
deleted file mode 100644
index bf4a2e7b54..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/striconveh.c
+++ /dev/null
@@ -1,1235 +0,0 @@
-/* Character set conversion with error handling.
- Copyright (C) 2001-2024 Free Software Foundation, Inc.
- Written by Bruno Haible and Simon Josefsson.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "striconveh.h"
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#if HAVE_ICONV
-# include <iconv.h>
-# include "unistr.h"
-#endif
-
-#include "c-strcase.h"
-#include "c-strcaseeq.h"
-
-#ifndef SIZE_MAX
-# define SIZE_MAX ((size_t) -1)
-#endif
-
-
-#if HAVE_ICONV
-
-/* The caller must provide an iconveh_t, not just an iconv_t, because when a
- conversion error occurs, we may have to determine the Unicode representation
- of the inconvertible character. */
-
-int
-iconveh_open (const char *to_codeset, const char *from_codeset, iconveh_t *cdp)
-{
- iconv_t cd;
- iconv_t cd1;
- iconv_t cd2;
-
- /* Avoid glibc-2.1 bug with EUC-KR. */
-# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
- && !defined _LIBICONV_VERSION
- if (c_strcasecmp (from_codeset, "EUC-KR") == 0
- || c_strcasecmp (to_codeset, "EUC-KR") == 0)
- {
- errno = EINVAL;
- return -1;
- }
-# endif
-
- cd = iconv_open (to_codeset, from_codeset);
-
- if (STRCASEEQ (from_codeset, "UTF-8", 'U','T','F','-','8',0,0,0,0))
- cd1 = (iconv_t)(-1);
- else
- {
- cd1 = iconv_open ("UTF-8", from_codeset);
- if (cd1 == (iconv_t)(-1))
- {
- int saved_errno = errno;
- if (cd != (iconv_t)(-1))
- iconv_close (cd);
- errno = saved_errno;
- return -1;
- }
- }
-
- if (STRCASEEQ (to_codeset, "UTF-8", 'U','T','F','-','8',0,0,0,0)
-# if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) \
- && !defined __UCLIBC__) \
- || _LIBICONV_VERSION >= 0x0105
- || c_strcasecmp (to_codeset, "UTF-8//TRANSLIT") == 0
-# endif
- )
- cd2 = (iconv_t)(-1);
- else
- {
- cd2 = iconv_open (to_codeset, "UTF-8");
- if (cd2 == (iconv_t)(-1))
- {
- int saved_errno = errno;
- if (cd1 != (iconv_t)(-1))
- iconv_close (cd1);
- if (cd != (iconv_t)(-1))
- iconv_close (cd);
- errno = saved_errno;
- return -1;
- }
- }
-
- cdp->cd = cd;
- cdp->cd1 = cd1;
- cdp->cd2 = cd2;
- return 0;
-}
-
-int
-iconveh_close (const iconveh_t *cd)
-{
- if (cd->cd2 != (iconv_t)(-1) && iconv_close (cd->cd2) < 0)
- {
- /* Return -1, but preserve the errno from iconv_close. */
- int saved_errno = errno;
- if (cd->cd1 != (iconv_t)(-1))
- iconv_close (cd->cd1);
- if (cd->cd != (iconv_t)(-1))
- iconv_close (cd->cd);
- errno = saved_errno;
- return -1;
- }
- if (cd->cd1 != (iconv_t)(-1) && iconv_close (cd->cd1) < 0)
- {
- /* Return -1, but preserve the errno from iconv_close. */
- int saved_errno = errno;
- if (cd->cd != (iconv_t)(-1))
- iconv_close (cd->cd);
- errno = saved_errno;
- return -1;
- }
- if (cd->cd != (iconv_t)(-1) && iconv_close (cd->cd) < 0)
- return -1;
- return 0;
-}
-
-/* iconv_carefully is like iconv, except that it stops as soon as it encounters
- a conversion error, and it returns in *INCREMENTED a boolean telling whether
- it has incremented the input pointers past the error location. */
-# if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__)
-/* Irix iconv() inserts a NUL byte if it cannot convert.
- NetBSD iconv() inserts a question mark if it cannot convert.
- Only GNU libiconv and GNU libc are known to prefer to fail rather
- than doing a lossy conversion. */
-static size_t
-iconv_carefully (iconv_t cd,
- const char **inbuf, size_t *inbytesleft,
- char **outbuf, size_t *outbytesleft,
- bool *incremented)
-{
- const char *inptr = *inbuf;
- const char *inptr_end = inptr + *inbytesleft;
- char *outptr = *outbuf;
- size_t outsize = *outbytesleft;
- const char *inptr_before;
- size_t res;
-
- do
- {
- size_t insize;
-
- inptr_before = inptr;
- res = (size_t)(-1);
-
- for (insize = 1; inptr + insize <= inptr_end; insize++)
- {
- res = iconv (cd,
- (ICONV_CONST char **) &inptr, &insize,
- &outptr, &outsize);
- if (!(res == (size_t)(-1) && errno == EINVAL))
- break;
- /* iconv can eat up a shift sequence but give EINVAL while attempting
- to convert the first character. E.g. libiconv does this. */
- if (inptr > inptr_before)
- {
- res = 0;
- break;
- }
- }
-
- if (res == 0)
- {
- *outbuf = outptr;
- *outbytesleft = outsize;
- }
- }
- while (res == 0 && inptr < inptr_end);
-
- *inbuf = inptr;
- *inbytesleft = inptr_end - inptr;
- if (res != (size_t)(-1) && res > 0)
- {
- /* iconv() has already incremented INPTR. We cannot go back to a
- previous INPTR, otherwise the state inside CD would become invalid,
- if FROM_CODESET is a stateful encoding. So, tell the caller that
- *INBUF has already been incremented. */
- *incremented = (inptr > inptr_before);
- errno = EILSEQ;
- return (size_t)(-1);
- }
- else
- {
- *incremented = false;
- return res;
- }
-}
-# else
-# define iconv_carefully(cd, inbuf, inbytesleft, outbuf, outbytesleft,
incremented) \
- (*(incremented) = false, \
- iconv (cd, (ICONV_CONST char **) (inbuf), inbytesleft, outbuf,
outbytesleft))
-# endif
-
-/* iconv_carefully_1 is like iconv_carefully, except that it stops after
- converting one character or one shift sequence. */
-static size_t
-iconv_carefully_1 (iconv_t cd,
- const char **inbuf, size_t *inbytesleft,
- char **outbuf, size_t *outbytesleft,
- bool *incremented)
-{
- const char *inptr_before = *inbuf;
- const char *inptr = inptr_before;
- const char *inptr_end = inptr_before + *inbytesleft;
- char *outptr = *outbuf;
- size_t outsize = *outbytesleft;
- size_t res = (size_t)(-1);
- size_t insize;
-
- for (insize = 1; inptr_before + insize <= inptr_end; insize++)
- {
- inptr = inptr_before;
- res = iconv (cd,
- (ICONV_CONST char **) &inptr, &insize,
- &outptr, &outsize);
- if (!(res == (size_t)(-1) && errno == EINVAL))
- break;
- /* iconv can eat up a shift sequence but give EINVAL while attempting
- to convert the first character. E.g. libiconv does this. */
- if (inptr > inptr_before)
- {
- res = 0;
- break;
- }
- }
-
- *inbuf = inptr;
- *inbytesleft = inptr_end - inptr;
-# if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__)
- /* Irix iconv() inserts a NUL byte if it cannot convert.
- NetBSD iconv() inserts a question mark if it cannot convert.
- Only GNU libiconv and GNU libc are known to prefer to fail rather
- than doing a lossy conversion. */
- if (res != (size_t)(-1) && res > 0)
- {
- /* iconv() has already incremented INPTR. We cannot go back to a
- previous INPTR, otherwise the state inside CD would become invalid,
- if FROM_CODESET is a stateful encoding. So, tell the caller that
- *INBUF has already been incremented. */
- *incremented = (inptr > inptr_before);
- errno = EILSEQ;
- return (size_t)(-1);
- }
-# endif
-
- if (res != (size_t)(-1))
- {
- *outbuf = outptr;
- *outbytesleft = outsize;
- }
- *incremented = false;
- return res;
-}
-
-/* utf8conv_carefully is like iconv, except that
- - it converts from UTF-8 to UTF-8,
- - it stops as soon as it encounters a conversion error, and it returns
- in *INCREMENTED a boolean telling whether it has incremented the input
- pointers past the error location,
- - if one_character_only is true, it stops after converting one
- character. */
-static size_t
-utf8conv_carefully (bool one_character_only,
- const char **inbuf, size_t *inbytesleft,
- char **outbuf, size_t *outbytesleft,
- bool *incremented)
-{
- const char *inptr = *inbuf;
- size_t insize = *inbytesleft;
- char *outptr = *outbuf;
- size_t outsize = *outbytesleft;
- size_t res;
-
- res = 0;
- do
- {
- ucs4_t uc;
- int n;
- int m;
-
- n = u8_mbtoucr (&uc, (const uint8_t *) inptr, insize);
- if (n < 0)
- {
- errno = (n == -2 ? EINVAL : EILSEQ);
- n = u8_mbtouc (&uc, (const uint8_t *) inptr, insize);
- inptr += n;
- insize -= n;
- res = (size_t)(-1);
- *incremented = true;
- break;
- }
- if (outsize == 0)
- {
- errno = E2BIG;
- res = (size_t)(-1);
- *incremented = false;
- break;
- }
- m = u8_uctomb ((uint8_t *) outptr, uc, outsize);
- if (m == -2)
- {
- errno = E2BIG;
- res = (size_t)(-1);
- *incremented = false;
- break;
- }
- inptr += n;
- insize -= n;
- if (m == -1)
- {
- errno = EILSEQ;
- res = (size_t)(-1);
- *incremented = true;
- break;
- }
- outptr += m;
- outsize -= m;
- }
- while (!one_character_only && insize > 0);
-
- *inbuf = inptr;
- *inbytesleft = insize;
- *outbuf = outptr;
- *outbytesleft = outsize;
- return res;
-}
-
-static int
-mem_cd_iconveh_internal (const char *src, size_t srclen,
- iconv_t cd, iconv_t cd1, iconv_t cd2,
- enum iconv_ilseq_handler handler,
- size_t extra_alloc,
- size_t *offsets,
- char **resultp, size_t *lengthp)
-{
- /* When a conversion error occurs, we cannot start using CD1 and CD2 at
- this point: FROM_CODESET may be a stateful encoding like ISO-2022-KR.
- Instead, we have to start afresh from the beginning of SRC. */
- /* Use a temporary buffer, so that for small strings, a single malloc()
- call will be sufficient. */
-# define tmpbufsize 4096
- /* The alignment is needed when converting e.g. to glibc's WCHAR_T or
- libiconv's UCS-4-INTERNAL encoding. */
- union { unsigned int align; char buf[tmpbufsize]; } tmp;
-# define tmpbuf tmp.buf
-
- char *initial_result;
- char *result;
- size_t allocated;
- size_t length;
- size_t last_length = (size_t)(-1); /* only needed if offsets != NULL */
-
- if (*resultp != NULL && *lengthp >= sizeof (tmpbuf))
- {
- initial_result = *resultp;
- allocated = *lengthp;
- }
- else
- {
- initial_result = tmpbuf;
- allocated = sizeof (tmpbuf);
- }
- result = initial_result;
-
- /* Test whether a direct conversion is possible at all. */
- if (cd == (iconv_t)(-1))
- goto indirectly;
-
- if (offsets != NULL)
- {
- size_t i;
-
- for (i = 0; i < srclen; i++)
- offsets[i] = (size_t)(-1);
-
- last_length = (size_t)(-1);
- }
- length = 0;
-
- /* First, try a direct conversion, and see whether a conversion error
- occurs at all. */
- {
- const char *inptr = src;
- size_t insize = srclen;
-
- /* Avoid glibc-2.1 bug and Solaris 2.7-2.9 bug. */
-# if defined _LIBICONV_VERSION \
- || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
- || defined __sun)
- /* Set to the initial state. */
- iconv (cd, NULL, NULL, NULL, NULL);
-# endif
-
- while (insize > 0)
- {
- char *outptr = result + length;
- size_t outsize = allocated - extra_alloc - length;
- bool incremented;
- size_t res;
- bool grow;
-
- if (offsets != NULL)
- {
- if (length != last_length) /* ensure that offset[] be increasing */
- {
- offsets[inptr - src] = length;
- last_length = length;
- }
- res = iconv_carefully_1 (cd,
- &inptr, &insize,
- &outptr, &outsize,
- &incremented);
- }
- else
- /* Use iconv_carefully instead of iconv here, because:
- - If TO_CODESET is UTF-8, we can do the error handling in this
- loop, no need for a second loop,
- - With iconv() implementations other than GNU libiconv and GNU
- libc, if we use iconv() in a big swoop, checking for an E2BIG
- return, we lose the number of irreversible conversions. */
- res = iconv_carefully (cd,
- &inptr, &insize,
- &outptr, &outsize,
- &incremented);
-
- length = outptr - result;
- grow = (length + extra_alloc > allocated / 2);
- if (res == (size_t)(-1))
- {
- if (errno == E2BIG)
- grow = true;
- else if (errno == EINVAL)
- break;
- else if (errno == EILSEQ && handler != iconveh_error)
- {
- if (cd2 == (iconv_t)(-1))
- {
- /* TO_CODESET is UTF-8. */
- /* Error handling can produce up to 1 or 3 bytes of
- output. */
- size_t extra_need =
- (handler == iconveh_replacement_character ? 3 : 1);
- if (length + extra_need + extra_alloc > allocated)
- {
- char *memory;
-
- allocated = 2 * allocated;
- if (length + extra_need + extra_alloc > allocated)
- allocated = 2 * allocated;
- if (length + extra_need + extra_alloc > allocated)
- abort ();
- if (result == initial_result)
- memory = (char *) malloc (allocated);
- else
- memory = (char *) realloc (result, allocated);
- if (memory == NULL)
- {
- if (result != initial_result)
- free (result);
- errno = ENOMEM;
- return -1;
- }
- if (result == initial_result)
- memcpy (memory, initial_result, length);
- result = memory;
- grow = false;
- }
- /* The input is invalid in FROM_CODESET. Eat up one byte
- and emit a replacement character or a question mark. */
- if (!incremented)
- {
- if (insize == 0)
- abort ();
- inptr++;
- insize--;
- }
- if (handler == iconveh_replacement_character)
- {
- /* U+FFFD in UTF-8 encoding. */
- result[length+0] = '\357';
- result[length+1] = '\277';
- result[length+2] = '\275';
- length += 3;
- }
- else
- {
- result[length] = '?';
- length++;
- }
- }
- else
- goto indirectly;
- }
- else
- {
- if (result != initial_result)
- free (result);
- return -1;
- }
- }
- if (insize == 0)
- break;
- if (grow)
- {
- char *memory;
-
- allocated = 2 * allocated;
- if (result == initial_result)
- memory = (char *) malloc (allocated);
- else
- memory = (char *) realloc (result, allocated);
- if (memory == NULL)
- {
- if (result != initial_result)
- free (result);
- errno = ENOMEM;
- return -1;
- }
- if (result == initial_result)
- memcpy (memory, initial_result, length);
- result = memory;
- }
- }
- }
-
- /* Now get the conversion state back to the initial state.
- But avoid glibc-2.1 bug and Solaris 2.7 bug. */
-#if defined _LIBICONV_VERSION \
- || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
- || defined __sun)
- for (;;)
- {
- char *outptr = result + length;
- size_t outsize = allocated - extra_alloc - length;
- size_t res;
-
- res = iconv (cd, NULL, NULL, &outptr, &outsize);
- length = outptr - result;
- if (res == (size_t)(-1))
- {
- if (errno == E2BIG)
- {
- char *memory;
-
- allocated = 2 * allocated;
- if (result == initial_result)
- memory = (char *) malloc (allocated);
- else
- memory = (char *) realloc (result, allocated);
- if (memory == NULL)
- {
- if (result != initial_result)
- free (result);
- errno = ENOMEM;
- return -1;
- }
- if (result == initial_result)
- memcpy (memory, initial_result, length);
- result = memory;
- }
- else
- {
- if (result != initial_result)
- free (result);
- return -1;
- }
- }
- else
- break;
- }
-#endif
-
- /* The direct conversion succeeded. */
- goto done;
-
- indirectly:
- /* The direct conversion failed.
- Use a conversion through UTF-8. */
- if (offsets != NULL)
- {
- size_t i;
-
- for (i = 0; i < srclen; i++)
- offsets[i] = (size_t)(-1);
-
- last_length = (size_t)(-1);
- }
- length = 0;
- {
- const bool slowly = (offsets != NULL || handler == iconveh_error);
-# define utf8bufsize 4096 /* may also be smaller or larger than tmpbufsize */
- char utf8buf[utf8bufsize + 3];
- size_t utf8len = 0;
- const char *in1ptr = src;
- size_t in1size = srclen;
- bool do_final_flush1 = true;
- bool do_final_flush2 = true;
-
- /* Avoid glibc-2.1 bug and Solaris 2.7-2.9 bug. */
-# if defined _LIBICONV_VERSION \
- || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
- || defined __sun)
- /* Set to the initial state. */
- if (cd1 != (iconv_t)(-1))
- iconv (cd1, NULL, NULL, NULL, NULL);
- if (cd2 != (iconv_t)(-1))
- iconv (cd2, NULL, NULL, NULL, NULL);
-# endif
-
- while (in1size > 0 || do_final_flush1 || utf8len > 0 || do_final_flush2)
- {
- char *out1ptr = utf8buf + utf8len;
- size_t out1size = utf8bufsize - utf8len;
- bool incremented1;
- size_t res1;
- int errno1;
-
- /* Conversion step 1: from FROM_CODESET to UTF-8. */
- if (in1size > 0)
- {
- if (offsets != NULL
- && length != last_length) /* ensure that offset[] be
increasing */
- {
- offsets[in1ptr - src] = length;
- last_length = length;
- }
- if (cd1 != (iconv_t)(-1))
- {
- if (slowly)
- res1 = iconv_carefully_1 (cd1,
- &in1ptr, &in1size,
- &out1ptr, &out1size,
- &incremented1);
- else
- res1 = iconv_carefully (cd1,
- &in1ptr, &in1size,
- &out1ptr, &out1size,
- &incremented1);
- }
- else
- {
- /* FROM_CODESET is UTF-8. */
- res1 = utf8conv_carefully (slowly,
- &in1ptr, &in1size,
- &out1ptr, &out1size,
- &incremented1);
- }
- }
- else if (do_final_flush1)
- {
- /* Now get the conversion state of CD1 back to the initial state.
- But avoid glibc-2.1 bug and Solaris 2.7 bug. */
-# if defined _LIBICONV_VERSION \
- || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
- || defined __sun)
- if (cd1 != (iconv_t)(-1))
- res1 = iconv (cd1, NULL, NULL, &out1ptr, &out1size);
- else
-# endif
- res1 = 0;
- do_final_flush1 = false;
- incremented1 = true;
- }
- else
- {
- res1 = 0;
- incremented1 = true;
- }
- if (res1 == (size_t)(-1)
- && !(errno == E2BIG || errno == EINVAL || errno == EILSEQ))
- {
- if (result != initial_result)
- free (result);
- return -1;
- }
- if (res1 == (size_t)(-1)
- && errno == EILSEQ && handler != iconveh_error)
- {
- /* The input is invalid in FROM_CODESET. Eat up one byte and
- emit a U+FFFD character or a question mark. Room for this
- character was allocated at the end of utf8buf. */
- if (!incremented1)
- {
- if (in1size == 0)
- abort ();
- in1ptr++;
- in1size--;
- }
- if (handler == iconveh_replacement_character)
- {
- /* U+FFFD in UTF-8 encoding. */
- out1ptr[0] = '\357';
- out1ptr[1] = '\277';
- out1ptr[2] = '\275';
- out1ptr += 3;
- }
- else
- *out1ptr++ = '?';
- res1 = 0;
- }
- errno1 = errno;
- utf8len = out1ptr - utf8buf;
-
- if (offsets != NULL
- || in1size == 0
- || utf8len > utf8bufsize / 2
- || (res1 == (size_t)(-1) && errno1 == E2BIG))
- {
- /* Conversion step 2: from UTF-8 to TO_CODESET. */
- const char *in2ptr = utf8buf;
- size_t in2size = utf8len;
-
- while (in2size > 0
- || (in1size == 0 && !do_final_flush1 && do_final_flush2))
- {
- char *out2ptr = result + length;
- size_t out2size = allocated - extra_alloc - length;
- bool incremented2;
- size_t res2;
- bool grow;
-
- if (in2size > 0)
- {
- if (cd2 != (iconv_t)(-1))
- res2 = iconv_carefully (cd2,
- &in2ptr, &in2size,
- &out2ptr, &out2size,
- &incremented2);
- else
- /* TO_CODESET is UTF-8. */
- res2 = utf8conv_carefully (false,
- &in2ptr, &in2size,
- &out2ptr, &out2size,
- &incremented2);
- }
- else /* in1size == 0 && !do_final_flush1
- && in2size == 0 && do_final_flush2 */
- {
- /* Now get the conversion state of CD1 back to the initial
- state. But avoid glibc-2.1 bug and Solaris 2.7 bug. */
-# if defined _LIBICONV_VERSION \
- || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
- || defined __sun)
- if (cd2 != (iconv_t)(-1))
- res2 = iconv (cd2, NULL, NULL, &out2ptr, &out2size);
- else
-# endif
- res2 = 0;
- do_final_flush2 = false;
- incremented2 = true;
- }
-
- length = out2ptr - result;
- grow = (length + extra_alloc > allocated / 2);
- if (res2 == (size_t)(-1))
- {
- if (errno == E2BIG)
- grow = true;
- else if (errno == EINVAL)
- break;
- else if (errno == EILSEQ && handler != iconveh_error)
- {
- /* Error handling can produce up to 10 bytes of UTF-8
- output. But TO_CODESET may be UCS-2, UTF-16 or
- UCS-4, so use CD2 here as well. */
- char scratchbuf[10];
- size_t scratchlen;
- ucs4_t uc;
- const char *inptr;
- size_t insize;
- size_t res;
-
- if (incremented2)
- {
- if (u8_prev (&uc, (const uint8_t *) in2ptr,
- (const uint8_t *) utf8buf)
- == NULL)
- abort ();
- }
- else
- {
- int n;
- if (in2size == 0)
- abort ();
- n = u8_mbtouc_unsafe (&uc, (const uint8_t *)
in2ptr,
- in2size);
- in2ptr += n;
- in2size -= n;
- }
-
- if (handler == iconveh_escape_sequence)
- {
- static char const hex[16] = "0123456789ABCDEF";
- scratchlen = 0;
- scratchbuf[scratchlen++] = '\\';
- if (uc < 0x10000)
- scratchbuf[scratchlen++] = 'u';
- else
- {
- scratchbuf[scratchlen++] = 'U';
- scratchbuf[scratchlen++] = hex[(uc>>28) & 15];
- scratchbuf[scratchlen++] = hex[(uc>>24) & 15];
- scratchbuf[scratchlen++] = hex[(uc>>20) & 15];
- scratchbuf[scratchlen++] = hex[(uc>>16) & 15];
- }
- scratchbuf[scratchlen++] = hex[(uc>>12) & 15];
- scratchbuf[scratchlen++] = hex[(uc>>8) & 15];
- scratchbuf[scratchlen++] = hex[(uc>>4) & 15];
- scratchbuf[scratchlen++] = hex[uc & 15];
- }
- else if (handler == iconveh_replacement_character)
- {
- /* U+FFFD in UTF-8 encoding. */
- scratchbuf[0] = '\357';
- scratchbuf[1] = '\277';
- scratchbuf[2] = '\275';
- scratchlen = 3;
- }
- else
- {
- scratchbuf[0] = '?';
- scratchlen = 1;
- }
-
- inptr = scratchbuf;
- insize = scratchlen;
- if (cd2 != (iconv_t)(-1))
- {
- char *out2ptr_try = out2ptr;
- size_t out2size_try = out2size;
- res = iconv (cd2,
- (ICONV_CONST char **) &inptr, &insize,
- &out2ptr_try, &out2size_try);
- if (handler == iconveh_replacement_character
- && (res == (size_t)(-1)
- ? errno == EILSEQ
- /* FreeBSD iconv(), NetBSD iconv(), and
- Solaris 11 iconv() insert a '?' if they
- cannot convert. This is what we want.
- But IRIX iconv() inserts a NUL byte if
it
- cannot convert.
- And musl libc iconv() inserts a '*' if
it
- cannot convert. */
- : (res > 0
- && !(out2ptr_try - out2ptr == 1
- && *out2ptr == '?'))))
- {
- /* The iconv() call failed.
- U+FFFD can't be converted to TO_CODESET.
- Use '?' instead. */
- scratchbuf[0] = '?';
- scratchlen = 1;
- inptr = scratchbuf;
- insize = scratchlen;
- res = iconv (cd2,
- (ICONV_CONST char **) &inptr,
&insize,
- &out2ptr, &out2size);
- }
- else
- {
- /* Accept the results of the iconv() call. */
- out2ptr = out2ptr_try;
- out2size = out2size_try;
- res = 0;
- }
- }
- else
- {
- /* TO_CODESET is UTF-8. */
- if (out2size >= insize)
- {
- memcpy (out2ptr, inptr, insize);
- out2ptr += insize;
- out2size -= insize;
- inptr += insize;
- insize = 0;
- res = 0;
- }
- else
- {
- errno = E2BIG;
- res = (size_t)(-1);
- }
- }
- length = out2ptr - result;
- if (res == (size_t)(-1) && errno == E2BIG)
- {
- char *memory;
-
- allocated = 2 * allocated;
- if (length + 1 + extra_alloc > allocated)
- abort ();
- if (result == initial_result)
- memory = (char *) malloc (allocated);
- else
- memory = (char *) realloc (result, allocated);
- if (memory == NULL)
- {
- if (result != initial_result)
- free (result);
- errno = ENOMEM;
- return -1;
- }
- if (result == initial_result)
- memcpy (memory, initial_result, length);
- result = memory;
- grow = false;
-
- out2ptr = result + length;
- out2size = allocated - extra_alloc - length;
- if (cd2 != (iconv_t)(-1))
- res = iconv (cd2,
- (ICONV_CONST char **) &inptr,
- &insize,
- &out2ptr, &out2size);
- else
- {
- /* TO_CODESET is UTF-8. */
- if (!(out2size >= insize))
- abort ();
- memcpy (out2ptr, inptr, insize);
- out2ptr += insize;
- out2size -= insize;
- inptr += insize;
- insize = 0;
- res = 0;
- }
- length = out2ptr - result;
- }
-# if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__)
- /* IRIX iconv() inserts a NUL byte if it cannot
convert.
- FreeBSD iconv(), NetBSD iconv(), and Solaris 11
- iconv() insert a '?' if they cannot convert.
- musl libc iconv() inserts a '*' if it cannot
convert.
- Only GNU libiconv and GNU libc are known to prefer
- to fail rather than doing a lossy conversion. */
- if (res != (size_t)(-1) && res > 0)
- {
- errno = EILSEQ;
- res = (size_t)(-1);
- }
-# endif
- if (res == (size_t)(-1))
- {
- /* Failure converting the ASCII replacement. */
- if (result != initial_result)
- free (result);
- return -1;
- }
- }
- else
- {
- if (result != initial_result)
- free (result);
- return -1;
- }
- }
- if (!(in2size > 0
- || (in1size == 0 && !do_final_flush1 &&
do_final_flush2)))
- break;
- if (grow)
- {
- char *memory;
-
- allocated = 2 * allocated;
- if (result == initial_result)
- memory = (char *) malloc (allocated);
- else
- memory = (char *) realloc (result, allocated);
- if (memory == NULL)
- {
- if (result != initial_result)
- free (result);
- errno = ENOMEM;
- return -1;
- }
- if (result == initial_result)
- memcpy (memory, initial_result, length);
- result = memory;
- }
- }
-
- /* Move the remaining bytes to the beginning of utf8buf. */
- if (in2size > 0)
- memmove (utf8buf, in2ptr, in2size);
- utf8len = in2size;
- }
-
- if (res1 == (size_t)(-1))
- {
- if (errno1 == EINVAL)
- in1size = 0;
- else if (errno1 == EILSEQ)
- {
- if (result != initial_result)
- free (result);
- errno = errno1;
- return -1;
- }
- }
- }
-# undef utf8bufsize
- }
-
- done:
- /* Now the final memory allocation. */
- if (result == tmpbuf)
- {
- size_t memsize = length + extra_alloc;
-
- if (*resultp != NULL && *lengthp >= memsize)
- result = *resultp;
- else
- {
- char *memory;
-
- memory = (char *) malloc (memsize > 0 ? memsize : 1);
- if (memory != NULL)
- result = memory;
- else
- {
- errno = ENOMEM;
- return -1;
- }
- }
- memcpy (result, tmpbuf, length);
- }
- else if (result != *resultp && length + extra_alloc < allocated)
- {
- /* Shrink the allocated memory if possible. */
- size_t memsize = length + extra_alloc;
- char *memory;
-
- memory = (char *) realloc (result, memsize > 0 ? memsize : 1);
- if (memory != NULL)
- result = memory;
- }
- *resultp = result;
- *lengthp = length;
- return 0;
-# undef tmpbuf
-# undef tmpbufsize
-}
-
-int
-mem_cd_iconveh (const char *src, size_t srclen,
- const iconveh_t *cd,
- enum iconv_ilseq_handler handler,
- size_t *offsets,
- char **resultp, size_t *lengthp)
-{
- return mem_cd_iconveh_internal (src, srclen, cd->cd, cd->cd1, cd->cd2,
- handler, 0, offsets, resultp, lengthp);
-}
-
-char *
-str_cd_iconveh (const char *src,
- const iconveh_t *cd,
- enum iconv_ilseq_handler handler)
-{
- /* For most encodings, a trailing NUL byte in the input will be converted
- to a trailing NUL byte in the output. But not for UTF-7. So that this
- function is usable for UTF-7, we have to exclude the NUL byte from the
- conversion and add it by hand afterwards. */
- char *result = NULL;
- size_t length = 0;
- int retval = mem_cd_iconveh_internal (src, strlen (src),
- cd->cd, cd->cd1, cd->cd2, handler, 1,
- NULL, &result, &length);
-
- if (retval < 0)
- {
- free (result);
- return NULL;
- }
-
- /* Add the terminating NUL byte. */
- result[length] = '\0';
-
- return result;
-}
-
-#endif
-
-int
-mem_iconveh (const char *src, size_t srclen,
- const char *from_codeset, const char *to_codeset,
- enum iconv_ilseq_handler handler,
- size_t *offsets,
- char **resultp, size_t *lengthp)
-{
- if (srclen == 0)
- {
- /* Nothing to convert. */
- *lengthp = 0;
- return 0;
- }
- else if (offsets == NULL && c_strcasecmp (from_codeset, to_codeset) == 0)
- {
- char *result;
-
- if (*resultp != NULL && *lengthp >= srclen)
- result = *resultp;
- else
- {
- result = (char *) malloc (srclen);
- if (result == NULL)
- {
- errno = ENOMEM;
- return -1;
- }
- }
- memcpy (result, src, srclen);
- *resultp = result;
- *lengthp = srclen;
- return 0;
- }
- else
- {
-#if HAVE_ICONV
- iconveh_t cd;
- char *result;
- size_t length;
- int retval;
-
- if (iconveh_open (to_codeset, from_codeset, &cd) < 0)
- return -1;
-
- result = *resultp;
- length = *lengthp;
- retval = mem_cd_iconveh (src, srclen, &cd, handler, offsets,
- &result, &length);
-
- if (retval < 0)
- {
- /* Close cd, but preserve the errno from str_cd_iconv. */
- int saved_errno = errno;
- iconveh_close (&cd);
- errno = saved_errno;
- }
- else
- {
- if (iconveh_close (&cd) < 0)
- {
- if (result != *resultp)
- free (result);
- return -1;
- }
- *resultp = result;
- *lengthp = length;
- }
- return retval;
-#else
- /* This is a different error code than if iconv_open existed but didn't
- support from_codeset and to_codeset, so that the caller can emit
- an error message such as
- "iconv() is not supported. Installing GNU libiconv and
- then reinstalling this package would fix this." */
- errno = ENOSYS;
- return -1;
-#endif
- }
-}
-
-char *
-str_iconveh (const char *src,
- const char *from_codeset, const char *to_codeset,
- enum iconv_ilseq_handler handler)
-{
- if (*src == '\0' || c_strcasecmp (from_codeset, to_codeset) == 0)
- {
- char *result = strdup (src);
-
- if (result == NULL)
- errno = ENOMEM;
- return result;
- }
- else
- {
-#if HAVE_ICONV
- iconveh_t cd;
- char *result;
-
- if (iconveh_open (to_codeset, from_codeset, &cd) < 0)
- return NULL;
-
- result = str_cd_iconveh (src, &cd, handler);
-
- if (result == NULL)
- {
- /* Close cd, but preserve the errno from str_cd_iconv. */
- int saved_errno = errno;
- iconveh_close (&cd);
- errno = saved_errno;
- }
- else
- {
- if (iconveh_close (&cd) < 0)
- {
- free (result);
- return NULL;
- }
- }
- return result;
-#else
- /* This is a different error code than if iconv_open existed but didn't
- support from_codeset and to_codeset, so that the caller can emit
- an error message such as
- "iconv() is not supported. Installing GNU libiconv and
- then reinstalling this package would fix this." */
- errno = ENOSYS;
- return NULL;
-#endif
- }
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/striconveh.h
b/tp/Texinfo/XS/gnulib/lib/striconveh.h
deleted file mode 100644
index dee51eb170..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/striconveh.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/* Character set conversion with error handling.
- Copyright (C) 2001-2007, 2009-2024 Free Software Foundation, Inc.
- Written by Bruno Haible and Simon Josefsson.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _STRICONVEH_H
-#define _STRICONVEH_H
-
-/* This file uses _GL_ATTRIBUTE_MALLOC, HAVE_ICONV. */
-#if !_GL_CONFIG_H_INCLUDED
- #error "Please include config.h first."
-#endif
-
-#include <stdlib.h>
-#if HAVE_ICONV
-#include <iconv.h>
-#endif
-
-#include "iconveh.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#if HAVE_ICONV
-
-/* A conversion descriptor for use by the iconveh functions. */
-typedef struct
- {
- /* Conversion descriptor from FROM_CODESET to TO_CODESET, or (iconv_t)(-1)
- if the system does not support a direct conversion from FROM_CODESET to
- TO_CODESET. */
- iconv_t cd;
- /* Conversion descriptor from FROM_CODESET to UTF-8 (or (iconv_t)(-1) if
- FROM_CODESET is UTF-8). */
- iconv_t cd1;
- /* Conversion descriptor from UTF-8 to TO_CODESET (or (iconv_t)(-1) if
- TO_CODESET is UTF-8). */
- iconv_t cd2;
- }
- iconveh_t;
-
-/* Open a conversion descriptor for use by the iconveh functions.
- If successful, fills *CDP and returns 0. Upon failure, return -1 with errno
- set. */
-extern int
- iconveh_open (const char *to_codeset, const char *from_codeset,
- iconveh_t *cdp);
-
-/* Close a conversion descriptor created by iconveh_open().
- Return value: 0 if successful, otherwise -1 and errno set. */
-extern int
- iconveh_close (const iconveh_t *cd);
-
-/* Convert an entire string from one encoding to another, using iconv.
- The original string is at [SRC,...,SRC+SRCLEN-1].
- CD points to the conversion descriptor from FROMCODE to TOCODE, created by
- the function iconveh_open().
- If OFFSETS is not NULL, it should point to an array of SRCLEN integers; this
- array is filled with offsets into the result, i.e. the character starting
- at SRC[i] corresponds to the character starting at (*RESULTP)[OFFSETS[i]],
- and other offsets are set to (size_t)(-1).
- *RESULTP and *LENGTH should initially be a scratch buffer and its size,
- or *RESULTP can initially be NULL.
- May erase the contents of the memory at *RESULTP.
- Return value: 0 if successful, otherwise -1 and errno set.
- If successful: The resulting string is stored in *RESULTP and its length
- in *LENGTHP. *RESULTP is set to a freshly allocated memory block, or is
- unchanged if no dynamic memory allocation was necessary. */
-extern int
- mem_cd_iconveh (const char *src, size_t srclen,
- const iconveh_t *cd,
- enum iconv_ilseq_handler handler,
- size_t *offsets,
- char **resultp, size_t *lengthp);
-
-/* Convert an entire string from one encoding to another, using iconv.
- The original string is the NUL-terminated string starting at SRC.
- CD points to the conversion descriptor from FROMCODE to TOCODE, created by
- the function iconveh_open().
- Both the "from" and the "to" encoding must use a single NUL byte at the end
- of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32).
- Allocate a malloced memory block for the result.
- Return value: the freshly allocated resulting NUL-terminated string if
- successful, otherwise NULL and errno set. */
-extern char *
- str_cd_iconveh (const char *src,
- const iconveh_t *cd,
- enum iconv_ilseq_handler handler)
- _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
-
-#endif
-
-/* Convert an entire string from one encoding to another, using iconv.
- The original string is at [SRC,...,SRC+SRCLEN-1].
- If OFFSETS is not NULL, it should point to an array of SRCLEN integers; this
- array is filled with offsets into the result, i.e. the character starting
- at SRC[i] corresponds to the character starting at (*RESULTP)[OFFSETS[i]],
- and other offsets are set to (size_t)(-1).
- *RESULTP and *LENGTH should initially be a scratch buffer and its size,
- or *RESULTP can initially be NULL.
- May erase the contents of the memory at *RESULTP.
- Return value: 0 if successful, otherwise -1 and errno set.
- If successful: The resulting string is stored in *RESULTP and its length
- in *LENGTHP. *RESULTP is set to a freshly allocated memory block, or is
- unchanged if no dynamic memory allocation was necessary. */
-extern int
- mem_iconveh (const char *src, size_t srclen,
- const char *from_codeset, const char *to_codeset,
- enum iconv_ilseq_handler handler,
- size_t *offsets,
- char **resultp, size_t *lengthp);
-
-/* Convert an entire string from one encoding to another, using iconv.
- The original string is the NUL-terminated string starting at SRC.
- Both the "from" and the "to" encoding must use a single NUL byte at the
- end of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32).
- Allocate a malloced memory block for the result.
- Return value: the freshly allocated resulting NUL-terminated string if
- successful, otherwise NULL and errno set. */
-extern char *
- str_iconveh (const char *src,
- const char *from_codeset, const char *to_codeset,
- enum iconv_ilseq_handler handler)
- _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _STRICONVEH_H */
diff --git a/tp/Texinfo/XS/gnulib/lib/striconveha.c
b/tp/Texinfo/XS/gnulib/lib/striconveha.c
deleted file mode 100644
index 19b6700a0e..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/striconveha.c
+++ /dev/null
@@ -1,357 +0,0 @@
-/* Character set conversion with error handling and autodetection.
- Copyright (C) 2002, 2005, 2007, 2009-2024 Free Software Foundation, Inc.
- Written by Bruno Haible.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "striconveha.h"
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "malloca.h"
-#include "c-strcase.h"
-#include "striconveh.h"
-
-#define SIZEOF(a) (sizeof(a)/sizeof(a[0]))
-
-
-/* Autodetection list. */
-
-struct autodetect_alias
-{
- struct autodetect_alias *next;
- const char *name;
- const char * const *encodings_to_try;
-};
-
-static const char * const autodetect_utf8_try[] =
-{
- /* Try UTF-8 first. There are very few ISO-8859-1 inputs that would
- be valid UTF-8, but many UTF-8 inputs are valid ISO-8859-1. */
- "UTF-8", "ISO-8859-1",
- NULL
-};
-static const char * const autodetect_jp_try[] =
-{
- /* Try 7-bit encoding first. If the input contains bytes >= 0x80,
- it will fail.
- Try EUC-JP next. Short SHIFT_JIS inputs may come out wrong. This
- is unavoidable. People will condemn SHIFT_JIS.
- If we tried SHIFT_JIS first, then some short EUC-JP inputs would
- come out wrong, and people would condemn EUC-JP and Unix, which
- would not be good.
- Finally try SHIFT_JIS. */
- "ISO-2022-JP-2", "EUC-JP", "SHIFT_JIS",
- NULL
-};
-static const char * const autodetect_kr_try[] =
-{
- /* Try 7-bit encoding first. If the input contains bytes >= 0x80,
- it will fail.
- Finally try EUC-KR. */
- "ISO-2022-KR", "EUC-KR",
- NULL
-};
-
-static struct autodetect_alias autodetect_predefined[] =
-{
- { &autodetect_predefined[1], "autodetect_utf8", autodetect_utf8_try },
- { &autodetect_predefined[2], "autodetect_jp", autodetect_jp_try },
- { NULL, "autodetect_kr", autodetect_kr_try }
-};
-
-static struct autodetect_alias *autodetect_list = &autodetect_predefined[0];
-static struct autodetect_alias **autodetect_list_end =
- &autodetect_predefined[SIZEOF(autodetect_predefined)-1].next;
-
-int
-uniconv_register_autodetect (const char *name,
- const char * const *try_in_order)
-{
- size_t namelen;
- size_t listlen;
- size_t memneed;
- size_t i;
-
- /* The TRY_IN_ORDER list must not be empty. */
- if (try_in_order[0] == NULL)
- {
- errno = EINVAL;
- return -1;
- }
-
- /* We must deep-copy NAME and TRY_IN_ORDER, because they may be allocated
- with dynamic extent. */
- namelen = strlen (name) + 1;
- memneed = sizeof (struct autodetect_alias) + namelen + sizeof (char *);
- for (i = 0; try_in_order[i] != NULL; i++)
- memneed += sizeof (char *) + strlen (try_in_order[i]) + 1;
- listlen = i;
-
- void *memory = malloc (memneed);
- if (memory != NULL)
- {
- struct autodetect_alias *new_alias = memory;
- memory = new_alias + 1;
-
- char const **new_try_in_order = memory;
- memory = new_try_in_order + listlen + 1;
-
- char *new_name = memcpy (memory, name, namelen);
- memory = new_name + namelen;
-
- for (i = 0; i < listlen; i++)
- {
- size_t len = strlen (try_in_order[i]) + 1;
- char *copy = memcpy (memory, try_in_order[i], len);
- new_try_in_order[i] = copy;
- memory = copy + len;
- }
- new_try_in_order[i] = NULL;
-
- /* Now insert the new alias. */
- new_alias->name = new_name;
- new_alias->encodings_to_try = new_try_in_order;
- new_alias->next = NULL;
- /* FIXME: Not multithread-safe. */
- *autodetect_list_end = new_alias;
- autodetect_list_end = &new_alias->next;
- return 0;
- }
- else
- {
- errno = ENOMEM;
- return -1;
- }
-}
-
-/* Like mem_iconveha, except no handling of transliteration. */
-static int
-mem_iconveha_notranslit (const char *src, size_t srclen,
- const char *from_codeset, const char *to_codeset,
- enum iconv_ilseq_handler handler,
- size_t *offsets,
- char **resultp, size_t *lengthp)
-{
- int retval = mem_iconveh (src, srclen, from_codeset, to_codeset, handler,
- offsets, resultp, lengthp);
- if (retval >= 0 || errno != EINVAL)
- return retval;
- else
- {
- struct autodetect_alias *alias;
-
- /* Unsupported from_codeset or to_codeset. Check whether the caller
- requested autodetection. */
- for (alias = autodetect_list; alias != NULL; alias = alias->next)
- if (strcmp (from_codeset, alias->name) == 0)
- {
- const char * const *encodings;
-
- if (handler != iconveh_error)
- {
- /* First try all encodings without any forgiving. */
- encodings = alias->encodings_to_try;
- do
- {
- retval = mem_iconveha_notranslit (src, srclen,
- *encodings, to_codeset,
- iconveh_error, offsets,
- resultp, lengthp);
- if (!(retval < 0 && errno == EILSEQ))
- return retval;
- encodings++;
- }
- while (*encodings != NULL);
- }
-
- encodings = alias->encodings_to_try;
- do
- {
- retval = mem_iconveha_notranslit (src, srclen,
- *encodings, to_codeset,
- handler, offsets,
- resultp, lengthp);
- if (!(retval < 0 && errno == EILSEQ))
- return retval;
- encodings++;
- }
- while (*encodings != NULL);
-
- /* Return the last call's result. */
- return -1;
- }
-
- /* It wasn't an autodetection name. */
- errno = EINVAL;
- return -1;
- }
-}
-
-int
-mem_iconveha (const char *src, size_t srclen,
- const char *from_codeset, const char *to_codeset,
- bool transliterate,
- enum iconv_ilseq_handler handler,
- size_t *offsets,
- char **resultp, size_t *lengthp)
-{
- if (srclen == 0)
- {
- /* Nothing to convert. */
- *lengthp = 0;
- return 0;
- }
-
- /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
- we want to use transliteration. */
-#if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) \
- && !defined __UCLIBC__) \
- || _LIBICONV_VERSION >= 0x0105
- if (transliterate)
- {
- int retval;
- size_t len = strlen (to_codeset);
- char *to_codeset_suffixed = (char *) malloca (len + 10 + 1);
- if (to_codeset_suffixed == NULL)
- {
- errno = ENOMEM;
- return -1;
- }
- memcpy (to_codeset_suffixed, to_codeset, len);
- memcpy (to_codeset_suffixed + len, "//TRANSLIT", 10 + 1);
-
- retval = mem_iconveha_notranslit (src, srclen,
- from_codeset, to_codeset_suffixed,
- handler, offsets, resultp, lengthp);
-
- freea (to_codeset_suffixed);
-
- return retval;
- }
- else
-#endif
- return mem_iconveha_notranslit (src, srclen,
- from_codeset, to_codeset,
- handler, offsets, resultp, lengthp);
-}
-
-/* Like str_iconveha, except no handling of transliteration. */
-static char *
-str_iconveha_notranslit (const char *src,
- const char *from_codeset, const char *to_codeset,
- enum iconv_ilseq_handler handler)
-{
- char *result = str_iconveh (src, from_codeset, to_codeset, handler);
-
- if (result != NULL || errno != EINVAL)
- return result;
- else
- {
- struct autodetect_alias *alias;
-
- /* Unsupported from_codeset or to_codeset. Check whether the caller
- requested autodetection. */
- for (alias = autodetect_list; alias != NULL; alias = alias->next)
- if (strcmp (from_codeset, alias->name) == 0)
- {
- const char * const *encodings;
-
- if (handler != iconveh_error)
- {
- /* First try all encodings without any forgiving. */
- encodings = alias->encodings_to_try;
- do
- {
- result = str_iconveha_notranslit (src,
- *encodings, to_codeset,
- iconveh_error);
- if (!(result == NULL && errno == EILSEQ))
- return result;
- encodings++;
- }
- while (*encodings != NULL);
- }
-
- encodings = alias->encodings_to_try;
- do
- {
- result = str_iconveha_notranslit (src,
- *encodings, to_codeset,
- handler);
- if (!(result == NULL && errno == EILSEQ))
- return result;
- encodings++;
- }
- while (*encodings != NULL);
-
- /* Return the last call's result. */
- return NULL;
- }
-
- /* It wasn't an autodetection name. */
- errno = EINVAL;
- return NULL;
- }
-}
-
-char *
-str_iconveha (const char *src,
- const char *from_codeset, const char *to_codeset,
- bool transliterate,
- enum iconv_ilseq_handler handler)
-{
- if (*src == '\0' || c_strcasecmp (from_codeset, to_codeset) == 0)
- {
- char *result = strdup (src);
-
- if (result == NULL)
- errno = ENOMEM;
- return result;
- }
-
- /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
- we want to use transliteration. */
-#if (((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2) \
- && !defined __UCLIBC__) \
- || _LIBICONV_VERSION >= 0x0105
- if (transliterate)
- {
- char *result;
- size_t len = strlen (to_codeset);
- char *to_codeset_suffixed = (char *) malloca (len + 10 + 1);
- if (to_codeset_suffixed == NULL)
- {
- errno = ENOMEM;
- return NULL;
- }
- memcpy (to_codeset_suffixed, to_codeset, len);
- memcpy (to_codeset_suffixed + len, "//TRANSLIT", 10 + 1);
-
- result = str_iconveha_notranslit (src, from_codeset, to_codeset_suffixed,
- handler);
-
- freea (to_codeset_suffixed);
-
- return result;
- }
- else
-#endif
- return str_iconveha_notranslit (src, from_codeset, to_codeset, handler);
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/striconveha.h
b/tp/Texinfo/XS/gnulib/lib/striconveha.h
deleted file mode 100644
index e93d0b4c45..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/striconveha.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Character set conversion with error handling and autodetection.
- Copyright (C) 2002, 2005, 2007-2024 Free Software Foundation, Inc.
- Written by Bruno Haible.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _STRICONVEHA_H
-#define _STRICONVEHA_H
-
-/* This file uses _GL_ATTRIBUTE_MALLOC. */
-#if !_GL_CONFIG_H_INCLUDED
- #error "Please include config.h first."
-#endif
-
-#include <stdlib.h>
-
-#include "iconveh.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Convert an entire string from one encoding to another, using iconv.
- The original string is at [SRC,...,SRC+SRCLEN-1].
- The "from" encoding can also be a name defined for autodetection.
- If TRANSLITERATE is true, transliteration will attempted to avoid conversion
- errors, for iconv implementations that support this. Usually you'll choose
- TRANSLITERATE = true if HANDLER != iconveh_error.
- If OFFSETS is not NULL, it should point to an array of SRCLEN integers; this
- array is filled with offsets into the result, i.e. the character starting
- at SRC[i] corresponds to the character starting at (*RESULTP)[OFFSETS[i]],
- and other offsets are set to (size_t)(-1).
- *RESULTP and *LENGTH should initially be a scratch buffer and its size,
- or *RESULTP can initially be NULL.
- May erase the contents of the memory at *RESULTP.
- Return value: 0 if successful, otherwise -1 and errno set.
- If successful: The resulting string is stored in *RESULTP and its length
- in *LENGTHP. *RESULTP is set to a freshly allocated memory block, or is
- unchanged if no dynamic memory allocation was necessary. */
-extern int
- mem_iconveha (const char *src, size_t srclen,
- const char *from_codeset, const char *to_codeset,
- bool transliterate,
- enum iconv_ilseq_handler handler,
- size_t *offsets,
- char **resultp, size_t *lengthp);
-
-/* Convert an entire string from one encoding to another, using iconv.
- The original string is the NUL-terminated string starting at SRC.
- Both the "from" and the "to" encoding must use a single NUL byte at the
- end of the string (i.e. not UCS-2, UCS-4, UTF-16, UTF-32).
- The "from" encoding can also be a name defined for autodetection.
- If TRANSLITERATE is true, transliteration will attempted to avoid conversion
- errors, for iconv implementations that support this. Usually you'll choose
- TRANSLITERATE = true if HANDLER != iconveh_error.
- Allocate a malloced memory block for the result.
- Return value: the freshly allocated resulting NUL-terminated string if
- successful, otherwise NULL and errno set. */
-extern char *
- str_iconveha (const char *src,
- const char *from_codeset, const char *to_codeset,
- bool transliterate,
- enum iconv_ilseq_handler handler)
- _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
-
-
-/* In the above, FROM_CODESET can also be one of the following values:
- "autodetect_utf8" supports ISO-8859-1 and UTF-8
- "autodetect_jp" supports EUC-JP, ISO-2022-JP-2 and SHIFT_JIS
- "autodetect_kr" supports EUC-KR and ISO-2022-KR
- More names can be defined for autodetection. */
-
-/* Registers an encoding name for autodetection.
- TRY_IN_ORDER is a NULL terminated list of encodings to be tried.
- Returns 0 upon success, or -1 (with errno set) in case of error.
- Particular errno values: ENOMEM. */
-extern int
- uniconv_register_autodetect (const char *name,
- const char * const *try_in_order);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _STRICONVEHA_H */
diff --git a/tp/Texinfo/XS/gnulib/lib/unicase/cased.h
b/tp/Texinfo/XS/gnulib/lib/unicase/cased.h
index 2fe12689b7..dca12035de 100644
--- a/tp/Texinfo/XS/gnulib/lib/unicase/cased.h
+++ b/tp/Texinfo/XS/gnulib/lib/unicase/cased.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Casing Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/tp/Texinfo/XS/gnulib/lib/unicase/ignorable.h
b/tp/Texinfo/XS/gnulib/lib/unicase/ignorable.h
index 5b986e19f1..bf41d94e4b 100644
--- a/tp/Texinfo/XS/gnulib/lib/unicase/ignorable.h
+++ b/tp/Texinfo/XS/gnulib/lib/unicase/ignorable.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Casing Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/tp/Texinfo/XS/gnulib/lib/unicase/special-casing-table.gperf
b/tp/Texinfo/XS/gnulib/lib/unicase/special-casing-table.gperf
index 54bfb4ad48..39e1f5d6d7 100644
--- a/tp/Texinfo/XS/gnulib/lib/unicase/special-casing-table.gperf
+++ b/tp/Texinfo/XS/gnulib/lib/unicase/special-casing-table.gperf
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Special casing rules of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/tp/Texinfo/XS/gnulib/lib/unicase/tolower.h
b/tp/Texinfo/XS/gnulib/lib/unicase/tolower.h
index 6fa031c911..9c125f5054 100644
--- a/tp/Texinfo/XS/gnulib/lib/unicase/tolower.h
+++ b/tp/Texinfo/XS/gnulib/lib/unicase/tolower.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Simple character mapping of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2023 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tp/Texinfo/XS/gnulib/lib/unicase/toupper.h
b/tp/Texinfo/XS/gnulib/lib/unicase/toupper.h
index c460ee2a81..4df2f32c17 100644
--- a/tp/Texinfo/XS/gnulib/lib/unicase/toupper.h
+++ b/tp/Texinfo/XS/gnulib/lib/unicase/toupper.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Simple character mapping of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2023 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tp/Texinfo/XS/gnulib/lib/uniconv.in.h
b/tp/Texinfo/XS/gnulib/lib/uniconv.in.h
deleted file mode 100644
index 9af01bd82d..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/uniconv.in.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/* Conversions between Unicode and legacy encodings.
- Copyright (C) 2002, 2005, 2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#ifndef _UNICONV_H
-#define _UNICONV_H
-
-/* Get size_t. */
-#include <stddef.h>
-
-#include "unitypes.h"
-
-/* Get enum iconv_ilseq_handler. */
-#include "iconveh.h"
-
-/* Get uniconv_register_autodetect() declaration. */
-#include "striconveha.h"
-
-/* Get locale_charset() declaration. */
-#include "localcharset.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Converts an entire string, possibly including NUL bytes, from one encoding
- to a Unicode encoding.
- Converts a memory region given in encoding FROMCODE. FROMCODE is as for
- iconv_open(3).
- The input is in the memory region between SRC (inclusive) and SRC + SRCLEN
- (exclusive).
- If OFFSETS is not NULL, it should point to an array of SRCLEN integers; this
- array is filled with offsets into the result, i.e. the character starting
- at SRC[i] corresponds to the character starting at (*RESULTP)[OFFSETS[i]],
- and other offsets are set to (size_t)(-1).
- RESULTBUF and *LENGTHP should initially be a scratch buffer and its size,
- or *RESULTBUF can be NULL.
- May erase the contents of the memory at RESULTBUF.
- If successful: The resulting Unicode string (non-NULL) is returned and its
- length stored in *LENGTHP. The resulting string is RESULTBUF if no dynamic
- memory allocation was necessary, or a freshly allocated memory block
- otherwise.
- In case of error: NULL is returned and errno is set. Particular errno
- values: EINVAL, EILSEQ, ENOMEM. */
-extern uint8_t *
- u8_conv_from_encoding (const char *fromcode,
- enum iconv_ilseq_handler handler,
- const char *src, size_t srclen,
- size_t *offsets,
- uint8_t *resultbuf, size_t *lengthp);
-extern uint16_t *
- u16_conv_from_encoding (const char *fromcode,
- enum iconv_ilseq_handler handler,
- const char *src, size_t srclen,
- size_t *offsets,
- uint16_t *resultbuf, size_t *lengthp);
-extern uint32_t *
- u32_conv_from_encoding (const char *fromcode,
- enum iconv_ilseq_handler handler,
- const char *src, size_t srclen,
- size_t *offsets,
- uint32_t *resultbuf, size_t *lengthp);
-
-/* Converts an entire Unicode string, possibly including NUL units, from a
- Unicode encoding to a given encoding.
- Converts a memory region to encoding TOCODE. TOCODE is as for
- iconv_open(3).
- The input is in the memory region between SRC (inclusive) and SRC + SRCLEN
- (exclusive).
- If OFFSETS is not NULL, it should point to an array of SRCLEN integers; this
- array is filled with offsets into the result, i.e. the character starting
- at SRC[i] corresponds to the character starting at (*RESULTP)[OFFSETS[i]],
- and other offsets are set to (size_t)(-1).
- RESULTBUF and *LENGTHP should initially be a scratch buffer and its size,
- or RESULTBUF can be NULL.
- May erase the contents of the memory at RESULTBUF.
- If successful: The resulting string (non-NULL) is returned and its length
- stored in *LENGTHP. The resulting string is RESULTBUF if no dynamic memory
- allocation was necessary, or a freshly allocated memory block otherwise.
- In case of error: NULL is returned and errno is set. Particular errno
- values: EINVAL, EILSEQ, ENOMEM. */
-extern char *
- u8_conv_to_encoding (const char *tocode,
- enum iconv_ilseq_handler handler,
- const uint8_t *src, size_t srclen,
- size_t *offsets,
- char *_UC_RESTRICT resultbuf, size_t *lengthp);
-extern char *
- u16_conv_to_encoding (const char *tocode,
- enum iconv_ilseq_handler handler,
- const uint16_t *src, size_t srclen,
- size_t *offsets,
- char *_UC_RESTRICT resultbuf, size_t *lengthp);
-extern char *
- u32_conv_to_encoding (const char *tocode,
- enum iconv_ilseq_handler handler,
- const uint32_t *src, size_t srclen,
- size_t *offsets,
- char *_UC_RESTRICT resultbuf, size_t *lengthp);
-
-/* Converts a NUL terminated string from a given encoding.
- The result is malloc allocated, or NULL (with errno set) in case of error.
- Particular errno values: EILSEQ, ENOMEM. */
-extern uint8_t *
- u8_strconv_from_encoding (const char *string,
- const char *fromcode,
- enum iconv_ilseq_handler handler);
-extern uint16_t *
- u16_strconv_from_encoding (const char *string,
- const char *fromcode,
- enum iconv_ilseq_handler handler);
-extern uint32_t *
- u32_strconv_from_encoding (const char *string,
- const char *fromcode,
- enum iconv_ilseq_handler handler);
-
-/* Converts a NUL terminated string to a given encoding.
- The result is malloc allocated, or NULL (with errno set) in case of error.
- Particular errno values: EILSEQ, ENOMEM. */
-extern char *
- u8_strconv_to_encoding (const uint8_t *string,
- const char *tocode,
- enum iconv_ilseq_handler handler);
-extern char *
- u16_strconv_to_encoding (const uint16_t *string,
- const char *tocode,
- enum iconv_ilseq_handler handler);
-extern char *
- u32_strconv_to_encoding (const uint32_t *string,
- const char *tocode,
- enum iconv_ilseq_handler handler);
-
-/* Converts a NUL terminated string from the locale encoding.
- The result is malloc allocated, or NULL (with errno set) in case of error.
- Particular errno values: ENOMEM. */
-extern uint8_t *
- u8_strconv_from_locale (const char *string);
-extern uint16_t *
- u16_strconv_from_locale (const char *string);
-extern uint32_t *
- u32_strconv_from_locale (const char *string);
-
-/* Converts a NUL terminated string to the locale encoding.
- The result is malloc allocated, or NULL (with errno set) in case of error.
- Particular errno values: ENOMEM. */
-extern char *
- u8_strconv_to_locale (const uint8_t *string);
-extern char *
- u16_strconv_to_locale (const uint16_t *string);
-extern char *
- u32_strconv_to_locale (const uint32_t *string);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _UNICONV_H */
diff --git a/tp/Texinfo/XS/gnulib/lib/uniconv/u-conv-from-enc.h
b/tp/Texinfo/XS/gnulib/lib/uniconv/u-conv-from-enc.h
deleted file mode 100644
index 31e30e1ee4..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/uniconv/u-conv-from-enc.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Conversion to UTF-16/UTF-32 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License and the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
-
-UNIT *
-FUNC (const char *fromcode,
- enum iconv_ilseq_handler handler,
- const char *src, size_t srclen,
- size_t *offsets,
- UNIT *resultbuf, size_t *lengthp)
-{
-#if HAVE_UTF_NAME
- char *result = (char *) resultbuf;
- size_t length = *lengthp * sizeof (UNIT);
-
- if (mem_iconveha (src, srclen, fromcode, UTF_NAME, true, handler,
- offsets, &result, &length) < 0)
- return NULL;
- if (offsets != NULL)
- {
- /* Convert 'char *' offsets to 'UNIT *' offsets. */
- size_t *offsets_end = offsets + srclen;
- size_t *o;
-
- for (o = offsets; o < offsets_end; o++)
- if (*o != (size_t)(-1))
- *o = *o / sizeof (UNIT);
- }
- if ((length % sizeof (UNIT)) != 0)
- abort ();
- *lengthp = length / sizeof (UNIT);
- return (UNIT *) result;
-#else
- uint8_t *utf8_string;
- size_t utf8_length;
- UNIT *result;
-
- utf8_string =
- u8_conv_from_encoding (fromcode, handler, src, srclen, offsets,
- NULL, &utf8_length);
- if (utf8_string == NULL)
- return NULL;
- result = U8_TO_U (utf8_string, utf8_length, resultbuf, lengthp);
- if (result == NULL)
- {
- int saved_errno = errno;
- free (utf8_string);
- errno = saved_errno;
- return NULL;
- }
- if (offsets != NULL)
- {
- size_t length = *lengthp;
- size_t *offsets_end = offsets + srclen;
- size_t *o;
- size_t off8 = 0; /* offset into utf8_string */
- size_t offunit = 0; /* offset into result */
-
- for (o = offsets; o < offsets_end; o++)
- if (*o != (size_t)(-1))
- {
- while (off8 < *o)
- {
- int count8 = u8_mblen (utf8_string + off8, utf8_length - off8);
- int countunit = U_MBLEN (result + offunit, length - offunit);
- if (count8 < 0 || countunit < 0)
- abort ();
- off8 += count8;
- offunit += countunit;
- }
- if (*o != off8)
- abort ();
- *o = offunit;
- }
- }
- free (utf8_string);
- return result;
-#endif
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/uniconv/u-strconv-from-enc.h
b/tp/Texinfo/XS/gnulib/lib/uniconv/u-strconv-from-enc.h
deleted file mode 100644
index 9f3e099d14..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/uniconv/u-strconv-from-enc.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Conversion to UTF-8/UTF-16/UTF-32 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-UNIT *
-FUNC (const char *string,
- const char *fromcode,
- enum iconv_ilseq_handler handler)
-{
- UNIT *result;
- size_t length;
-
- result =
- U_CONV_FROM_ENCODING (fromcode, handler,
- string, strlen (string) + 1, NULL,
- NULL, &length);
- if (result == NULL)
- return NULL;
- /* Verify the result has exactly one NUL unit, at the end. */
- if (!(length > 0 && result[length-1] == 0
- && U_STRLEN (result) == length-1))
- {
- free (result);
- errno = EILSEQ;
- return NULL;
- }
- return result;
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/uniconv/u32-conv-from-enc.c
b/tp/Texinfo/XS/gnulib/lib/uniconv/u32-conv-from-enc.c
deleted file mode 100644
index 9d4ac530d1..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/uniconv/u32-conv-from-enc.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Conversion to UTF-32 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License and the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "uniconv.h"
-
-#include <errno.h>
-#include <stdlib.h>
-
-#include "striconveha.h"
-#include "unistr.h"
-
-/* Name of UTF-32 or UCS-4 encoding with machine dependent endianness and
- alignment. */
-#if defined _LIBICONV_VERSION
-# define UTF32_NAME "UCS-4-INTERNAL"
-#elif ((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) &&
!defined __UCLIBC__
-# define UTF32_NAME "WCHAR_T"
-#endif
-
-#define FUNC u32_conv_from_encoding
-#define UNIT uint32_t
-#define U8_TO_U u8_to_u32
-#define U_MBLEN u32_mblen
-#if defined UTF32_NAME
-# define UTF_NAME UTF32_NAME
-# define HAVE_UTF_NAME 1
-#endif
-#include "u-conv-from-enc.h"
diff --git a/tp/Texinfo/XS/gnulib/lib/uniconv/u32-strconv-from-enc.c
b/tp/Texinfo/XS/gnulib/lib/uniconv/u32-strconv-from-enc.c
deleted file mode 100644
index 9254a75e20..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/uniconv/u32-strconv-from-enc.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Conversion to UTF-32 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License and the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "uniconv.h"
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "unistr.h"
-
-#define FUNC u32_strconv_from_encoding
-#define UNIT uint32_t
-#define U_CONV_FROM_ENCODING u32_conv_from_encoding
-#define U_STRLEN u32_strlen
-#include "u-strconv-from-enc.h"
diff --git a/tp/Texinfo/XS/gnulib/lib/uniconv/u8-conv-from-enc.c
b/tp/Texinfo/XS/gnulib/lib/uniconv/u8-conv-from-enc.c
deleted file mode 100644
index 424a949e6f..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/uniconv/u8-conv-from-enc.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Conversion to UTF-8 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "uniconv.h"
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "c-strcaseeq.h"
-#include "striconveha.h"
-#include "unistr.h"
-
-uint8_t *
-u8_conv_from_encoding (const char *fromcode,
- enum iconv_ilseq_handler handler,
- const char *src, size_t srclen,
- size_t *offsets,
- uint8_t *resultbuf, size_t *lengthp)
-{
- if (STRCASEEQ (fromcode, "UTF-8", 'U','T','F','-','8',0,0,0,0))
- {
- /* Conversion from UTF-8 to UTF-8. No need to go through iconv(). */
- uint8_t *result;
-
- if (u8_check ((const uint8_t *) src, srclen))
- {
- errno = EILSEQ;
- return NULL;
- }
-
- if (offsets != NULL)
- {
- size_t i;
-
- for (i = 0; i < srclen; )
- {
- int count = u8_mblen ((const uint8_t *) src + i, srclen - i);
- /* We can rely on count > 0 because of the previous u8_check. */
- if (count <= 0)
- abort ();
- offsets[i] = i;
- i++;
- while (--count > 0)
- offsets[i++] = (size_t)(-1);
- }
- }
-
- /* Memory allocation. */
- if (resultbuf != NULL && *lengthp >= srclen)
- result = resultbuf;
- else
- {
- result = (uint8_t *) malloc (srclen > 0 ? srclen : 1);
- if (result == NULL)
- {
- errno = ENOMEM;
- return NULL;
- }
- }
-
- if (srclen > 0)
- memcpy ((char *) result, src, srclen);
- *lengthp = srclen;
- return result;
- }
- else
- {
- char *result = (char *) resultbuf;
- size_t length = *lengthp;
-
- if (mem_iconveha (src, srclen, fromcode, "UTF-8", true, handler,
- offsets, &result, &length) < 0)
- return NULL;
-
- if (result == NULL) /* when (resultbuf == NULL && length == 0) */
- {
- result = (char *) malloc (1);
- if (result == NULL)
- {
- errno = ENOMEM;
- return NULL;
- }
- }
- *lengthp = length;
- return (uint8_t *) result;
- }
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/uniconv/u8-strconv-from-enc.c
b/tp/Texinfo/XS/gnulib/lib/uniconv/u8-strconv-from-enc.c
deleted file mode 100644
index 22811c7718..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/uniconv/u8-strconv-from-enc.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Conversion to UTF-8 from legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "uniconv.h"
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "unistr.h"
-
-#define FUNC u8_strconv_from_encoding
-#define UNIT uint8_t
-#define U_CONV_FROM_ENCODING u8_conv_from_encoding
-#define U_STRLEN u8_strlen
-#include "u-strconv-from-enc.h"
diff --git a/tp/Texinfo/XS/gnulib/lib/uniconv/u8-strconv-to-enc.c
b/tp/Texinfo/XS/gnulib/lib/uniconv/u8-strconv-to-enc.c
deleted file mode 100644
index 7745b6194e..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/uniconv/u8-strconv-to-enc.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Conversion from UTF-8 to legacy encodings.
- Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
-
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License and the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "uniconv.h"
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "c-strcaseeq.h"
-#include "striconveha.h"
-#include "unistr.h"
-
-char *
-u8_strconv_to_encoding (const uint8_t *string,
- const char *tocode,
- enum iconv_ilseq_handler handler)
-{
- char *result;
- size_t length;
-
- if (STRCASEEQ (tocode, "UTF-8", 'U','T','F','-','8',0,0,0,0))
- {
- /* Conversion from UTF-8 to UTF-8. No need to go through iconv(). */
- length = u8_strlen (string) + 1;
- if (u8_check (string, length))
- {
- errno = EILSEQ;
- return NULL;
- }
- result = (char *) malloc (length);
- if (result == NULL)
- {
- errno = ENOMEM;
- return NULL;
- }
- memcpy (result, (const char *) string, length);
- return result;
- }
- else
- {
- result = NULL;
- length = 0;
- if (mem_iconveha ((const char *) string, u8_strlen (string) + 1,
- "UTF-8", tocode,
- handler == iconveh_question_mark, handler,
- NULL, &result, &length) < 0)
- return NULL;
- /* Verify the result has exactly one NUL byte, at the end. */
- if (!(length > 0 && result[length-1] == '\0'
- && strlen (result) == length-1))
- {
- free (result);
- errno = EILSEQ;
- return NULL;
- }
- return result;
- }
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/unictype.in.h
b/tp/Texinfo/XS/gnulib/lib/unictype.in.h
index 52b31c4dae..fdd2cd1cec 100644
--- a/tp/Texinfo/XS/gnulib/lib/unictype.in.h
+++ b/tp/Texinfo/XS/gnulib/lib/unictype.in.h
@@ -640,6 +640,8 @@ extern @GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE@
const uc_property_t U
extern @GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE@ const
uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE;
extern @GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE@ const uc_property_t
UC_PROPERTY_XID_START;
extern @GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE@ const
uc_property_t UC_PROPERTY_XID_CONTINUE;
+extern @GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE@ const
uc_property_t UC_PROPERTY_ID_COMPAT_MATH_START;
+extern @GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE@ const
uc_property_t UC_PROPERTY_ID_COMPAT_MATH_CONTINUE;
extern @GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE@ const
uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE;
extern @GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE@ const
uc_property_t UC_PROPERTY_PATTERN_SYNTAX;
/* Shaping and rendering. */
@@ -673,6 +675,7 @@ extern
@GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE@ const uc_property
extern @GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE@ const uc_property_t
UC_PROPERTY_IDEOGRAPHIC;
extern @GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE@ const
uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH;
extern @GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE@ const uc_property_t
UC_PROPERTY_RADICAL;
+extern @GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE@ const
uc_property_t UC_PROPERTY_IDS_UNARY_OPERATOR;
extern @GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE@ const
uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR;
extern @GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE@ const
uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR;
/* Emoji. */
@@ -688,6 +691,7 @@ extern @GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE@ const
uc_property_t UC_PROP
extern @GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE@ const uc_property_t
UC_PROPERTY_NON_BREAK;
extern @GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE@ const uc_property_t
UC_PROPERTY_ISO_CONTROL;
extern @GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE@ const
uc_property_t UC_PROPERTY_FORMAT_CONTROL;
+extern @GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE@
const uc_property_t UC_PROPERTY_PREPENDED_CONCATENATION_MARK;
extern @GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE@ const uc_property_t
UC_PROPERTY_DASH;
extern @GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE@ const uc_property_t
UC_PROPERTY_HYPHEN;
extern @GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE@ const uc_property_t
UC_PROPERTY_PUNCTUATION;
@@ -780,6 +784,10 @@ extern bool uc_is_property_xid_start (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_xid_continue (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_id_compat_math_start (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_id_compat_math_continue (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
extern bool uc_is_property_pattern_white_space (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_pattern_syntax (ucs4_t uc)
@@ -838,6 +846,8 @@ extern bool uc_is_property_unified_ideograph (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_radical (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_ids_unary_operator (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
extern bool uc_is_property_ids_binary_operator (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_ids_trinary_operator (ucs4_t uc)
@@ -864,6 +874,8 @@ extern bool uc_is_property_iso_control (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_format_control (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
+extern bool uc_is_property_prepended_concatenation_mark (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
extern bool uc_is_property_dash (ucs4_t uc)
_UC_ATTRIBUTE_CONST;
extern bool uc_is_property_hyphen (ucs4_t uc)
@@ -909,6 +921,40 @@ extern bool uc_is_property_regional_indicator (ucs4_t uc)
/* ========================================================================= */
+/* Other attributes. */
+
+/* ------------------------------------------------------------------------- */
+
+/* Indic_Conjunct_Break (InCB): from the file DerivedCoreProperties.txt
+ in the Unicode Character Database. */
+
+/* Possible values of the Indic_Conjunct_Break attribute.
+ This enumeration may be extended in the future. */
+enum
+{
+ UC_INDIC_CONJUNCT_BREAK_NONE, /* None */
+ UC_INDIC_CONJUNCT_BREAK_CONSONANT, /* Consonant */
+ UC_INDIC_CONJUNCT_BREAK_LINKER, /* Linker */
+ UC_INDIC_CONJUNCT_BREAK_EXTEND /* Extend */
+};
+
+/* Return the name of an Indic_Conjunct_Break value. */
+extern const char *
+ uc_indic_conjunct_break_name (int indic_conjunct_break)
+ _UC_ATTRIBUTE_CONST;
+
+/* Return the Indic_Conjunct_Break value given by name, e.g. "Consonant". */
+extern int
+ uc_indic_conjunct_break_byname (const char *indic_conjunct_break_name)
+ _UC_ATTRIBUTE_PURE;
+
+/* Return the Indic_Conjunct_Break attribute of a Unicode character. */
+extern int
+ uc_indic_conjunct_break (ucs4_t uc)
+ _UC_ATTRIBUTE_CONST;
+
+/* ========================================================================= */
+
/* Subdivision of the Unicode characters into scripts. */
typedef struct
diff --git a/tp/Texinfo/XS/gnulib/lib/unictype/categ_L.h
b/tp/Texinfo/XS/gnulib/lib/unictype/categ_L.h
index e28ae89f20..a1b12ad2fe 100644
--- a/tp/Texinfo/XS/gnulib/lib/unictype/categ_L.h
+++ b/tp/Texinfo/XS/gnulib/lib/unictype/categ_L.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[4];
short level2[4 << 7];
- unsigned int level3[77 << 4];
+ unsigned int level3[78 << 4];
}
u_categ_L =
{
@@ -421,14 +421,14 @@ u_categ_L =
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 1168,
- -1,
- -1,
+ 5 + 512 * sizeof (short) / sizeof (int) + 320,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1184,
-1,
-1,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 320,
- 5 + 512 * sizeof (short) / sizeof (int) + 1184,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1200,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 320,
@@ -440,7 +440,7 @@ u_categ_L =
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
- 5 + 512 * sizeof (short) / sizeof (int) + 1200,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1216,
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
@@ -448,7 +448,7 @@ u_categ_L =
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
5 + 512 * sizeof (short) / sizeof (int) + 320,
- 5 + 512 * sizeof (short) / sizeof (int) + 1216,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1232,
-1,
-1,
-1,
@@ -856,7 +856,11 @@ u_categ_L =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/tp/Texinfo/XS/gnulib/lib/unictype/categ_M.h
b/tp/Texinfo/XS/gnulib/lib/unictype/categ_M.h
index 508b137d5c..b316a2d8d0 100644
--- a/tp/Texinfo/XS/gnulib/lib/unictype/categ_M.h
+++ b/tp/Texinfo/XS/gnulib/lib/unictype/categ_M.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tp/Texinfo/XS/gnulib/lib/unictype/categ_Mn.h
b/tp/Texinfo/XS/gnulib/lib/unictype/categ_Mn.h
index 3a0b853b50..c24a8f618c 100644
--- a/tp/Texinfo/XS/gnulib/lib/unictype/categ_Mn.h
+++ b/tp/Texinfo/XS/gnulib/lib/unictype/categ_Mn.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/tp/Texinfo/XS/gnulib/lib/unictype/categ_Nd.h
b/tp/Texinfo/XS/gnulib/lib/unictype/categ_Nd.h
index 43831d0169..9d3a21f3aa 100644
--- a/tp/Texinfo/XS/gnulib/lib/unictype/categ_Nd.h
+++ b/tp/Texinfo/XS/gnulib/lib/unictype/categ_Nd.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Categories of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/tp/Texinfo/XS/gnulib/lib/unictype/combiningclass.h
b/tp/Texinfo/XS/gnulib/lib/unictype/combiningclass.h
index 1e473951e8..4b114e6dfd 100644
--- a/tp/Texinfo/XS/gnulib/lib/unictype/combiningclass.h
+++ b/tp/Texinfo/XS/gnulib/lib/unictype/combiningclass.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Combining class of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tp/Texinfo/XS/gnulib/lib/unictype/ctype_upper.h
b/tp/Texinfo/XS/gnulib/lib/unictype/ctype_upper.h
index dbe1da4d54..d9259bf80d 100644
--- a/tp/Texinfo/XS/gnulib/lib/unictype/ctype_upper.h
+++ b/tp/Texinfo/XS/gnulib/lib/unictype/ctype_upper.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* ISO C <ctype.h> like properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2023 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tp/Texinfo/XS/gnulib/lib/unictype/pr_alphabetic.h
b/tp/Texinfo/XS/gnulib/lib/unictype/pr_alphabetic.h
index 645d8c7aec..a5560326ec 100644
--- a/tp/Texinfo/XS/gnulib/lib/unictype/pr_alphabetic.h
+++ b/tp/Texinfo/XS/gnulib/lib/unictype/pr_alphabetic.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
@@ -35,7 +35,7 @@ struct
int header[1];
int level1[4];
short level2[4 << 7];
- unsigned int level3[79 << 4];
+ unsigned int level3[80 << 4];
}
u_property_alphabetic =
{
@@ -421,14 +421,14 @@ u_property_alphabetic =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 1200,
- -1,
- -1,
+ 5 + 512 * sizeof (short) / sizeof (int) + 336,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1216,
-1,
-1,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1216,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1232,
-1,
-1,
5 + 512 * sizeof (short) / sizeof (int) + 336,
@@ -440,7 +440,7 @@ u_property_alphabetic =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1232,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1248,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
@@ -448,7 +448,7 @@ u_property_alphabetic =
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
5 + 512 * sizeof (short) / sizeof (int) + 336,
- 5 + 512 * sizeof (short) / sizeof (int) + 1248,
+ 5 + 512 * sizeof (short) / sizeof (int) + 1264,
-1,
-1,
-1,
@@ -864,7 +864,11 @@ u_property_alphabetic =
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU,
- 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0x00000001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFFFFFFU, 0xFFFF0001U,
+ 0xFFFFFFFFU, 0xFFFFFFFFU, 0x3FFFFFFFU, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
+ 0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x3FFFFFFFU, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
0x00000000U, 0x00000000U, 0x00000000U, 0x00000000U,
diff --git a/tp/Texinfo/XS/gnulib/lib/unictype/pr_join_control.h
b/tp/Texinfo/XS/gnulib/lib/unictype/pr_join_control.h
index 3bbfe38953..37e303b823 100644
--- a/tp/Texinfo/XS/gnulib/lib/unictype/pr_join_control.h
+++ b/tp/Texinfo/XS/gnulib/lib/unictype/pr_join_control.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/tp/Texinfo/XS/gnulib/lib/unictype/pr_soft_dotted.h
b/tp/Texinfo/XS/gnulib/lib/unictype/pr_soft_dotted.h
index 95958a2371..5239a99de9 100644
--- a/tp/Texinfo/XS/gnulib/lib/unictype/pr_soft_dotted.h
+++ b/tp/Texinfo/XS/gnulib/lib/unictype/pr_soft_dotted.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Properties of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software.
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
diff --git a/tp/Texinfo/XS/gnulib/lib/uninorm/composition-table.gperf
b/tp/Texinfo/XS/gnulib/lib/uninorm/composition-table.gperf
index d7c7d18400..b66b80e521 100644
--- a/tp/Texinfo/XS/gnulib/lib/uninorm/composition-table.gperf
+++ b/tp/Texinfo/XS/gnulib/lib/uninorm/composition-table.gperf
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Canonical composition of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2009-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tp/Texinfo/XS/gnulib/lib/uninorm/decomposition-table1.h
b/tp/Texinfo/XS/gnulib/lib/uninorm/decomposition-table1.h
index c2e8e6d9cf..ee245ce45d 100644
--- a/tp/Texinfo/XS/gnulib/lib/uninorm/decomposition-table1.h
+++ b/tp/Texinfo/XS/gnulib/lib/uninorm/decomposition-table1.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Decomposition of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tp/Texinfo/XS/gnulib/lib/uninorm/decomposition-table2.h
b/tp/Texinfo/XS/gnulib/lib/uninorm/decomposition-table2.h
index cddd991778..667ce47498 100644
--- a/tp/Texinfo/XS/gnulib/lib/uninorm/decomposition-table2.h
+++ b/tp/Texinfo/XS/gnulib/lib/uninorm/decomposition-table2.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Decomposition of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tp/Texinfo/XS/gnulib/lib/unistr/u-strlen.h
b/tp/Texinfo/XS/gnulib/lib/unistr/u-strlen.h
deleted file mode 100644
index 03106a15fc..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/unistr/u-strlen.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Determine length of UTF-8/UTF-16/UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2002.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-size_t
-FUNC (const UNIT *s)
-{
- const UNIT *ptr;
-
- for (ptr = s; *ptr != 0; ptr++)
- ;
- return ptr - s;
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/unistr/u32-mblen.c
b/tp/Texinfo/XS/gnulib/lib/unistr/u32-mblen.c
deleted file mode 100644
index 0317b3c17b..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/unistr/u32-mblen.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Look at first character in UTF-32 string.
- Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2002.
-
- This file is free software.
- It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
- You can redistribute it and/or modify it under either
- - the terms of the GNU Lesser General Public License as published
- by the Free Software Foundation, either version 3, or (at your
- option) any later version, or
- - the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option)
- any later version, or
- - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License and the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License and of the GNU General Public License along with this
- program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "unistr.h"
-
-int
-u32_mblen (const uint32_t *s, size_t n)
-{
- if (n > 0)
- {
- uint32_t c = *s;
-
- if (c < 0xd800 || (c >= 0xe000 && c < 0x110000))
- return (c != 0 ? 1 : 0);
- }
- /* invalid or incomplete multibyte character */
- return -1;
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/unistr/u32-strlen.c
b/tp/Texinfo/XS/gnulib/lib/unistr/u32-strlen.c
deleted file mode 100644
index 1c43a30ad8..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/unistr/u32-strlen.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Determine length of UTF-32 string.
- Copyright (C) 1999, 2002, 2006, 2009-2024 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2002.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "unistr.h"
-
-#define FUNC u32_strlen
-#define UNIT uint32_t
-#include "u-strlen.h"
diff --git a/tp/Texinfo/XS/gnulib/lib/unistr/u8-check.c
b/tp/Texinfo/XS/gnulib/lib/unistr/u8-check.c
deleted file mode 100644
index 556f992763..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/unistr/u8-check.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Check UTF-8 string.
- Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2002.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "unistr.h"
-
-const uint8_t *
-u8_check (const uint8_t *s, size_t n)
-{
- const uint8_t *s_end = s + n;
-
- while (s < s_end)
- {
- /* Keep in sync with unistr.h and u8-mbtouc-aux.c. */
- uint8_t c = *s;
-
- if (c < 0x80)
- {
- s++;
- continue;
- }
- if (c >= 0xc2)
- {
- if (c < 0xe0)
- {
- if (s + 2 <= s_end
- && (s[1] ^ 0x80) < 0x40)
- {
- s += 2;
- continue;
- }
- }
- else if (c < 0xf0)
- {
- if (s + 3 <= s_end
- && (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
- && (c >= 0xe1 || s[1] >= 0xa0)
- && (c != 0xed || s[1] < 0xa0))
- {
- s += 3;
- continue;
- }
- }
- else if (c <= 0xf4)
- {
- if (s + 4 <= s_end
- && (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
- && (s[3] ^ 0x80) < 0x40
- && (c >= 0xf1 || s[1] >= 0x90)
- && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
- {
- s += 4;
- continue;
- }
- }
- }
- /* invalid or incomplete multibyte character */
- return s;
- }
- return NULL;
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/unistr/u8-mblen.c
b/tp/Texinfo/XS/gnulib/lib/unistr/u8-mblen.c
deleted file mode 100644
index 79878f24cd..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/unistr/u8-mblen.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Look at first character in UTF-8 string.
- Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2024 Free Software
- Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2002.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "unistr.h"
-
-int
-u8_mblen (const uint8_t *s, size_t n)
-{
- if (n > 0)
- {
- /* Keep in sync with unistr.h and u8-mbtouc-aux.c. */
- uint8_t c = *s;
-
- if (c < 0x80)
- return (c != 0 ? 1 : 0);
- if (c >= 0xc2)
- {
- if (c < 0xe0)
- {
- if (n >= 2
- && (s[1] ^ 0x80) < 0x40)
- return 2;
- }
- else if (c < 0xf0)
- {
- if (n >= 3
- && (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
- && (c >= 0xe1 || s[1] >= 0xa0)
- && (c != 0xed || s[1] < 0xa0))
- return 3;
- }
- else if (c <= 0xf4)
- {
- if (n >= 4
- && (s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40
- && (s[3] ^ 0x80) < 0x40
- && (c >= 0xf1 || s[1] >= 0x90)
- && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90)))
- return 4;
- }
- }
- }
- /* invalid or incomplete multibyte character */
- return -1;
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/unistr/u8-prev.c
b/tp/Texinfo/XS/gnulib/lib/unistr/u8-prev.c
deleted file mode 100644
index d733f758a7..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/unistr/u8-prev.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Iterate over previous character in UTF-8 string.
- Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2002.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "unistr.h"
-
-const uint8_t *
-u8_prev (ucs4_t *puc, const uint8_t *s, const uint8_t *start)
-{
- /* Keep in sync with unistr.h and u8-mbtouc-aux.c. */
- if (s != start)
- {
- uint8_t c_1 = s[-1];
-
- if (c_1 < 0x80)
- {
- *puc = c_1;
- return s - 1;
- }
- if ((c_1 ^ 0x80) < 0x40)
- if (s - 1 != start)
- {
- uint8_t c_2 = s[-2];
-
- if (c_2 >= 0xc2 && c_2 < 0xe0)
- {
- *puc = ((unsigned int) (c_2 & 0x1f) << 6)
- | (unsigned int) (c_1 ^ 0x80);
- return s - 2;
- }
- if ((c_2 ^ 0x80) < 0x40)
- if (s - 2 != start)
- {
- uint8_t c_3 = s[-3];
-
- if (c_3 >= 0xe0 && c_3 < 0xf0
- && (c_3 >= 0xe1 || c_2 >= 0xa0)
- && (c_3 != 0xed || c_2 < 0xa0))
- {
- *puc = ((unsigned int) (c_3 & 0x0f) << 12)
- | ((unsigned int) (c_2 ^ 0x80) << 6)
- | (unsigned int) (c_1 ^ 0x80);
- return s - 3;
- }
- if ((c_3 ^ 0x80) < 0x40)
- if (s - 3 != start)
- {
- uint8_t c_4 = s[-4];
-
- if (c_4 >= 0xf0 && c_4 <= 0xf4
- && (c_4 >= 0xf1 || c_3 >= 0x90)
- && (c_4 < 0xf4 || (/* c_4 == 0xf4 && */ c_3 <
0x90)))
- {
- *puc = ((unsigned int) (c_4 & 0x07) << 18)
- | ((unsigned int) (c_3 ^ 0x80) << 12)
- | ((unsigned int) (c_2 ^ 0x80) << 6)
- | (unsigned int) (c_1 ^ 0x80);
- return s - 4;
- }
- }
- }
- }
- }
- return NULL;
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/unistr/u8-to-u32.c
b/tp/Texinfo/XS/gnulib/lib/unistr/u8-to-u32.c
deleted file mode 100644
index a57bb5dcbc..0000000000
--- a/tp/Texinfo/XS/gnulib/lib/unistr/u8-to-u32.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Convert UTF-8 string to UTF-32 string.
- Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc.
- Written by Bruno Haible <bruno@clisp.org>, 2002.
-
- This file is free software: you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of the
- License, or (at your option) any later version.
-
- This file is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#include <config.h>
-
-/* Specification. */
-#include "unistr.h"
-
-#define FUNC u8_to_u32
-#define SRC_UNIT uint8_t
-#define DST_UNIT uint32_t
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-
-DST_UNIT *
-FUNC (const SRC_UNIT *s, size_t n, DST_UNIT *resultbuf, size_t *lengthp)
-{
- const SRC_UNIT *s_end = s + n;
- /* Output string accumulator. */
- DST_UNIT *result;
- size_t allocated;
- size_t length;
-
- if (resultbuf != NULL)
- {
- result = resultbuf;
- allocated = *lengthp;
- }
- else
- {
- result = NULL;
- allocated = 0;
- }
- length = 0;
- /* Invariants:
- result is either == resultbuf or == NULL or malloc-allocated.
- If length > 0, then result != NULL. */
-
- while (s < s_end)
- {
- ucs4_t uc;
- int count;
-
- /* Fetch a Unicode character from the input string. */
- count = u8_mbtoucr (&uc, s, s_end - s);
- if (count < 0)
- {
- if (!(result == resultbuf || result == NULL))
- free (result);
- errno = EILSEQ;
- return NULL;
- }
- s += count;
-
- /* Store it in the output string. */
- if (length + 1 > allocated)
- {
- DST_UNIT *memory;
-
- allocated = (allocated > 0 ? 2 * allocated : 12);
- if (length + 1 > allocated)
- allocated = length + 1;
- if (result == resultbuf || result == NULL)
- memory = (DST_UNIT *) malloc (allocated * sizeof (DST_UNIT));
- else
- memory =
- (DST_UNIT *) realloc (result, allocated * sizeof (DST_UNIT));
-
- if (memory == NULL)
- {
- if (!(result == resultbuf || result == NULL))
- free (result);
- errno = ENOMEM;
- return NULL;
- }
- if (result == resultbuf && length > 0)
- memcpy ((char *) memory, (char *) result,
- length * sizeof (DST_UNIT));
- result = memory;
- }
- result[length++] = uc;
- }
-
- if (length == 0)
- {
- if (result == NULL)
- {
- /* Return a non-NULL value. NULL means error. */
- result = (DST_UNIT *) malloc (1);
- if (result == NULL)
- {
- errno = ENOMEM;
- return NULL;
- }
- }
- }
- else if (result != resultbuf && length < allocated)
- {
- /* Shrink the allocated memory if possible. */
- DST_UNIT *memory;
-
- memory = (DST_UNIT *) realloc (result, length * sizeof (DST_UNIT));
- if (memory != NULL)
- result = memory;
- }
-
- *lengthp = length;
- return result;
-}
diff --git a/tp/Texinfo/XS/gnulib/lib/uniwidth/width0.h
b/tp/Texinfo/XS/gnulib/lib/uniwidth/width0.h
index 0c1713ac52..6cc35536ad 100644
--- a/tp/Texinfo/XS/gnulib/lib/uniwidth/width0.h
+++ b/tp/Texinfo/XS/gnulib/lib/uniwidth/width0.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Table of non-spacing or control characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
@@ -46,19 +46,19 @@ static const unsigned char nonspacing_table_data[48*64] = {
0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */
0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */
/* 0x0600-0x07ff */
- 0x3f, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */
+ 0x00, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */
0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */
- 0x00, 0x00, 0xc0, 0xbf, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */
- 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0x0700-0x073f */
+ 0x00, 0x00, 0xc0, 0x9f, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */
+ 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0x0700-0x073f */
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0740-0x077f */
0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, /* 0x0780-0x07bf */
0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x20, /* 0x07c0-0x07ff */
/* 0x0800-0x09ff */
0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */
0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */
- 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */
- 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */
+ 0x00, 0xfc, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */
0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */
@@ -273,8 +273,8 @@ static const unsigned char nonspacing_table_data[48*64] = {
/* 0x11000-0x111ff */
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11000-0x1103f */
0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x80, /* 0x11040-0x1107f */
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */
- 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x06, /* 0x11080-0x110bf */
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */
0x07, 0x00, 0x00, 0x00, 0x80, 0xef, 0x1f, 0x00, /* 0x11100-0x1113f */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, /* 0x11140-0x1117f */
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */
diff --git a/tp/Texinfo/XS/gnulib/lib/uniwidth/width2.h
b/tp/Texinfo/XS/gnulib/lib/uniwidth/width2.h
index 19c8c02a51..47979b5d7e 100644
--- a/tp/Texinfo/XS/gnulib/lib/uniwidth/width2.h
+++ b/tp/Texinfo/XS/gnulib/lib/uniwidth/width2.h
@@ -1,8 +1,8 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Width 2 property of Unicode characters. */
-/* Generated automatically by gen-uni-tables.c for Unicode 15.0.0. */
+/* Generated automatically by gen-uni-tables.c for Unicode 15.1.0. */
-/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
diff --git a/tp/Texinfo/XS/gnulib/lib/warn-on-use.h
b/tp/Texinfo/XS/gnulib/lib/warn-on-use.h
index 8f4d40dcbe..701013a07f 100644
--- a/tp/Texinfo/XS/gnulib/lib/warn-on-use.h
+++ b/tp/Texinfo/XS/gnulib/lib/warn-on-use.h
@@ -32,6 +32,10 @@
_GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
linkage.
+ _GL_WARN_ON_USE should not be used more than once for a given function
+ in a given compilation unit (because this may generate a warning even
+ if the function is never called).
+
However, one of the reasons that a function is a portability trap is
if it has the wrong signature. Declaring FUNCTION with a different
signature in C is a compilation error, so this macro must use the
diff --git a/tp/Texinfo/XS/gnulib/lib/xalloc-oversized.h
b/tp/Texinfo/XS/gnulib/lib/xalloc-oversized.h
index 0b7bb2cee8..7f30f83e76 100644
--- a/tp/Texinfo/XS/gnulib/lib/xalloc-oversized.h
+++ b/tp/Texinfo/XS/gnulib/lib/xalloc-oversized.h
@@ -29,8 +29,7 @@
is SIZE_MAX - 1. */
#define __xalloc_oversized(n, s) \
((s) != 0 \
- && ((size_t) (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) \
- < (n)))
+ && (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX - 1) / (s) < (n))
/* Return 1 if and only if an array of N objects, each of size S,
cannot exist reliably because its total size in bytes would exceed
diff --git a/tp/Texinfo/XS/gnulib/m4/gnulib-cache.m4
b/tp/Texinfo/XS/gnulib/m4/gnulib-cache.m4
index 932135a8db..6f1aff5736 100644
--- a/tp/Texinfo/XS/gnulib/m4/gnulib-cache.m4
+++ b/tp/Texinfo/XS/gnulib/m4/gnulib-cache.m4
@@ -47,9 +47,6 @@
# uchar \
# unicase/u8-tolower \
# unicase/u8-toupper \
-# uniconv/u32-strconv-from-enc \
-# uniconv/u8-strconv-from-enc \
-# uniconv/u8-strconv-to-enc \
# unictype/category-L \
# unictype/category-M \
# unictype/category-Mn \
@@ -87,9 +84,6 @@ gl_MODULES([
uchar
unicase/u8-tolower
unicase/u8-toupper
- uniconv/u32-strconv-from-enc
- uniconv/u8-strconv-from-enc
- uniconv/u8-strconv-to-enc
unictype/category-L
unictype/category-M
unictype/category-Mn
diff --git a/tp/Texinfo/XS/gnulib/m4/gnulib-common.m4
b/tp/Texinfo/XS/gnulib/m4/gnulib-common.m4
index 03d10fa51e..d8d0904f78 100644
--- a/tp/Texinfo/XS/gnulib/m4/gnulib-common.m4
+++ b/tp/Texinfo/XS/gnulib/m4/gnulib-common.m4
@@ -1,4 +1,4 @@
-# gnulib-common.m4 serial 90
+# gnulib-common.m4 serial 92
dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -76,42 +76,48 @@ AC_DEFUN([gl_COMMON_BODY], [
#endif])
AH_VERBATIM([attribute],
[/* Attributes. */
-#if (defined __has_attribute \
- && (!defined __clang_minor__ \
- || (defined __apple_build_version__ \
- ? 6000000 <= __apple_build_version__ \
- : 5 <= __clang_major__)))
-# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
-#else
-# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
-# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
-# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
-# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
-# define _GL_ATTR_diagnose_if 0
-# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
-# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
-# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
-# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
-# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
-# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
-# ifdef _ICC
-# define _GL_ATTR_may_alias 0
+/* Define _GL_HAS_ATTRIBUTE only once, because on FreeBSD, with gcc < 5, if
+ <config.h> gets included once again after <sys/cdefs.h>, __has_attribute(x)
+ expands to 0 always, and redefining _GL_HAS_ATTRIBUTE would turn off all
+ attributes. */
+#ifndef _GL_HAS_ATTRIBUTE
+# if (defined __has_attribute \
+ && (!defined __clang_minor__ \
+ || (defined __apple_build_version__ \
+ ? 7000000 <= __apple_build_version__ \
+ : 5 <= __clang_major__)))
+# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
# else
-# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
+# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
+# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
+# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
+# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_diagnose_if 0
+# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
+# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
+# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
+# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
+# ifdef _ICC
+# define _GL_ATTR_may_alias 0
+# else
+# define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
+# endif
+# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
+# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
+# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
+# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
+# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
# endif
-# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
-# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
-# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
-# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
-# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
-# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
-# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
-# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
-# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
-# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
#endif
/* Use __has_c_attribute if available. However, do not use with
diff --git a/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
b/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
index a281187068..d0ec1af034 100644
--- a/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
+++ b/tp/Texinfo/XS/gnulib/m4/gnulib-comp.m4
@@ -49,9 +49,6 @@ AC_DEFUN([gl_EARLY],
# Code from module array-mergesort:
# Code from module assert-h:
# Code from module attribute:
- # Code from module c-ctype:
- # Code from module c-strcase:
- # Code from module c-strcaseeq:
# Code from module c99:
# Code from module environ:
# Code from module errno:
@@ -67,8 +64,6 @@ AC_DEFUN([gl_EARLY],
# Code from module gperf:
# Code from module havelib:
# Code from module iconv:
- # Code from module iconv-h:
- # Code from module iconv_open:
# Code from module idx:
# Code from module include_next:
# Code from module inline:
@@ -98,8 +93,6 @@ AC_DEFUN([gl_EARLY],
# Code from module stdlib:
# Code from module strchrnul:
# Code from module streq:
- # Code from module striconveh:
- # Code from module striconveha:
# Code from module string:
# Code from module strndup:
# Code from module strnlen:
@@ -116,12 +109,6 @@ AC_DEFUN([gl_EARLY],
# Code from module unicase/u8-casemap:
# Code from module unicase/u8-tolower:
# Code from module unicase/u8-toupper:
- # Code from module uniconv/base:
- # Code from module uniconv/u32-conv-from-enc:
- # Code from module uniconv/u32-strconv-from-enc:
- # Code from module uniconv/u8-conv-from-enc:
- # Code from module uniconv/u8-strconv-from-enc:
- # Code from module uniconv/u8-strconv-to-enc:
# Code from module unictype/base:
# Code from module unictype/category-L:
# Code from module unictype/category-M:
@@ -147,22 +134,16 @@ AC_DEFUN([gl_EARLY],
# Code from module uninorm/u8-normalize:
# Code from module unistd:
# Code from module unistr/base:
- # Code from module unistr/u32-mblen:
# Code from module unistr/u32-next:
- # Code from module unistr/u32-strlen:
# Code from module unistr/u32-strmbtouc:
- # Code from module unistr/u8-check:
# Code from module unistr/u8-cpy:
- # Code from module unistr/u8-mblen:
# Code from module unistr/u8-mbsnlen:
# Code from module unistr/u8-mbtouc:
# Code from module unistr/u8-mbtouc-unsafe:
# Code from module unistr/u8-mbtoucr:
# Code from module unistr/u8-next:
- # Code from module unistr/u8-prev:
# Code from module unistr/u8-strlen:
# Code from module unistr/u8-strmbtouc:
- # Code from module unistr/u8-to-u32:
# Code from module unistr/u8-uctomb:
# Code from module unitypes:
# Code from module uniwidth/base:
@@ -239,15 +220,6 @@ AC_DEFUN([gl_INIT],
AM_ICONV
m4_ifdef([gl_ICONV_MODULE_INDICATOR],
[gl_ICONV_MODULE_INDICATOR([iconv])])
- gl_ICONV_H
- gl_ICONV_H_REQUIRE_DEFAULTS
- gl_CONDITIONAL_HEADER([iconv.h])
- AC_PROG_MKDIR_P
- gl_FUNC_ICONV_OPEN
- dnl Because of gl_REPLACE_ICONV_H:
- gl_CONDITIONAL_HEADER([iconv.h])
- gl_CONDITIONAL([GL_COND_OBJ_ICONV_OPEN], [test $REPLACE_ICONV_OPEN = 1])
- gl_CONDITIONAL([GL_COND_OBJ_ICONV], [test $REPLACE_ICONV = 1])
gl_INLINE
gl_INTTYPES_INCOMPLETE
gl_INTTYPES_H_REQUIRE_DEFAULTS
@@ -341,10 +313,6 @@ AC_DEFUN([gl_INIT],
gl_PREREQ_STRCHRNUL
])
gl_STRING_MODULE_INDICATOR([strchrnul])
- if test $gl_cond_libtool = false; then
- gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
- gl_libdeps="$gl_libdeps $LIBICONV"
- fi
gl_STRING_H
gl_STRING_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
@@ -380,19 +348,12 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([0.9.11], [unicase/toupper])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-tolower])
gl_LIBUNISTRING_MODULE([1.1], [unicase/u8-toupper])
- gl_LIBUNISTRING_LIBHEADER([0.9.11], [uniconv.h])
- AC_PROG_MKDIR_P
- gl_LIBUNISTRING_MODULE([0.9], [uniconv/u32-conv-from-enc])
- gl_LIBUNISTRING_MODULE([0.9], [uniconv/u32-strconv-from-enc])
- gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-conv-from-enc])
- gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-strconv-from-enc])
- gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-strconv-to-enc])
gl_LIBUNISTRING_LIBHEADER([1.2], [unictype.h])
gl_UNICTYPE_H
gl_UNICTYPE_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
gl_UNICTYPE_H_REQUIRE_DEFAULTS
- gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-L])
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/category-L])
gl_UNICTYPE_H_REQUIRE_DEFAULTS
gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/category-M])
gl_UNICTYPE_H_REQUIRE_DEFAULTS
@@ -406,7 +367,7 @@ AC_DEFUN([gl_INIT],
gl_LIBUNISTRING_MODULE([0.9.11], [unictype/ctype-upper])
AC_REQUIRE([AC_C_INLINE])
gl_UNICTYPE_H_REQUIRE_DEFAULTS
- gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.1], [unictype/property-alphabetic])
+ gl_LIBUNISTRING_MODULE_WITH_VARIABLE([1.2], [unictype/property-alphabetic])
AC_REQUIRE([AC_C_INLINE])
gl_UNICTYPE_H_REQUIRE_DEFAULTS
gl_LIBUNISTRING_MODULE_WITH_VARIABLE([0.9.8],
[unictype/property-join-control])
@@ -435,13 +396,9 @@ AC_DEFUN([gl_INIT],
AC_PROG_MKDIR_P
gl_LIBUNISTRING_LIBHEADER([1.2], [unistr.h])
AC_PROG_MKDIR_P
- gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-mblen])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-next])
- gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strlen])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strmbtouc])
- gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-check])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-cpy])
- gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mblen])
gl_LIBUNISTRING_MODULE([1.2], [unistr/u8-mbsnlen])
gl_MODULE_INDICATOR([unistr/u8-mbtouc])
gl_LIBUNISTRING_MODULE([1.2], [unistr/u8-mbtouc])
@@ -450,10 +407,8 @@ AC_DEFUN([gl_INIT],
gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-next])
- gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-prev])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strlen])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strmbtouc])
- gl_LIBUNISTRING_MODULE([0.9.3], [unistr/u8-to-u32])
gl_MODULE_INDICATOR([unistr/u8-uctomb])
gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
gl_LIBUNISTRING_LIBHEADER([0.9.11], [unitypes.h])
@@ -475,9 +430,9 @@ AC_DEFUN([gl_INIT],
])
gl_LIBUNISTRING_LIBHEADER([0.9.11], [uniwidth.h])
AC_PROG_MKDIR_P
- gl_LIBUNISTRING_MODULE([1.1], [uniwidth/u8-strwidth])
- gl_LIBUNISTRING_MODULE([1.1], [uniwidth/u8-width])
- gl_LIBUNISTRING_MODULE([1.1], [uniwidth/width])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwidth/u8-strwidth])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwidth/u8-width])
+ gl_LIBUNISTRING_MODULE([1.2], [uniwidth/width])
gl_FUNC_UNSETENV
gl_CONDITIONAL([GL_COND_OBJ_UNSETENV],
[test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1])
@@ -679,12 +634,6 @@ AC_DEFUN([gl_FILE_LIST], [
lib/assert.in.h
lib/attribute.h
lib/c++defs.h
- lib/c-ctype.c
- lib/c-ctype.h
- lib/c-strcase.h
- lib/c-strcasecmp.c
- lib/c-strcaseeq.h
- lib/c-strncasecmp.c
lib/errno.in.h
lib/exitfail.c
lib/exitfail.h
@@ -695,17 +644,6 @@ AC_DEFUN([gl_FILE_LIST], [
lib/getdelim.c
lib/getline.c
lib/gettext.h
- lib/iconv.c
- lib/iconv.in.h
- lib/iconv_close.c
- lib/iconv_open-aix.gperf
- lib/iconv_open-hpux.gperf
- lib/iconv_open-irix.gperf
- lib/iconv_open-osf.gperf
- lib/iconv_open-solaris.gperf
- lib/iconv_open-zos.gperf
- lib/iconv_open.c
- lib/iconveh.h
lib/idx.h
lib/intprops-internal.h
lib/inttypes.in.h
@@ -738,10 +676,6 @@ AC_DEFUN([gl_FILE_LIST], [
lib/strchrnul.c
lib/strchrnul.valgrind
lib/streq.h
- lib/striconveh.c
- lib/striconveh.h
- lib/striconveha.c
- lib/striconveha.h
lib/string.in.h
lib/strndup.c
lib/strnlen.c
@@ -769,14 +703,6 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unicase/u8-tolower.c
lib/unicase/u8-toupper.c
lib/unicase/unicasemap.h
- lib/uniconv.in.h
- lib/uniconv/u-conv-from-enc.h
- lib/uniconv/u-strconv-from-enc.h
- lib/uniconv/u32-conv-from-enc.c
- lib/uniconv/u32-strconv-from-enc.c
- lib/uniconv/u8-conv-from-enc.c
- lib/uniconv/u8-strconv-from-enc.c
- lib/uniconv/u8-strconv-to-enc.c
lib/unictype.in.h
lib/unictype/bitmap.h
lib/unictype/categ_L.c
@@ -821,14 +747,9 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unistd.in.h
lib/unistr.in.h
lib/unistr/u-cpy.h
- lib/unistr/u-strlen.h
- lib/unistr/u32-mblen.c
lib/unistr/u32-next.c
- lib/unistr/u32-strlen.c
lib/unistr/u32-strmbtouc.c
- lib/unistr/u8-check.c
lib/unistr/u8-cpy.c
- lib/unistr/u8-mblen.c
lib/unistr/u8-mbsnlen.c
lib/unistr/u8-mbtouc-aux.c
lib/unistr/u8-mbtouc-unsafe-aux.c
@@ -836,10 +757,8 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unistr/u8-mbtouc.c
lib/unistr/u8-mbtoucr.c
lib/unistr/u8-next.c
- lib/unistr/u8-prev.c
lib/unistr/u8-strlen.c
lib/unistr/u8-strmbtouc.c
- lib/unistr/u8-to-u32.c
lib/unistr/u8-uctomb-aux.c
lib/unistr/u8-uctomb.c
lib/unitypes.in.h
@@ -881,8 +800,6 @@ AC_DEFUN([gl_FILE_LIST], [
m4/gnulib-common.m4
m4/host-cpu-c-abi.m4
m4/iconv.m4
- m4/iconv_h.m4
- m4/iconv_open.m4
m4/include_next.m4
m4/inline.m4
m4/intmax_t.m4
diff --git a/tp/Texinfo/XS/gnulib/m4/host-cpu-c-abi.m4
b/tp/Texinfo/XS/gnulib/m4/host-cpu-c-abi.m4
index 2aa413c1fd..e860a19e74 100644
--- a/tp/Texinfo/XS/gnulib/m4/host-cpu-c-abi.m4
+++ b/tp/Texinfo/XS/gnulib/m4/host-cpu-c-abi.m4
@@ -1,4 +1,4 @@
-# host-cpu-c-abi.m4 serial 16
+# host-cpu-c-abi.m4 serial 17
dnl Copyright (C) 2002-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -461,218 +461,66 @@ EOF
dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI
dnl (application binary interface) is a 32-bit one, to 'no' if it is a 64-bit
-dnl one, or to 'unknown' if unknown.
+dnl one.
dnl This is a simplified variant of gl_HOST_CPU_C_ABI.
AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],
[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit],
- [if test -n "$gl_cv_host_cpu_c_abi"; then
- dnl gl_HOST_CPU_C_ABI has already been run. Use its result.
- case "$gl_cv_host_cpu_c_abi" in
- i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 |
mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
- gl_cv_host_cpu_c_abi_32bit=yes ;;
- x86_64 | alpha | arm64 | aarch64c | hppa64 | ia64 | mips64 |
powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
- gl_cv_host_cpu_c_abi_32bit=no ;;
- *)
- gl_cv_host_cpu_c_abi_32bit=unknown ;;
- esac
- else
- case "$host_cpu" in
-
- # CPUs that only support a 32-bit ABI.
- arc \
- | bfin \
- | cris* \
- | csky \
- | epiphany \
- | ft32 \
- | h8300 \
- | m68k \
- | microblaze | microblazeel \
- | nds32 | nds32le | nds32be \
- | nios2 | nios2eb | nios2el \
- | or1k* \
- | or32 \
- | sh | sh[1234] | sh[1234]e[lb] \
- | tic6x \
- | xtensa* )
- gl_cv_host_cpu_c_abi_32bit=yes
- ;;
+ [case "$host_cpu" in
- # CPUs that only support a 64-bit ABI.
-changequote(,)dnl
- alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
- | mmix )
-changequote([,])dnl
- gl_cv_host_cpu_c_abi_32bit=no
- ;;
+ # CPUs that only support a 32-bit ABI.
+ arc \
+ | bfin \
+ | cris* \
+ | csky \
+ | epiphany \
+ | ft32 \
+ | h8300 \
+ | m68k \
+ | microblaze | microblazeel \
+ | nds32 | nds32le | nds32be \
+ | nios2 | nios2eb | nios2el \
+ | or1k* \
+ | or32 \
+ | sh | sh[1234] | sh[1234]e[lb] \
+ | tic6x \
+ | xtensa* )
+ gl_cv_host_cpu_c_abi_32bit=yes
+ ;;
+ # CPUs that only support a 64-bit ABI.
changequote(,)dnl
- i[34567]86 )
+ alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
+ | mmix )
changequote([,])dnl
- gl_cv_host_cpu_c_abi_32bit=yes
- ;;
-
- x86_64 )
- # On x86_64 systems, the C compiler may be generating code in one of
- # these ABIs:
- # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64.
- # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64
- # with native Windows (mingw, MSVC).
- # - 64-bit instruction set, 32-bit pointers, 32-bit 'long':
x86_64-x32.
- # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if (defined __x86_64__ || defined __amd64__ \
- || defined _M_X64 || defined _M_AMD64) \
- && !(defined __ILP32__ || defined _ILP32)
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- arm* | aarch64 | aarch64c )
- # Assume arm with EABI.
- # On arm64 systems, the C compiler may be generating code in one of
- # these ABIs:
- # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64.
- # - aarch64 instruction set, 32-bit pointers, 32-bit 'long':
arm64-ilp32.
- # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or
armhf.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if defined __aarch64__ && !(defined __ILP32__ || defined
_ILP32)
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- hppa1.0 | hppa1.1 | hppa2.0* | hppa64 )
- # On hppa, the C compiler may be generating 32-bit code or 64-bit
- # code. In the latter case, it defines _LP64 and __LP64__.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#ifdef __LP64__
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- ia64* )
- # On ia64 on HP-UX, the C compiler may be generating 64-bit code or
- # 32-bit code. In the latter case, it defines _ILP32.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#ifdef _ILP32
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=yes],
- [gl_cv_host_cpu_c_abi_32bit=no])
- ;;
-
- mips* )
- # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this
- # at 32.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64)
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- powerpc* )
- # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD.
- # No need to distinguish them here; the caller may distinguish
- # them based on the OS.
- # On powerpc64 systems, the C compiler may still be generating
- # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may
- # be generating 64-bit code.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if defined __powerpc64__ || defined __LP64__
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- rs6000 )
- gl_cv_host_cpu_c_abi_32bit=yes
- ;;
-
- riscv32 | riscv64 )
- # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d.
- # Size of 'long' and 'void *':
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if defined __LP64__
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- s390* )
- # On s390x, the C compiler may be generating 64-bit (= s390x) code
- # or 31-bit (= s390) code.
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#if defined __LP64__ || defined __s390x__
- int ok;
- #else
- error fail
- #endif
- ]])],
- [gl_cv_host_cpu_c_abi_32bit=no],
- [gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
+ gl_cv_host_cpu_c_abi_32bit=no
+ ;;
- sparc | sparc64 )
- # UltraSPARCs running Linux have `uname -m` = "sparc64", but the
- # C compiler still generates 32-bit code.
+ *)
+ if test -n "$gl_cv_host_cpu_c_abi"; then
+ dnl gl_HOST_CPU_C_ABI has already been run. Use its result.
+ case "$gl_cv_host_cpu_c_abi" in
+ i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32
| mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
+ gl_cv_host_cpu_c_abi_32bit=yes ;;
+ x86_64 | alpha | arm64 | aarch64c | hppa64 | ia64 | mips64 |
powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
+ gl_cv_host_cpu_c_abi_32bit=no ;;
+ *)
+ gl_cv_host_cpu_c_abi_32bit=unknown ;;
+ esac
+ else
+ gl_cv_host_cpu_c_abi_32bit=unknown
+ fi
+ if test $gl_cv_host_cpu_c_abi_32bit = unknown; then
AC_COMPILE_IFELSE(
[AC_LANG_SOURCE(
- [[#if defined __sparcv9 || defined __arch64__
- int ok;
- #else
- error fail
- #endif
+ [[int test_pointer_size[sizeof (void *) - 5];
]])],
[gl_cv_host_cpu_c_abi_32bit=no],
[gl_cv_host_cpu_c_abi_32bit=yes])
- ;;
-
- *)
- gl_cv_host_cpu_c_abi_32bit=unknown
- ;;
- esac
- fi
+ fi
+ ;;
+ esac
])
HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit"
diff --git a/tp/Texinfo/XS/gnulib/m4/iconv_h.m4
b/tp/Texinfo/XS/gnulib/m4/iconv_h.m4
deleted file mode 100644
index 7b56088755..0000000000
--- a/tp/Texinfo/XS/gnulib/m4/iconv_h.m4
+++ /dev/null
@@ -1,70 +0,0 @@
-# iconv_h.m4 serial 16
-dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN_ONCE([gl_ICONV_H],
-[
- AC_REQUIRE([gl_ICONV_H_DEFAULTS])
-
- dnl Execute this unconditionally, because GL_GENERATE_ICONV_H may be set to
- dnl true by other modules, after this code is executed.
- gl_CHECK_NEXT_HEADERS([iconv.h])
-
- dnl Check for declarations of anything we want to poison if the
- dnl corresponding gnulib module is not in use, and which is not
- dnl guaranteed by C89.
- gl_WARN_ON_USE_PREPARE([[#include <iconv.h>
- ]], [iconv iconv_open])
-
- AC_REQUIRE([AC_C_RESTRICT])
-])
-
-dnl Unconditionally enables the replacement of <iconv.h>.
-AC_DEFUN([gl_REPLACE_ICONV_H],
-[
- gl_ICONV_H_REQUIRE_DEFAULTS
- GL_GENERATE_ICONV_H=true
-])
-
-# gl_ICONV_MODULE_INDICATOR([modulename])
-# sets the shell variable that indicates the presence of the given module
-# to a C preprocessor expression that will evaluate to 1.
-# This macro invocation must not occur in macros that are AC_REQUIREd.
-AC_DEFUN([gl_ICONV_MODULE_INDICATOR],
-[
- dnl Ensure to expand the default settings once only.
- gl_ICONV_H_REQUIRE_DEFAULTS
- gl_MODULE_INDICATOR_SET_VARIABLE([$1])
-])
-
-# Initializes the default values for AC_SUBSTed shell variables.
-# This macro must not be AC_REQUIREd. It must only be invoked, and only
-# outside of macros or in macros that are not AC_REQUIREd.
-AC_DEFUN([gl_ICONV_H_REQUIRE_DEFAULTS],
-[
- m4_defun(GL_MODULE_INDICATOR_PREFIX[_ICONV_H_MODULE_INDICATOR_DEFAULTS], [
- gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ICONV])
- ])
- m4_require(GL_MODULE_INDICATOR_PREFIX[_ICONV_H_MODULE_INDICATOR_DEFAULTS])
- AC_REQUIRE([gl_ICONV_H_DEFAULTS])
-])
-
-AC_DEFUN([gl_ICONV_H_DEFAULTS],
-[
- m4_ifdef([gl_ANSI_CXX], [AC_REQUIRE([gl_ANSI_CXX])])
- dnl Assume proper GNU behavior unless another module says otherwise.
- ICONV_CONST=; AC_SUBST([ICONV_CONST])
- REPLACE_ICONV=0; AC_SUBST([REPLACE_ICONV])
- REPLACE_ICONV_OPEN=0; AC_SUBST([REPLACE_ICONV_OPEN])
- REPLACE_ICONV_UTF=0; AC_SUBST([REPLACE_ICONV_UTF])
- GL_GENERATE_ICONV_H=false
- m4_ifdef([gl_POSIXCHECK],
- [GL_GENERATE_ICONV_H=true],
- [if m4_ifdef([gl_ANSI_CXX], [test "$CXX" != no], [false]); then
- dnl Override <fnmatch.h> always, to support the C++ GNULIB_NAMESPACE.
- GL_GENERATE_ICONV_H=true
- fi
- ])
-])
diff --git a/tp/Texinfo/XS/gnulib/m4/iconv_open.m4
b/tp/Texinfo/XS/gnulib/m4/iconv_open.m4
deleted file mode 100644
index d4fd3ab7f6..0000000000
--- a/tp/Texinfo/XS/gnulib/m4/iconv_open.m4
+++ /dev/null
@@ -1,60 +0,0 @@
-# iconv_open.m4 serial 16
-dnl Copyright (C) 2007-2024 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_FUNC_ICONV_OPEN],
-[
- AC_REQUIRE([AM_ICONV])
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([gl_ICONV_H_DEFAULTS])
- if test "$am_cv_func_iconv" = yes; then
- dnl Provide the <iconv.h> override, for the sake of the C++ aliases.
- gl_REPLACE_ICONV_H
- dnl Test whether iconv_open accepts standardized encoding names.
- dnl We know that GNU libiconv and GNU libc do.
- AC_EGREP_CPP([gnu_iconv], [
- #include <iconv.h>
- #if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined
__UCLIBC__)
- gnu_iconv
- #endif
- ], [gl_func_iconv_gnu=yes], [gl_func_iconv_gnu=no])
- if test $gl_func_iconv_gnu = no; then
- iconv_flavor=
- case "$host_os" in
- aix*) iconv_flavor=ICONV_FLAVOR_AIX ;;
- irix*) iconv_flavor=ICONV_FLAVOR_IRIX ;;
- hpux*) iconv_flavor=ICONV_FLAVOR_HPUX ;;
- osf*) iconv_flavor=ICONV_FLAVOR_OSF ;;
- solaris*) iconv_flavor=ICONV_FLAVOR_SOLARIS ;;
- openedition*) iconv_flavor=ICONV_FLAVOR_ZOS ;;
- esac
- if test -n "$iconv_flavor"; then
- AC_DEFINE_UNQUOTED([ICONV_FLAVOR], [$iconv_flavor],
- [Define to a symbolic name denoting the flavor of iconv_open()
- implementation.])
- gl_REPLACE_ICONV_OPEN
- fi
- fi
- m4_ifdef([gl_FUNC_ICONV_OPEN_UTF_SUPPORT], [
- gl_FUNC_ICONV_OPEN_UTF_SUPPORT
- case "$gl_cv_func_iconv_supports_utf" in
- *yes) ;;
- *)
- REPLACE_ICONV_UTF=1
- AC_DEFINE([REPLACE_ICONV_UTF], [1],
- [Define if the iconv() functions are enhanced to handle the
UTF-{16,32}{BE,LE} encodings.])
- REPLACE_ICONV=1
- gl_REPLACE_ICONV_OPEN
- ;;
- esac
- ])
- fi
-])
-
-AC_DEFUN([gl_REPLACE_ICONV_OPEN],
-[
- gl_REPLACE_ICONV_H
- REPLACE_ICONV_OPEN=1
-])
diff --git a/tp/Texinfo/XS/gnulib/m4/lib-prefix.m4
b/tp/Texinfo/XS/gnulib/m4/lib-prefix.m4
index 0c6f96ca68..f327c6ef03 100644
--- a/tp/Texinfo/XS/gnulib/m4/lib-prefix.m4
+++ b/tp/Texinfo/XS/gnulib/m4/lib-prefix.m4
@@ -1,4 +1,4 @@
-# lib-prefix.m4 serial 21
+# lib-prefix.m4 serial 22
dnl Copyright (C) 2001-2005, 2008-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -256,6 +256,15 @@ changequote([,])dnl
esac
fi
;;
+ netbsd*)
+ dnl On NetBSD/sparc64, there is a 'sparc' subdirectory that contains
+ dnl 32-bit libraries.
+ if test $HOST_CPU_C_ABI_32BIT != no; then
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparc ;;
+ esac
+ fi
+ ;;
*)
dnl If $CC generates code for a 32-bit ABI, the libraries are
dnl surely under $prefix/lib or $prefix/lib32, not $prefix/lib64.
diff --git a/tp/Texinfo/XS/gnulib/m4/printf.m4
b/tp/Texinfo/XS/gnulib/m4/printf.m4
index bb67d59409..05bf7fe1df 100644
--- a/tp/Texinfo/XS/gnulib/m4/printf.m4
+++ b/tp/Texinfo/XS/gnulib/m4/printf.m4
@@ -1,4 +1,4 @@
-# printf.m4 serial 89
+# printf.m4 serial 90
dnl Copyright (C) 2003, 2007-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -890,6 +890,7 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_N],
[
AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
+#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -907,6 +908,12 @@ invalid_parameter_handler (const wchar_t *expression,
exit (1);
}
#endif
+static void
+abort_handler (int sig)
+{
+ (void) sig;
+ _exit (1);
+}
static char fmtstring[10];
static char buf[100];
int main ()
@@ -915,6 +922,7 @@ int main ()
#ifdef _MSC_VER
_set_invalid_parameter_handler (invalid_parameter_handler);
#endif
+ signal (SIGABRT, abort_handler);
/* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2)
support %n in format strings in read-only memory but not in writable
memory. */
diff --git a/tp/Texinfo/XS/gnulib/m4/unictype_h.m4
b/tp/Texinfo/XS/gnulib/m4/unictype_h.m4
index c4bc5c2c8d..68b864bd9f 100644
--- a/tp/Texinfo/XS/gnulib/m4/unictype_h.m4
+++ b/tp/Texinfo/XS/gnulib/m4/unictype_h.m4
@@ -1,4 +1,4 @@
-# unictype_h.m4 serial 1
+# unictype_h.m4 serial 3
dnl Copyright (C) 2023-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -98,6 +98,8 @@ AC_DEFUN([gl_UNICTYPE_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
+
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
+
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
@@ -127,6 +129,7 @@ AC_DEFUN([gl_UNICTYPE_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
+
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
@@ -140,6 +143,7 @@ AC_DEFUN([gl_UNICTYPE_H_REQUIRE_DEFAULTS],
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
+
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE],
['LIBUNISTRING_DLL_VARIABLE'])