summaryrefslogtreecommitdiff
path: root/macros/texinfo/texinfo/util
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-01-10 03:03:23 +0000
committerNorbert Preining <norbert@preining.info>2024-01-10 03:03:23 +0000
commitcdb8117b8f1ac752d1927b82759c5be9f0ec0ab5 (patch)
treeebd07d36ab12076de3523b744cc87f975747f3e0 /macros/texinfo/texinfo/util
parent140e2f7f1509acd423172e2895d0d7839e5b88c6 (diff)
CTAN sync 202401100303
Diffstat (limited to 'macros/texinfo/texinfo/util')
-rw-r--r--macros/texinfo/texinfo/util/Makefile.am2
-rw-r--r--macros/texinfo/texinfo/util/Makefile.in278
-rw-r--r--macros/texinfo/texinfo/util/README2
-rw-r--r--macros/texinfo/texinfo/util/detexinfo2
-rw-r--r--macros/texinfo/texinfo/util/htmlxref.cnf12
-rw-r--r--macros/texinfo/texinfo/util/pdftexi2dvi2
-rw-r--r--macros/texinfo/texinfo/util/texi-elements-by-size2
-rw-r--r--macros/texinfo/texinfo/util/texi2dvi86
-rw-r--r--macros/texinfo/texinfo/util/texi2pdf2
-rw-r--r--macros/texinfo/texinfo/util/texindex.bat2
-rw-r--r--macros/texinfo/texinfo/util/texinfo.dtd343
-rw-r--r--macros/texinfo/texinfo/util/txixml2texi.pl180
12 files changed, 677 insertions, 236 deletions
diff --git a/macros/texinfo/texinfo/util/Makefile.am b/macros/texinfo/texinfo/util/Makefile.am
index 55bd789acc..3799133379 100644
--- a/macros/texinfo/texinfo/util/Makefile.am
+++ b/macros/texinfo/texinfo/util/Makefile.am
@@ -1,7 +1,7 @@
# Makefile.am for texinfo/util.
# Run automake in .. to produce Makefile.in from this.
#
-# Copyright 2005-2019 Free Software Foundation, Inc.
+# Copyright 2005-2023 Free Software Foundation, Inc.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
diff --git a/macros/texinfo/texinfo/util/Makefile.in b/macros/texinfo/texinfo/util/Makefile.in
index 1eafd73f61..c7833473e6 100644
--- a/macros/texinfo/texinfo/util/Makefile.in
+++ b/macros/texinfo/texinfo/util/Makefile.in
@@ -17,7 +17,7 @@
# Makefile.am for texinfo/util.
# Run automake in .. to produce Makefile.in from this.
#
-# Copyright 2005-2019 Free Software Foundation, Inc.
+# Copyright 2005-2023 Free Software Foundation, Inc.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -115,6 +115,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/builtin-expect.m4 \
$(top_srcdir)/gnulib/m4/c-bool.m4 \
$(top_srcdir)/gnulib/m4/calloc.m4 \
+ $(top_srcdir)/gnulib/m4/clock_time.m4 \
$(top_srcdir)/gnulib/m4/close.m4 \
$(top_srcdir)/gnulib/m4/codeset.m4 \
$(top_srcdir)/gnulib/m4/double-slash-root.m4 \
@@ -122,6 +123,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/eealloc.m4 \
$(top_srcdir)/gnulib/m4/errno_h.m4 \
$(top_srcdir)/gnulib/m4/error.m4 \
+ $(top_srcdir)/gnulib/m4/error_h.m4 \
$(top_srcdir)/gnulib/m4/exponentd.m4 \
$(top_srcdir)/gnulib/m4/extensions.m4 \
$(top_srcdir)/gnulib/m4/extern-inline.m4 \
@@ -134,6 +136,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/getdtablesize.m4 \
$(top_srcdir)/gnulib/m4/getopt.m4 \
$(top_srcdir)/gnulib/m4/getprogname.m4 \
+ $(top_srcdir)/gnulib/m4/getrandom.m4 \
$(top_srcdir)/gnulib/m4/gettext.m4 \
$(top_srcdir)/gnulib/m4/gnulib-common.m4 \
$(top_srcdir)/gnulib/m4/gnulib-comp.m4 \
@@ -145,7 +148,9 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/inttypes.m4 \
$(top_srcdir)/gnulib/m4/inttypes_h.m4 \
$(top_srcdir)/gnulib/m4/iswblank.m4 \
+ $(top_srcdir)/gnulib/m4/iswctype.m4 \
$(top_srcdir)/gnulib/m4/iswdigit.m4 \
+ $(top_srcdir)/gnulib/m4/iswpunct.m4 \
$(top_srcdir)/gnulib/m4/iswxdigit.m4 \
$(top_srcdir)/gnulib/m4/langinfo_h.m4 \
$(top_srcdir)/gnulib/m4/largefile.m4 \
@@ -161,10 +166,12 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/locale_h.m4 \
$(top_srcdir)/gnulib/m4/localeconv.m4 \
$(top_srcdir)/gnulib/m4/lock.m4 \
+ $(top_srcdir)/gnulib/m4/lstat.m4 \
$(top_srcdir)/gnulib/m4/malloc.m4 \
$(top_srcdir)/gnulib/m4/malloca.m4 \
$(top_srcdir)/gnulib/m4/mbchar.m4 \
$(top_srcdir)/gnulib/m4/mbiter.m4 \
+ $(top_srcdir)/gnulib/m4/mbrtoc32.m4 \
$(top_srcdir)/gnulib/m4/mbrtowc.m4 \
$(top_srcdir)/gnulib/m4/mbsinit.m4 \
$(top_srcdir)/gnulib/m4/mbslen.m4 \
@@ -175,11 +182,14 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
+ $(top_srcdir)/gnulib/m4/mkdir.m4 \
+ $(top_srcdir)/gnulib/m4/mkstemp.m4 \
$(top_srcdir)/gnulib/m4/mmap-anon.m4 \
$(top_srcdir)/gnulib/m4/mode_t.m4 \
$(top_srcdir)/gnulib/m4/msvc-inval.m4 \
$(top_srcdir)/gnulib/m4/msvc-nothrow.m4 \
$(top_srcdir)/gnulib/m4/multiarch.m4 \
+ $(top_srcdir)/gnulib/m4/musl.m4 \
$(top_srcdir)/gnulib/m4/nl_langinfo.m4 \
$(top_srcdir)/gnulib/m4/nls.m4 \
$(top_srcdir)/gnulib/m4/nocrash.m4 \
@@ -200,6 +210,7 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/ssize_t.m4 \
$(top_srcdir)/gnulib/m4/stat-time.m4 \
$(top_srcdir)/gnulib/m4/stat.m4 \
+ $(top_srcdir)/gnulib/m4/stdalign.m4 \
$(top_srcdir)/gnulib/m4/stdarg.m4 \
$(top_srcdir)/gnulib/m4/stddef_h.m4 \
$(top_srcdir)/gnulib/m4/stdint.m4 \
@@ -216,11 +227,17 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/strndup.m4 \
$(top_srcdir)/gnulib/m4/strnlen.m4 \
$(top_srcdir)/gnulib/m4/strstr.m4 \
+ $(top_srcdir)/gnulib/m4/sys_random_h.m4 \
$(top_srcdir)/gnulib/m4/sys_socket_h.m4 \
$(top_srcdir)/gnulib/m4/sys_stat_h.m4 \
$(top_srcdir)/gnulib/m4/sys_types_h.m4 \
+ $(top_srcdir)/gnulib/m4/tempname.m4 \
$(top_srcdir)/gnulib/m4/threadlib.m4 \
$(top_srcdir)/gnulib/m4/time_h.m4 \
+ $(top_srcdir)/gnulib/m4/uchar_h.m4 \
+ $(top_srcdir)/gnulib/m4/unicase_h.m4 \
+ $(top_srcdir)/gnulib/m4/unictype_h.m4 \
+ $(top_srcdir)/gnulib/m4/uninorm_h.m4 \
$(top_srcdir)/gnulib/m4/unistd_h.m4 \
$(top_srcdir)/gnulib/m4/vasnprintf.m4 \
$(top_srcdir)/gnulib/m4/vasprintf.m4 \
@@ -229,12 +246,12 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
$(top_srcdir)/gnulib/m4/wchar_h.m4 \
$(top_srcdir)/gnulib/m4/wchar_t.m4 \
$(top_srcdir)/gnulib/m4/wcrtomb.m4 \
+ $(top_srcdir)/gnulib/m4/wctype.m4 \
$(top_srcdir)/gnulib/m4/wctype_h.m4 \
$(top_srcdir)/gnulib/m4/wcwidth.m4 \
$(top_srcdir)/gnulib/m4/wint_t.m4 \
$(top_srcdir)/gnulib/m4/xalloc.m4 \
$(top_srcdir)/gnulib/m4/xsize.m4 \
- $(top_srcdir)/gnulib/m4/year2038.m4 \
$(top_srcdir)/gnulib/m4/zzgnulib.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
@@ -498,10 +515,13 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLOCK_TIME_LIB = @CLOCK_TIME_LIB@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
+CXX_HAS_CHAR8_TYPE = @CXX_HAS_CHAR8_TYPE@
+CXX_HAS_UCHAR_TYPES = @CXX_HAS_UCHAR_TYPES@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -525,13 +545,40 @@ FLOAT_H = @FLOAT_H@
GAWK = @GAWK@
GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
GETOPT_H = @GETOPT_H@
+GETRANDOM_LIB = @GETRANDOM_LIB@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_BTOC32 = @GL_GNULIB_BTOC32@
GL_GNULIB_BTOWC = @GL_GNULIB_BTOWC@
+GL_GNULIB_C32ISALNUM = @GL_GNULIB_C32ISALNUM@
+GL_GNULIB_C32ISALPHA = @GL_GNULIB_C32ISALPHA@
+GL_GNULIB_C32ISBLANK = @GL_GNULIB_C32ISBLANK@
+GL_GNULIB_C32ISCNTRL = @GL_GNULIB_C32ISCNTRL@
+GL_GNULIB_C32ISDIGIT = @GL_GNULIB_C32ISDIGIT@
+GL_GNULIB_C32ISGRAPH = @GL_GNULIB_C32ISGRAPH@
+GL_GNULIB_C32ISLOWER = @GL_GNULIB_C32ISLOWER@
+GL_GNULIB_C32ISPRINT = @GL_GNULIB_C32ISPRINT@
+GL_GNULIB_C32ISPUNCT = @GL_GNULIB_C32ISPUNCT@
+GL_GNULIB_C32ISSPACE = @GL_GNULIB_C32ISSPACE@
+GL_GNULIB_C32ISUPPER = @GL_GNULIB_C32ISUPPER@
+GL_GNULIB_C32ISXDIGIT = @GL_GNULIB_C32ISXDIGIT@
+GL_GNULIB_C32RTOMB = @GL_GNULIB_C32RTOMB@
+GL_GNULIB_C32SNRTOMBS = @GL_GNULIB_C32SNRTOMBS@
+GL_GNULIB_C32SRTOMBS = @GL_GNULIB_C32SRTOMBS@
+GL_GNULIB_C32STOMBS = @GL_GNULIB_C32STOMBS@
+GL_GNULIB_C32SWIDTH = @GL_GNULIB_C32SWIDTH@
+GL_GNULIB_C32TOB = @GL_GNULIB_C32TOB@
+GL_GNULIB_C32TOLOWER = @GL_GNULIB_C32TOLOWER@
+GL_GNULIB_C32TOUPPER = @GL_GNULIB_C32TOUPPER@
+GL_GNULIB_C32WIDTH = @GL_GNULIB_C32WIDTH@
+GL_GNULIB_C32_APPLY_MAPPING = @GL_GNULIB_C32_APPLY_MAPPING@
+GL_GNULIB_C32_APPLY_TYPE_TEST = @GL_GNULIB_C32_APPLY_TYPE_TEST@
+GL_GNULIB_C32_GET_MAPPING = @GL_GNULIB_C32_GET_MAPPING@
+GL_GNULIB_C32_GET_TYPE_TEST = @GL_GNULIB_C32_GET_TYPE_TEST@
GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
@@ -609,6 +656,8 @@ GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@
+GL_GNULIB_GETRANDOM = @GL_GNULIB_GETRANDOM@
GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@
GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
@@ -620,6 +669,7 @@ GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@
GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@
GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@
+GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@
GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@
GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@
GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
@@ -633,6 +683,8 @@ GL_GNULIB_LSTAT = @GL_GNULIB_LSTAT@
GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
GL_GNULIB_MBRLEN = @GL_GNULIB_MBRLEN@
+GL_GNULIB_MBRTOC16 = @GL_GNULIB_MBRTOC16@
+GL_GNULIB_MBRTOC32 = @GL_GNULIB_MBRTOC32@
GL_GNULIB_MBRTOWC = @GL_GNULIB_MBRTOWC@
GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
@@ -642,15 +694,20 @@ GL_GNULIB_MBSINIT = @GL_GNULIB_MBSINIT@
GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSNRTOC32S = @GL_GNULIB_MBSNRTOC32S@
GL_GNULIB_MBSNRTOWCS = @GL_GNULIB_MBSNRTOWCS@
GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSRTOC32S = @GL_GNULIB_MBSRTOC32S@
GL_GNULIB_MBSRTOWCS = @GL_GNULIB_MBSRTOWCS@
GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOC32S = @GL_GNULIB_MBSTOC32S@
GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@
+GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@
GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
@@ -697,6 +754,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@
GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@
GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@
GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
@@ -794,6 +852,7 @@ GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TIME = @GL_GNULIB_TIME@
GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@
GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@
GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@
@@ -804,6 +863,143 @@ GL_GNULIB_TOWCTRANS = @GL_GNULIB_TOWCTRANS@
GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
GL_GNULIB_TZSET = @GL_GNULIB_TZSET@
+GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE = @GL_GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE@
+GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFD_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKC_DLL_VARIABLE@
+GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE = @GL_GNULIB_UNINORM_NFKD_DLL_VARIABLE@
GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
@@ -865,13 +1061,17 @@ GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIBHEADERS_OVERRIDE_CHAR16_T = @GNULIBHEADERS_OVERRIDE_CHAR16_T@
+GNULIBHEADERS_OVERRIDE_CHAR32_T = @GNULIBHEADERS_OVERRIDE_CHAR32_T@
+GNULIBHEADERS_OVERRIDE_CHAR8_T = @GNULIBHEADERS_OVERRIDE_CHAR8_T@
GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
-GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GREP = @GREP@
+HARD_LOCALE_LIB = @HARD_LOCALE_LIB@
HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_C32RTOMB = @HAVE_C32RTOMB@
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CHOWN = @HAVE_CHOWN@
@@ -896,6 +1096,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_GETW = @HAVE_DECL_GETW@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
@@ -903,6 +1104,8 @@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
@@ -926,6 +1129,9 @@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
+HAVE_ERROR = @HAVE_ERROR@
+HAVE_ERROR_AT_LINE = @HAVE_ERROR_AT_LINE@
+HAVE_ERROR_H = @HAVE_ERROR_H@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_EXECVPE = @HAVE_EXECVPE@
HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
@@ -954,10 +1160,14 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@
HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
+HAVE_GETRANDOM = @HAVE_GETRANDOM@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETUMASK = @HAVE_GETUMASK@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXABS = @HAVE_IMAXABS@
+HAVE_IMAXDIV = @HAVE_IMAXDIV@
HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
HAVE_INITSTATE = @HAVE_INITSTATE@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
@@ -976,6 +1186,8 @@ HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOC16 = @HAVE_MBRTOC16@
+HAVE_MBRTOC32 = @HAVE_MBRTOC32@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
@@ -983,6 +1195,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MBTOWC = @HAVE_MBTOWC@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@
HAVE_MKDIRAT = @HAVE_MKDIRAT@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKFIFO = @HAVE_MKFIFO@
@@ -1056,12 +1269,15 @@ HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_RANDOM_H = @HAVE_SYS_RANDOM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UCHAR_H = @HAVE_UCHAR_H@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_USLEEP = @HAVE_USLEEP@
@@ -1109,10 +1325,12 @@ HAVE_WMEMCPY = @HAVE_WMEMCPY@
HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WORKING_MBRTOC32 = @HAVE_WORKING_MBRTOC32@
HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HOST_IS_WINDOWS_VARIABLE = @HOST_IS_WINDOWS_VARIABLE@
+ICONV_CONVERTS_EUC_CN = @ICONV_CONVERTS_EUC_CN@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL = @INSTALL@
@@ -1124,6 +1342,10 @@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@
+LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@
+LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@
+LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@
LDFLAGS = @LDFLAGS@
LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@
LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@
@@ -1136,8 +1358,13 @@ LIBPTHREAD = @LIBPTHREAD@
LIBS = @LIBS@
LIBSTDTHREAD = @LIBSTDTHREAD@
LIBTHREAD = @LIBTHREAD@
+LIBUNISTRING_UNICASE_H = @LIBUNISTRING_UNICASE_H@
+LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@
+LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@
LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_GETRANDOM = @LIB_GETRANDOM@
LIB_HARD_LOCALE = @LIB_HARD_LOCALE@
LIB_MBRTOWC = @LIB_MBRTOWC@
LIB_NL_LANGINFO = @LIB_NL_LANGINFO@
@@ -1157,6 +1384,7 @@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
LTLIBTHREAD = @LTLIBTHREAD@
MAKEINFO = @MAKEINFO@
+MBRTOWC_LIB = @MBRTOWC_LIB@
MKDIR_P = @MKDIR_P@
MKINSTALLDIRS = @MKINSTALLDIRS@
MODERNIZR = @MODERNIZR@
@@ -1166,6 +1394,7 @@ MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@
NEXT_ASSERT_H = @NEXT_ASSERT_H@
NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_ERROR_H = @NEXT_AS_FIRST_DIRECTIVE_ERROR_H@
NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
@@ -1180,13 +1409,16 @@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_RANDOM_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_RANDOM_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_UCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_UCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_ERROR_H = @NEXT_ERROR_H@
NEXT_FCNTL_H = @NEXT_FCNTL_H@
NEXT_FLOAT_H = @NEXT_FLOAT_H@
NEXT_GETOPT_H = @NEXT_GETOPT_H@
@@ -1201,9 +1433,11 @@ NEXT_STDIO_H = @NEXT_STDIO_H@
NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRINGS_H = @NEXT_STRINGS_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_RANDOM_H = @NEXT_SYS_RANDOM_H@
NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UCHAR_H = @NEXT_UCHAR_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
@@ -1222,6 +1456,7 @@ PERL_EXT_CC = @PERL_EXT_CC@
PERL_EXT_CFLAGS = @PERL_EXT_CFLAGS@
PERL_EXT_CPPFLAGS = @PERL_EXT_CPPFLAGS@
PERL_EXT_LDFLAGS = @PERL_EXT_LDFLAGS@
+PERL_UNICODE_COLLATE_OK = @PERL_UNICODE_COLLATE_OK@
POD2MAN = @POD2MAN@
POSUB = @POSUB@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
@@ -1234,6 +1469,7 @@ RANLIB = @RANLIB@
REPLACE_ACCESS = @REPLACE_ACCESS@
REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_C32RTOMB = @REPLACE_C32RTOMB@
REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
@@ -1246,7 +1482,10 @@ REPLACE_CTIME = @REPLACE_CTIME@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUP3 = @REPLACE_DUP3@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_ERROR = @REPLACE_ERROR@
+REPLACE_ERROR_AT_LINE = @REPLACE_ERROR_AT_LINE@
REPLACE_EXECL = @REPLACE_EXECL@
REPLACE_EXECLE = @REPLACE_EXECLE@
REPLACE_EXECLP = @REPLACE_EXECLP@
@@ -1259,6 +1498,7 @@ REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDATASYNC = @REPLACE_FDATASYNC@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
REPLACE_FFSLL = @REPLACE_FFSLL@
@@ -1281,18 +1521,26 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETENTROPY = @REPLACE_GETENTROPY@
REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETPASS = @REPLACE_GETPASS@
REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETRANDOM = @REPLACE_GETRANDOM@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_IMAXABS = @REPLACE_IMAXABS@
+REPLACE_IMAXDIV = @REPLACE_IMAXDIV@
REPLACE_INITSTATE = @REPLACE_INITSTATE@
REPLACE_ISATTY = @REPLACE_ISATTY@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@
+REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@
REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
@@ -1306,19 +1554,26 @@ REPLACE_LSTAT = @REPLACE_LSTAT@
REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOC16 = @REPLACE_MBRTOC16@
+REPLACE_MBRTOC32 = @REPLACE_MBRTOC32@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@
REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MEMPCPY = @REPLACE_MEMPCPY@
REPLACE_MKDIR = @REPLACE_MKDIR@
REPLACE_MKFIFO = @REPLACE_MKFIFO@
REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
REPLACE_MKNOD = @REPLACE_MKNOD@
REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@
+REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
@@ -1329,8 +1584,10 @@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
REPLACE_OPEN = @REPLACE_OPEN@
REPLACE_OPENAT = @REPLACE_OPENAT@
REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PIPE2 = @REPLACE_PIPE2@
REPLACE_POPEN = @REPLACE_POPEN@
REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PTSNAME = @REPLACE_PTSNAME@
@@ -1352,6 +1609,7 @@ REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
REPLACE_SETSTATE = @REPLACE_SETSTATE@
REPLACE_SLEEP = @REPLACE_SLEEP@
@@ -1360,6 +1618,7 @@ REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STAT = @REPLACE_STAT@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPCPY = @REPLACE_STPCPY@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
@@ -1385,7 +1644,9 @@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIME = @REPLACE_TIME@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
@@ -1403,20 +1664,31 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSCMP = @REPLACE_WCSCMP@
REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNCMP = @REPLACE_WCSNCMP@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSSTR = @REPLACE_WCSSTR@
REPLACE_WCSTOK = @REPLACE_WCSTOK@
REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCTRANS = @REPLACE_WCTRANS@
+REPLACE_WCTYPE = @REPLACE_WCTYPE@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WMEMCMP = @REPLACE_WMEMCMP@
+REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@
REPLACE_WRITE = @REPLACE_WRITE@
+REPLACE__EXIT = @REPLACE__EXIT@
+SCHED_YIELD_LIB = @SCHED_YIELD_LIB@
SED = @SED@
+SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+SMALL_WCHAR_T = @SMALL_WCHAR_T@
STDARG_H = @STDARG_H@
STDCKDINT_H = @STDCKDINT_H@
STDDEF_H = @STDDEF_H@
diff --git a/macros/texinfo/texinfo/util/README b/macros/texinfo/texinfo/util/README
index 2a07b0038f..a4e64f2fd1 100644
--- a/macros/texinfo/texinfo/util/README
+++ b/macros/texinfo/texinfo/util/README
@@ -1,6 +1,6 @@
texinfo/util/README
- Copyright 2002-2019 Free Software Foundation, Inc.
+ Copyright 2002-2023 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/macros/texinfo/texinfo/util/detexinfo b/macros/texinfo/texinfo/util/detexinfo
index 50a3b1cd6b..29ce881bfa 100644
--- a/macros/texinfo/texinfo/util/detexinfo
+++ b/macros/texinfo/texinfo/util/detexinfo
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright 2011-2019 Free Software Foundation, Inc.
+# Copyright 2011-2023 Free Software Foundation, Inc.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
diff --git a/macros/texinfo/texinfo/util/htmlxref.cnf b/macros/texinfo/texinfo/util/htmlxref.cnf
index 0b2fc58efd..1af587bb3d 100644
--- a/macros/texinfo/texinfo/util/htmlxref.cnf
+++ b/macros/texinfo/texinfo/util/htmlxref.cnf
@@ -1,8 +1,8 @@
# htmlxref.cnf - reference file for free Texinfo manuals on the web.
-htmlxrefversion=2022-11-12.21; # UTC
+htmlxrefversion=2023-04-02.12; # UTC
-# Copyright 2010-2022 Free Software Foundation, Inc.
+# Copyright 2010-2023 Free Software Foundation, Inc.
#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
@@ -364,10 +364,8 @@ gcc node ${GCC}/gcc/
libiberty node ${GCC}/libiberty/
GDB = https://sourceware.org/gdb/current/onlinedocs
-gdb mono ${GDB}/gdb.html
-gdb node ${GDB}/gdb/
- stabs mono ${GDB}/stabs.html
- stabs node ${GDB}/stabs/
+gdb node ${GDB}/gdb.html/
+ stabs node ${GDB}/stabs.html/
GDBM = http://www.gnu.org.ua/software/gdbm/manual
gdbm node ${GDBM}/
@@ -543,6 +541,8 @@ libmatheval mono ${GS}/libmatheval/manual/libmatheval.html
LIBMICROHTTPD = ${GS}/libmicrohttpd
libmicrohttpd mono ${LIBMICROHTTPD}/manual/libmicrohttpd.html
libmicrohttpd node ${LIBMICROHTTPD}/manual/html_node/
+ # The manual name is based on the Texinfo file name in the code,
+ # not on the file name for the tutorial which is too generic.
microhttpd-tutorial mono ${LIBMICROHTTPD}/tutorial.html
libtasn1 mono ${GS}/libtasn1/manual/libtasn1.html
diff --git a/macros/texinfo/texinfo/util/pdftexi2dvi b/macros/texinfo/texinfo/util/pdftexi2dvi
index 19582d7849..2d2824613c 100644
--- a/macros/texinfo/texinfo/util/pdftexi2dvi
+++ b/macros/texinfo/texinfo/util/pdftexi2dvi
@@ -21,7 +21,7 @@ test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
# obliged to.
if test "x$1" = x--version; then
cat <<EOF
-texi2pdf (GNU Texinfo 7.0.3)
+texi2pdf (GNU Texinfo 7.1)
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
diff --git a/macros/texinfo/texinfo/util/texi-elements-by-size b/macros/texinfo/texinfo/util/texi-elements-by-size
index b568f8c89c..e8b1fba47c 100644
--- a/macros/texinfo/texinfo/util/texi-elements-by-size
+++ b/macros/texinfo/texinfo/util/texi-elements-by-size
@@ -3,7 +3,7 @@
# Also serve as an example of using the Texinfo::Parser module,
# including the usual per-format options.
#
-# Copyright 2012, 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
+# Copyright 2012-2023 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/macros/texinfo/texinfo/util/texi2dvi b/macros/texinfo/texinfo/util/texi2dvi
index 834edc9b5a..e65b4cfec7 100644
--- a/macros/texinfo/texinfo/util/texi2dvi
+++ b/macros/texinfo/texinfo/util/texi2dvi
@@ -36,7 +36,7 @@ set -e
program=`echo $0 | $SED -e 's!.*/!!'`
build_mode=${TEXI2DVI_BUILD_MODE:-local}
-build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.}
+build_dir=${TEXI2DVI_BUILD_DIRECTORY:-}
orig_pwd=`pwd`
@@ -151,12 +151,10 @@ Build modes:
--tidy same as --build=tidy
-c, --clean same as --build=clean
--build-dir=DIR specify where the tidy compilation is performed;
- implies --tidy;
- defaults to TEXI2DVI_BUILD_DIRECTORY [$build_dir]
+ implies --tidy
The MODE specifies where the TeX compilation takes place, and, as a
-consequence, how auxiliary files are treated. The build mode can also
-be set using the environment variable TEXI2DVI_BUILD_MODE.
+consequence, how auxiliary files are treated.
Valid values of MODE are:
\`local' compile in the current directory, leaving all the auxiliary
@@ -166,6 +164,10 @@ Valid values of MODE are:
\`clean' same as \`tidy', but remove the auxiliary directory afterwards.
Every compilation therefore requires the full cycle.
+The build mode can also be set using the environment variable
+TEXI2DVI_BUILD_MODE. The tidy build directory can also be set using
+the environment variable TEXI2DVI_BUILD_DIRECTORY.
+
The values of these environment variables are used to run the
corresponding commands, if they are set:
@@ -195,7 +197,7 @@ EOF
version ()
{
cat <<EOF
-texi2dvi (GNU Texinfo 7.0.3)
+texi2dvi (GNU Texinfo 7.1)
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
@@ -1200,10 +1202,9 @@ to tex itself simply not working."
# (running missing) and then we end up with things like '"-I"',
# and "-I" (including the quotes) is not an option name. This
# happens with gettext 0.14.5, at least.
- $SED "$comment_iftex" "$command_line_filename" \
- | eval $makeinfo --footnote-style=end -I "$in_dir" $run_mi_includes \
- -o /dev/null --macro-expand=- \
- | $SED "$uncomment_iftex" >"$in_src"
+ eval $makeinfo -c TEXINFO_OUTPUT_FORMAT=plaintexinfo --iftex --no-ifinfo \
+ --footnote-style=end -I "$in_dir" $run_mi_includes \
+ "$command_line_filename" >"$in_src"
# Continue only if everything succeeded.
if test $? -ne 0 \
|| test ! -r "$in_src"; then
@@ -1214,59 +1215,6 @@ to tex itself simply not working."
fi
}
-# Unfortunately, makeinfo --iftex --no-ifinfo doesn't work well enough
-# in versions before 5.0, as makeinfo can't parse the TeX commands
-# inside @tex blocks, so work around with sed.
-#
-# This sed script preprocesses Texinfo sources in order to keep the
-# iftex sections only. We want to remove non-TeX sections, and comment
-# (with `@c _texi2dvi') TeX sections so that makeinfo does not try to
-# parse them. Nevertheless, while commenting TeX sections, don't
-# comment @macro/@end macro so that makeinfo does propagate them.
-# Similarly, preserve the @top node to avoid makeinfo complaining about
-# it being missed. Comment it out after preprocessing, so that it does
-# not appear in the generated document.
-#
-# We assume that `@c _texi2dvi' or `@c (_texi2dvi)' starting a line is
-# not present in the document. Additionally, conditionally defined
-# macros inside the @top node may end up with the wrong value, although
-# this is unlikely in practice.
-#
-comment_iftex=\
-'/^@tex/,/^@end tex/{
- s/^/@c _texi2dvi/
-}
-/^@iftex/,/^@end iftex/{
- s/^/@c _texi2dvi/
- /^@c _texi2dvi@macro/,/^@c _texi2dvi@end macro/{
- s/^@c _texi2dvi//
- }
-}
-/^@ifnottex/,/^@end ifnottex/{
- s/^/@c (_texi2dvi)/
- /^@c (_texi2dvi)@node Top/,/^@c (_texi2dvi)@end ifnottex/ {
- /^@c (_texi2dvi)@end ifnottex/b
- s/^@c (_texi2dvi)//
- }
-}
-/^@ifinfo/,/^@end ifinfo/{
- /^@node/p
- /^@menu/,/^@end menu/p
- t
- s/^/@c (_texi2dvi)/
-}
-s/^@ifnotinfo/@c _texi2dvi@ifnotinfo/
-s/^@end ifnotinfo/@c _texi2dvi@end ifnotinfo/'
-
-# Uncomment @iftex blocks by removing any leading `@c texi2dvi' (repeated
-# copies can sneak in via macro invocations). Likewise, comment out
-# the @top node inside a @ifnottex block.
-uncomment_iftex=\
-'s/^@c _texi2dvi\(@c _texi2dvi\)*//
-/^@c (_texi2dvi)@ifnottex/,/^@c (_texi2dvi)@end ifnottex/{
- s/^/@c (_texi2dvi)/
-}'
-
# insert_commands - Insert $textra commands at the beginning of the file.
# Recommended to be used for @finalout, @smallbook, etc.
@@ -1748,7 +1696,7 @@ while test x"$1" != x"$arg_sep"; do
-~ ) verbose "Option -~ is obsolete: texi2dvi ignores it.";;
-b | --batch) ;; # Obsolete
--build) shift; build_mode=$1;;
- --build-dir) shift; build_dir=$1; build_mode=tidy;;
+ --build-dir) shift; build_dir=$1;;
-c | --clean) build_mode=clean;;
-D | --debug) debug=true;;
-e | -E | --expand) expand=true;;
@@ -1797,6 +1745,11 @@ done
# Pop the token
shift
+# If build_dir given, switch from --local to --tidy
+if test x"$build_dir" != x"" && test x"$build_mode" = x"local" ; then
+ build_mode=tidy
+fi
+
# $tidy: compile in a t2d directory.
# $clean: remove all the aux files.
case $build_mode in
@@ -1902,7 +1855,8 @@ do
# in compiling this document.
case $build_dir in
'' | . ) t2ddir=$out_noext.t2d ;;
- *) # Avoid collisions between multiple occurrences of the same
+ *) ensure_dir "$build_dir"
+ # Avoid collisions between multiple occurrences of the same
# file, so depend on the output path. Remove leading `./',
# at least to avoid creating a file starting with `.!', i.e.,
# an invisible file. The sed expression is fragile if the cwd
@@ -1914,7 +1868,7 @@ do
# Remove it at exit if clean mode.
trap "cleanup" 0 1 2 15
- ensure_dir "$build_dir" "$t2ddir"
+ ensure_dir "$t2ddir"
# Sometimes there are incompatibilities between auxiliary files for
# DVI and PDF. The contents can also change whether we work on PDF
diff --git a/macros/texinfo/texinfo/util/texi2pdf b/macros/texinfo/texinfo/util/texi2pdf
index 19582d7849..2d2824613c 100644
--- a/macros/texinfo/texinfo/util/texi2pdf
+++ b/macros/texinfo/texinfo/util/texi2pdf
@@ -21,7 +21,7 @@ test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
# obliged to.
if test "x$1" = x--version; then
cat <<EOF
-texi2pdf (GNU Texinfo 7.0.3)
+texi2pdf (GNU Texinfo 7.1)
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
diff --git a/macros/texinfo/texinfo/util/texindex.bat b/macros/texinfo/texinfo/util/texindex.bat
index 1b5ba4375c..b163cd9aea 100644
--- a/macros/texinfo/texinfo/util/texindex.bat
+++ b/macros/texinfo/texinfo/util/texindex.bat
@@ -1,5 +1,5 @@
@echo off
-REM Copyright 2016 Free Software Foundation, Inc.
+REM Copyright 2016-2023 Free Software Foundation, Inc.
REM
REM This program is free software; you can redistribute it and/or modify
REM it under the terms of the GNU General Public License as published by
diff --git a/macros/texinfo/texinfo/util/texinfo.dtd b/macros/texinfo/texinfo/util/texinfo.dtd
index 7f93e5f28e..c3b0c2f263 100644
--- a/macros/texinfo/texinfo/util/texinfo.dtd
+++ b/macros/texinfo/texinfo/util/texinfo.dtd
@@ -1,7 +1,7 @@
<!--
Document Type Definition for Texinfo XML output (the '-'-xml option).
- Copyright 2001-2022 Free Software Foundation, Inc.
+ Copyright 2001-2023 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -27,8 +27,8 @@
<!-- @-commands definition commands -->
<!-- def(code)index are there as they define an @*index @-command -->
-<!ENTITY % define.cmds "definfoenclose | alias | macro | rmacro | unmacro
- | defindex | defcodeindex">
+<!ENTITY % define.cmds "definfoenclose | alias | macro | rmacro | linemacro
+ | unmacro | defindex | defcodeindex">
<!-- Unique options -->
<!ENTITY % unique.option.cmds "novalidate | setcontentsaftertitlepage
@@ -47,7 +47,7 @@
| %variable.cmds; | kbdinputstyle | paragraphindent
| firstparagraphindent | urefbreakstyle | xrefautomaticsectiontitle
| deftypefnnewline
- | codequoteundirected | codequotebacktick | raisesections
+ | codequoteundirected | codequotebacktick | microtype | raisesections
| lowersections | clickstyle
| synindex | syncodeindex">
@@ -60,8 +60,9 @@
<!ENTITY % intitlepage.cmds "author | title | subtitle">
<!-- index entry commands -->
-<!ENTITY % indexentry.cmds "cindex | findex | kindex | pindex | tindex
- | vindex | indexcommand | subentry">
+<!ENTITY % indexentry.cmds "cindex | cpindex | findex | fnindex
+ | kindex | kyindex | pindex | pgindex | tindex | tpindex
+ | vindex | vrindex | indexcommand | subentry">
<!-- API definition commands -->
<!ENTITY % def.cmds "deffn | defvr | deftypefn | deftypeop | deftypevr
@@ -101,8 +102,9 @@
| insertcopying | page | need | vskip">
<!-- API definition line -->
-<!ENTITY % definition.args "defcategory | deffunction | defvariable | defparam
- | defdelimiter | deftype | defparamtype | defdatatype
+<!ENTITY % definition.args "defcategory | deffunction | defsymbol
+ | defvariable | defparam | defdelimiter
+ | deftype | defparamtype | defdatatype
| defclass | defclassvar | defoperation">
<!-- Language codes -->
@@ -125,6 +127,7 @@
| printindex | listoffloats">
<!-- toplevel content, not in copying nor footnote -->
+<!-- FIXME can also contain @* &linebreak; which is CDATA-->
<!ENTITY % main.content "%block; | %toplevelonly.content; | node">
<!ENTITY % section.level0.content "(%main.content;
@@ -148,6 +151,8 @@
<!ENTITY % section.level4.content "(%main.content;)*">
+<!ENTITY % Spaces.elements "formfeed | verticaltab">
+
<!-- Inline -->
<!ENTITY % Inline.emphasize "strong | emph">
<!ENTITY % Inline.fonts "b | i | r | sansserif | slanted | t
@@ -157,12 +162,12 @@
| dfn | cite | key | kbd | var | acronym | abbr
| indicateurl | w | asis | sub | sup ">
<!ENTITY % Inline.math "math | dmn">
-<!ENTITY % Inline.reference "xref | ref | pxref | inforef ">
+<!ENTITY % Inline.reference "xref | ref | pxref | link | inforef ">
<!ENTITY % Inline.hyperreference "email | uref | url">
<!ENTITY % Inline.misc "click | clicksequence | logo | punct | spacecmd | today
- | linebreak | accent | dotless | ctrl | inlineraw
- | inlinefmt | inlinefmtifelse | inlineifclear
- | inlineifset | infoenclose | noeos | formfeed | U ">
+ | linebreak | accent | dotless | ctrl | inlineraw
+ | inlinefmt | inlinefmtifelse | inlineifclear
+ | inlineifset | infoenclose | noeos | U | %Spaces.elements;">
<!-- on lines -->
<!ENTITY % Inline.linesimpletext "%Inline.emphasize; | %Inline.misc; | %Inline.fonts;
@@ -182,15 +187,19 @@
<!ENTITY % Inline.fullline "%Inline.line; | titlefont | anchor">
<!-- on headings specification lines -->
-<!ENTITY % Inline.headingmark "divideheading | thischapter | thischaptername
+<!ENTITY % Inline.headingmark "thischapter | thischaptername
| thischapternum | thissection | thissectionname | thissectionnum
| thisfile | thispage | thistitle">
-<!ENTITY % Inline.headingline "%Inline.linesimpletext; | %Inline.headingmark;">
+<!ENTITY % Inline.headingline "%Inline.linesimpletext; | divideheading
+ | %Inline.headingmark;">
<!-- in paragraphs -->
<!ENTITY % Inline.phrase
"%Inline.line; | %ubiquitous.cmds;">
+<!ENTITY % Inline.phraseormark
+ "%Inline.phrase; | %Inline.headingmark;">
+
<!-- in raw (everything except sectioning commands) -->
<!ENTITY % Raw.content "#PCDATA | %intitlepage.cmds; | %block;
| %Inline.linetext; | exdent | %toplevelonly.content;
@@ -205,6 +214,16 @@
<!-- ubiquitous attribute -->
<!ENTITY % spacesattr
"spaces CDATA #IMPLIED">
+<!ENTITY % spacesaftercmdattr
+ "spacesaftercmd CDATA #IMPLIED">
+<!-- spaces possibly before command opening brace and in braces -->
+<!ENTITY % spacesafterincmdattr
+ "%spacesattr; %spacesaftercmdattr;">
+<!ENTITY % trailingspacesattr
+ "trailingspaces CDATA #IMPLIED">
+<!-- spaces and trailing spaces for node and for bracketed @def* args -->
+<!ENTITY % spacestrailingspacesattr
+ "%spacesattr; %trailingspacesattr;">
<!ENTITY % lineattr
"line CDATA #IMPLIED">
<!ENTITY % linespaceattr
@@ -221,7 +240,8 @@
<!-- TOP Level Element -->
<!ELEMENT texinfo (filename?, preamblebeforebeginning?, (%metainformation;
- | %section.all; | %main.content;)*, bye?)>
+ | %section.all; | %main.content;)*,
+ bye?, postambleafterend?)>
<!ATTLIST texinfo xml:lang (%languagecodes;) 'en'>
<!-- meta-information -->
@@ -255,7 +275,7 @@
%lineattr;
name CDATA #REQUIRED>
<!ELEMENT definfoenclose EMPTY>
-<!ATTLIST definfoenclose
+<!ATTLIST definfoenclose
%linespaceattr;
command NMTOKEN #REQUIRED
open CDATA #IMPLIED
@@ -272,6 +292,8 @@
<!-- preamble before texinfo code beginning (empty lines and \input) -->
<!ELEMENT preamblebeforebeginning (#PCDATA)>
+<!-- everything appearing after @bye -->
+<!ELEMENT postambleafterend (#PCDATA)>
<!-- ToC -->
<!ELEMENT contents EMPTY>
@@ -397,11 +419,11 @@
<!-- Global options -->
<!ELEMENT documentlanguage (#PCDATA)>
-<!ATTLIST documentlanguage
+<!ATTLIST documentlanguage
%spacesattr;
xml:lang (%languagecodes;) 'en'>
<!ELEMENT frenchspacing (#PCDATA)> <!-- must be on or off -->
-<!ATTLIST frenchspacing
+<!ATTLIST frenchspacing
%linespaceattr;
value (%onoff;) 'off'>
<!ELEMENT kbdinputstyle EMPTY>
@@ -417,6 +439,11 @@
<!ATTLIST firstparagraphindent
%linespaceattr;
value CDATA #REQUIRED>
+<!ELEMENT microtype EMPTY>
+<!-- "on|off" -->
+<!ATTLIST microtype
+ %linespaceattr;
+ value CDATA #REQUIRED>
<!ELEMENT urefbreakstyle EMPTY>
<!-- "after|before|none" -->
<!ATTLIST urefbreakstyle
@@ -504,18 +531,15 @@
trailingspaces CDATA #IMPLIED>
<!ELEMENT nodenext (#PCDATA | %Inline.line;)*>
<!ATTLIST nodenext
- %spacesattr;
- trailingspaces CDATA #IMPLIED
+ %spacestrailingspacesattr;
automatic (%onoff;) 'off'>
<!ELEMENT nodeprev (#PCDATA | %Inline.line;)*>
<!ATTLIST nodeprev
- %spacesattr;
- trailingspaces CDATA #IMPLIED
+ %spacestrailingspacesattr;
automatic (%onoff;) 'off'>
<!ELEMENT nodeup (#PCDATA | %Inline.line;)*>
<!ATTLIST nodeup
- %spacesattr;
- trailingspaces CDATA #IMPLIED
+ %spacestrailingspacesattr;
automatic (%onoff;) 'off'>
<!ENTITY % sectionsattr
@@ -608,6 +632,8 @@
<!ATTLIST example
%spacesblockattr;>
<!ELEMENT examplelanguage (#PCDATA | %Inline.line;)*>
+<!ATTLIST examplelanguage
+ %trailingspacesattr;>
<!ELEMENT examplearg (#PCDATA | %Inline.line;)*>
<!ATTLIST examplearg
%spacesattr;>
@@ -621,9 +647,10 @@
<!ELEMENT smalllisp (%block; | exdent)*>
<!ATTLIST smalllisp
%spacesblockattr;>
-<!ELEMENT cartouche (%block; | exdent)*>
+<!ELEMENT cartouche (cartouchetitle?, (%block; | exdent))*>
<!ATTLIST cartouche
%spacesblockattr;>
+<!ELEMENT cartouchetitle (#PCDATA | %Inline.line;)*>
<!ELEMENT format (%block; | exdent)*>
<!ATTLIST format
%spacesblockattr;>
@@ -668,6 +695,8 @@
%spacesattr;
where CDATA #IMPLIED>
<!ELEMENT imagefile (#PCDATA | %Inline.line;)*>
+<!ATTLIST imagefile
+ %spacesattr;>
<!ELEMENT imagewidth (#PCDATA)>
<!ATTLIST imagewidth
%spacesattr;>
@@ -683,7 +712,7 @@
<!-- Whitespace in these elements are always preserved -->
<!ELEMENT verbatim (#PCDATA)>
-<!ATTLIST verbatim
+<!ATTLIST verbatim
%spacesblockattr;
xml:space (preserve) #FIXED 'preserve'>
@@ -703,15 +732,13 @@
<!ELEMENT direntry (menuentry | menucomment)*>
<!ATTLIST direntry
%spacesblockattr;>
-<!ELEMENT menuentry (menutitle?, menunode?, menudescription?)>
-<!ATTLIST menuentry
- leadingtext CDATA #REQUIRED>
+<!ELEMENT menuentry (menuleadingtext,
+ ((menutitle, menuseparator, menunode, menuseparator?)
+ | (menunode, menuseparator)), menudescription?)>
+<!ELEMENT menuleadingtext (#PCDATA | %Spaces.elements;)*>
<!ELEMENT menunode (#PCDATA | %Inline.line;)*>
-<!ATTLIST menunode
- separator CDATA #IMPLIED>
<!ELEMENT menutitle (#PCDATA | %Inline.line;)*>
-<!ATTLIST menutitle
- separator CDATA #IMPLIED>
+<!ELEMENT menuseparator (#PCDATA)>
<!ELEMENT menudescription (%block;)*>
<!ELEMENT menucomment (%block;)*>
@@ -735,14 +762,21 @@
<!-- formalarg only before PCDATA, but mandating it seems not possible -->
<!-- same issue for nesting macros -->
-<!ELEMENT macro (#PCDATA | formalarg | macro | rmacro)*>
+<!ELEMENT macro (#PCDATA | formalarg | macro | rmacro | linemacro)*>
<!ATTLIST macro
name CDATA #REQUIRED
- line CDATA #REQUIRED>
-<!ELEMENT rmacro (#PCDATA | formalarg | macro | rmacro)*>
+ line CDATA #REQUIRED
+ endspaces CDATA #IMPLIED>
+<!ELEMENT rmacro (#PCDATA | formalarg | macro | rmacro | linemacro)*>
<!ATTLIST rmacro
name CDATA #REQUIRED
- line CDATA #REQUIRED>
+ line CDATA #REQUIRED
+ endspaces CDATA #IMPLIED>
+<!ELEMENT linemacro (#PCDATA | formalarg | macro | rmacro | linemacro)*>
+<!ATTLIST linemacro
+ name CDATA #REQUIRED
+ line CDATA #REQUIRED
+ endspaces CDATA #IMPLIED>
<!ELEMENT formalarg (#PCDATA)>
@@ -765,31 +799,35 @@
%spacesattr;>
<!-- Floating displays -->
-<!ELEMENT float (floattype?, floatname?, (%block;)*,
- (caption | shortcaption)*)>
+<!ELEMENT float (floattype?, floatname?, (%block; | caption | shortcaption)*)>
<!ATTLIST float
%spacesblockattr;
number CDATA #IMPLIED
name CDATA #IMPLIED
type CDATA #IMPLIED>
<!ELEMENT floattype (#PCDATA | %Inline.line;)*>
+<!ATTLIST floattype
+ %trailingspacesattr;>
<!ELEMENT floatname (#PCDATA | %Inline.line;)*>
<!ATTLIST floatname
%spacesattr;>
<!ELEMENT caption (#PCDATA | %block;)*>
<!ATTLIST caption
- %spacesattr;>
+ %spacesafterincmdattr;>
<!ELEMENT shortcaption (#PCDATA | %Inline.phrase; | para)*>
+<!ATTLIST shortcaption
+ %spacesafterincmdattr;>
<!ELEMENT listoffloats (#PCDATA | %Inline.line;)*>
<!ATTLIST listoffloats
%spacesattr;
type CDATA #IMPLIED>
<!-- Lists -->
-<!ELEMENT itemize (itemprepend?, beforefirstitem?,
+<!ELEMENT itemize (itemprepend?, beforefirstitem?,
(listitem | %indexentry.cmds;)*)>
<!ATTLIST itemize
%spacesblockattr;
+ automaticcommandarg CDATA #IMPLIED
commandarg CDATA #IMPLIED>
<!ELEMENT enumerate (enumeratefirst?, beforefirstitem?,
(listitem | %indexentry.cmds;)*)>
@@ -815,6 +853,7 @@
<!ENTITY % blocktablearg
"%spacesblockattr;
+ automaticcommandarg CDATA #IMPLIED
commandarg CDATA #IMPLIED
begin CDATA #IMPLIED
end CDATA #IMPLIED">
@@ -830,7 +869,7 @@
%blocktablearg;>
<!ELEMENT tableentry (tableterm, tableitem?)>
<!-- tableterm contains directly pre if there is an index entry before @itemx -->
-<!ELEMENT tableterm (item, (pre | itemx | %indexentry.cmds;)*)>
+<!ELEMENT tableterm ((%indexentry.cmds;)*, item, (pre | itemx | %indexentry.cmds;)*)>
<!ELEMENT item (#PCDATA | %Inline.line; | itemformat | indexterm)*>
<!ATTLIST item
%spacesattr;>
@@ -845,7 +884,7 @@
end CDATA #IMPLIED>
<!ELEMENT tableitem (%block;)*>
-<!ELEMENT multitable ((columnfractions | columnprototypes), beforefirstitem?,
+<!ELEMENT multitable ((columnfractions | columnprototypes), beforefirstitem?,
thead?, tbody)>
<!ATTLIST multitable
%blocktablearg;>
@@ -996,7 +1035,7 @@
<!ELEMENT definitionitem (%block;)*>
<!ENTITY % defargattr
- "%bracketedattr; %spacesattr;">
+ "%bracketedattr; %spacestrailingspacesattr;">
<!ELEMENT defcategory (#PCDATA | %Inline.line;)*>
<!ATTLIST defcategory
%defargattr;
@@ -1004,6 +1043,9 @@
<!ELEMENT deffunction (#PCDATA | %Inline.line;)*>
<!ATTLIST deffunction
%defargattr;>
+<!ELEMENT defsymbol (#PCDATA | %Inline.line;)*>
+<!ATTLIST defsymbol
+ %defargattr;>
<!ELEMENT defvariable (#PCDATA | %Inline.line;)*>
<!ATTLIST defvariable
%defargattr;>
@@ -1034,50 +1076,103 @@
Inline elements -->
<!ELEMENT hyphenation (#PCDATA)>
+<!ATTLIST hyphenation
+ %spacesafterincmdattr;>
<!-- emphasize -->
-<!ELEMENT strong (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT emph (#PCDATA | %Inline.phrase;)*>
+<!ELEMENT strong (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST strong
+ %spacesaftercmdattr;>
+<!ELEMENT emph (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST emph
+ %spacesaftercmdattr;>
<!-- small caps -->
-<!ELEMENT sc (#PCDATA | %Inline.phrase;)*>
+<!ELEMENT sc (#PCDATA | %Inline.phraseormark;)*>
<!-- fonts -->
-<!ELEMENT b (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT i (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT r (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT sansserif (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT slanted (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT titlefont (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT t (#PCDATA | %Inline.phrase;)*>
+<!ELEMENT b (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST b
+ %spacesaftercmdattr;>
+<!ELEMENT i (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST i
+ %spacesaftercmdattr;>
+<!ELEMENT r (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST r
+ %spacesaftercmdattr;>
+<!ELEMENT sansserif (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST sansserif
+ %spacesaftercmdattr;>
+<!ELEMENT slanted (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST slanted
+ %spacesaftercmdattr;>
+<!ELEMENT titlefont (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST titlefont
+ %spacesaftercmdattr;>
+<!ELEMENT t (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST t
+ %spacesaftercmdattr;>
<!-- markup -->
-<!ELEMENT code (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT command (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT env (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT file (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT option (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT samp (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT dfn (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT cite (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT key (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT kbd (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT var (#PCDATA | %Inline.phrase;)*>
+<!ELEMENT code (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST code
+ %spacesaftercmdattr;>
+<!ELEMENT command (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST command
+ %spacesaftercmdattr;>
+<!ELEMENT env (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST env
+ %spacesaftercmdattr;>
+<!ELEMENT file (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST file
+ %spacesaftercmdattr;>
+<!ELEMENT option (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST option
+ %spacesaftercmdattr;>
+<!ELEMENT samp (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST samp
+ %spacesaftercmdattr;>
+<!ELEMENT dfn (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST dfn
+ %spacesaftercmdattr;>
+<!ELEMENT cite (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST cite
+ %spacesaftercmdattr;>
+<!ELEMENT key (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST key
+ %spacesaftercmdattr;>
+<!ELEMENT kbd (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST kbd
+ %spacesaftercmdattr;>
+<!ELEMENT var (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST var
+ %spacesaftercmdattr;>
<!ELEMENT indicateurl (#PCDATA | %Inline.phrase;)*>
<!ATTLIST indicateurl
- %spacesattr;>
+ %spacesaftercmdattr;>
<!ELEMENT clicksequence (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST clicksequence
+ %spacesaftercmdattr;>
<!ELEMENT w (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT asis (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT sub (#PCDATA | %Inline.phrase;)*>
-<!ELEMENT sup (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST w
+ %spacesaftercmdattr;>
+<!ELEMENT asis (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST asis
+ %spacesaftercmdattr;>
+<!ELEMENT sub (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST sub
+ %spacesaftercmdattr;>
+<!ELEMENT sup (#PCDATA | %Inline.phraseormark;)*>
+<!ATTLIST sup
+ %spacesaftercmdattr;>
<!ELEMENT verb (#PCDATA)>
<!ATTLIST verb
+ %spacesaftercmdattr;
delimiter CDATA #REQUIRED>
<!ELEMENT acronym (acronymword, acronymdesc?)>
<!ATTLIST acronym
- %spacesattr;>
+ %spacesafterincmdattr;>
<!ELEMENT acronymword (#PCDATA | %Inline.phrase;)*>
<!ELEMENT acronymdesc (#PCDATA | %Inline.phrase;)*>
<!ATTLIST acronymdesc
@@ -1085,7 +1180,7 @@
<!ELEMENT abbr (abbrword, abbrdesc?)>
<!ATTLIST abbr
- %spacesattr;>
+ %spacesafterincmdattr;>
<!ELEMENT abbrword (#PCDATA | %Inline.phrase;)*>
<!ELEMENT abbrdesc (#PCDATA | %Inline.phrase;)*>
<!ATTLIST abbrdesc
@@ -1094,56 +1189,66 @@
<!-- math -->
<!ELEMENT math (#PCDATA | %Inline.phrase;)*>
<!ATTLIST math
- %spacesattr;>
+ %spacesafterincmdattr;>
<!ELEMENT dmn (#PCDATA | %Inline.phrase;)*>
<!-- reference -->
<!ELEMENT anchor (#PCDATA | %Inline.phrase;)*>
<!ATTLIST anchor
- %spacesattr;
+ %spacesafterincmdattr;
name CDATA #IMPLIED>
<!ELEMENT errormsg (#PCDATA | %Inline.phrase;)*>
<!ATTLIST errormsg
- %spacesattr;>
+ %spacesafterincmdattr;>
<!-- inline conditionals -->
-<!ELEMENT inlineraw (inlinerawformat, inlinerawcontent)>
+<!ELEMENT inlineraw (inlinerawformat, inlinerawcontent?)>
<!ATTLIST inlineraw
- %spacesattr;>
+ %spacesaftercmdattr;>
<!ELEMENT inlinerawformat (#PCDATA)>
+<!ATTLIST inlinerawformat
+ %spacesattr;>
<!ELEMENT inlinerawcontent (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inlinerawcontent
%spacesattr;>
-<!ELEMENT inlinefmt (inlinefmtformat, inlinefmtcontent)>
+<!ELEMENT inlinefmt (inlinefmtformat, inlinefmtcontent?)>
<!ATTLIST inlinefmt
- %spacesattr;>
+ %spacesaftercmdattr;>
<!ELEMENT inlinefmtformat (#PCDATA)>
+<!ATTLIST inlinefmtformat
+ %spacesattr;>
<!ELEMENT inlinefmtcontent (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inlinefmtcontent
%spacesattr;>
-<!ELEMENT inlineifclear (inlineifclearformat, inlineifclearcontent)>
+<!ELEMENT inlineifclear (inlineifclearformat, inlineifclearcontent?)>
<!ATTLIST inlineifclear
- %spacesattr;>
+ %spacesaftercmdattr;>
<!ELEMENT inlineifclearformat (#PCDATA)>
+<!ATTLIST inlineifclearformat
+ %spacesattr;>
<!ELEMENT inlineifclearcontent (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inlineifclearcontent
%spacesattr;>
-<!ELEMENT inlineifset (inlineifsetformat, inlineifsetcontent)>
+<!ELEMENT inlineifset (inlineifsetformat, inlineifsetcontent?)>
<!ATTLIST inlineifset
- %spacesattr;>
+ %spacesaftercmdattr;>
<!ELEMENT inlineifsetformat (#PCDATA)>
+<!ATTLIST inlineifsetformat
+ %spacesattr;>
<!ELEMENT inlineifsetcontent (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inlineifsetcontent
%spacesattr;>
<!ELEMENT inlinefmtifelse (inlinefmtifelseformat, inlinefmtifelsecontentif?, inlinefmtifelsecontentelse?)>
<!ATTLIST inlinefmtifelse
- %spacesattr;>
+ %spacesaftercmdattr;>
<!ELEMENT inlinefmtifelseformat (#PCDATA)>
+<!ATTLIST inlinefmtifelseformat
+ %spacesattr;>
<!ELEMENT inlinefmtifelsecontentif (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inlinefmtifelsecontentif
%spacesattr;>
@@ -1155,6 +1260,7 @@
<!-- command defined by definfoenclose -->
<!ELEMENT infoenclose (#PCDATA | %Inline.phrase;)*>
<!ATTLIST infoenclose
+ %spacesaftercmdattr;
command CDATA #REQUIRED
begin CDATA #IMPLIED
end CDATA #IMPLIED>
@@ -1162,7 +1268,7 @@
<!ENTITY % xref.args "xrefnodename?, xrefinfoname?, xrefprinteddesc?,
xrefinfofile?, xrefprintedname?">
<!ENTITY % xref.attr
- "%spacesattr;
+ "%spacesafterincmdattr;
label CDATA #IMPLIED
manual CDATA #IMPLIED">
@@ -1177,6 +1283,8 @@
%xref.attr;>
<!ELEMENT xrefnodename (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST xrefnodename
+ %spacesattr;>
<!ELEMENT xrefinfoname (#PCDATA | %Inline.phrase;)*>
<!ATTLIST xrefinfoname
%spacesattr;>
@@ -1190,10 +1298,25 @@
<!ATTLIST xrefprinteddesc
%spacesattr;>
+<!ELEMENT link (linknodename?, linkrefname?, linkinfofile?)>
+<!ATTLIST link
+ %xref.attr;>
+<!ELEMENT linknodename (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST linknodename
+ %spacesattr;>
+<!ELEMENT linkrefname (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST linkrefname
+ %spacesattr;>
+<!ELEMENT linkinfofile (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST linkinfofile
+ %spacesattr;>
+
<!ELEMENT inforef (inforefnodename?, inforefrefname?, inforefinfoname?)>
<!ATTLIST inforef
%xref.attr;>
<!ELEMENT inforefnodename (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST inforefnodename
+ %spacesattr;>
<!ELEMENT inforefrefname (#PCDATA | %Inline.phrase;)*>
<!ATTLIST inforefrefname
%spacesattr;>
@@ -1203,18 +1326,20 @@
<!ELEMENT email (emailaddress, emailname?)>
<!ATTLIST email
- %spacesattr;>
+ %spacesaftercmdattr;>
<!ELEMENT emailaddress (#PCDATA | %Inline.phrase;)*>
+<!ATTLIST emailaddress
+ %spacesattr;>
<!ELEMENT emailname (#PCDATA | %Inline.phrase;)*>
<!ATTLIST emailname
%spacesattr;>
<!ELEMENT uref (urefurl, urefdesc?, urefreplacement?)>
<!ATTLIST uref
- %spacesattr;>
+ %spacesafterincmdattr;>
<!ELEMENT url (urefurl, urefdesc?, urefreplacement?)>
<!ATTLIST url
- %spacesattr;>
+ %spacesafterincmdattr;>
<!ELEMENT urefurl (#PCDATA | %Inline.phrase;)*>
<!ELEMENT urefdesc (#PCDATA | %Inline.phrase;)*>
<!ATTLIST urefdesc
@@ -1223,7 +1348,7 @@
<!ELEMENT footnote (%block;)*>
<!ATTLIST footnote
- %spacesattr;>
+ %spacesafterincmdattr;>
<!-- deprecated -->
@@ -1267,22 +1392,40 @@
%indexcmdattr;
command CDATA #REQUIRED>
<!ELEMENT cindex (indexterm)>
-<!ATTLIST cindex
+<!ATTLIST cindex
+ %indexcmdattr;>
+<!ELEMENT cpindex (indexterm)>
+<!ATTLIST cpindex
%indexcmdattr;>
<!ELEMENT findex (indexterm)>
-<!ATTLIST findex
+<!ATTLIST findex
+ %indexcmdattr;>
+<!ELEMENT fnindex (indexterm)>
+<!ATTLIST fnindex
%indexcmdattr;>
<!ELEMENT kindex (indexterm)>
-<!ATTLIST kindex
+<!ATTLIST kindex
+ %indexcmdattr;>
+<!ELEMENT kyindex (indexterm)>
+<!ATTLIST kyindex
%indexcmdattr;>
<!ELEMENT pindex (indexterm)>
-<!ATTLIST pindex
+<!ATTLIST pindex
+ %indexcmdattr;>
+<!ELEMENT pgindex (indexterm)>
+<!ATTLIST pgindex
%indexcmdattr;>
<!ELEMENT tindex (indexterm)>
-<!ATTLIST tindex
+<!ATTLIST tindex
+ %indexcmdattr;>
+<!ELEMENT tpindex (indexterm)>
+<!ATTLIST tpindex
%indexcmdattr;>
<!ELEMENT vindex (indexterm)>
-<!ATTLIST vindex
+<!ATTLIST vindex
+ %indexcmdattr;>
+<!ELEMENT vrindex (indexterm)>
+<!ATTLIST vrindex
%indexcmdattr;>
<!ELEMENT subentry (#PCDATA | %Inline.indexentryline;)*>
<!ATTLIST subentry
@@ -1301,7 +1444,7 @@
<!ELEMENT accent (#PCDATA | accent | dotless)*>
<!ATTLIST accent
%bracketedattr;
- %spacesattr;
+ %spacesaftercmdattr;
type CDATA #REQUIRED>
<!ELEMENT bye EMPTY>
@@ -1311,6 +1454,8 @@
command CDATA #REQUIRED>
<!ELEMENT dotless (#PCDATA)>
+<!ATTLIST dotless
+ %spacesaftercmdattr;>
<!ELEMENT spacecmd EMPTY>
<!ATTLIST spacecmd
@@ -1319,6 +1464,8 @@
<!ELEMENT today EMPTY>
<!ELEMENT U (#PCDATA)>
+<!ATTLIST U
+ %spacesattr;>
<!-- emacs-page
@@ -1331,6 +1478,7 @@
<!ELEMENT linebreak EMPTY>
<!ELEMENT noeos EMPTY>
<!ELEMENT formfeed EMPTY>
+<!ELEMENT verticaltab EMPTY>
<!ELEMENT divideheading EMPTY>
<!ENTITY tex "<logo>TeX</logo>">
@@ -1358,8 +1506,9 @@ Use exactly what is on the XML specification
LibXML error: invalid redeclaration of predefined entity
<!ENTITY amp "&#x26;">
Use exactly what is on the XML specification
--->
<!ENTITY amp "&#38;#38;">
+-->
+<!ENTITY ampsymbol "&amp;"> <!-- same expansion as ampchar -->
<!ENTITY lsquo "&#x2018;">
<!ENTITY textlsquo "&#x2018;">
<!ENTITY rsquo "&#x2019;">
@@ -1380,6 +1529,8 @@ Use exactly what is on the XML specification
<!ENTITY textndash "&#x2013;">
<!ENTITY formfeed "<formfeed/>">
<!ENTITY attrformfeed "\f">
+<!ENTITY verticaltab "<verticaltab/>">
+<!ENTITY attrverticaltab "\v">
<!ENTITY period "<punct end-of-sentence='no'>.</punct>">
<!ENTITY eosperiod "<punct end-of-sentence='yes'>.</punct>">
<!ENTITY quest "<punct end-of-sentence='no'>?</punct>">
diff --git a/macros/texinfo/texinfo/util/txixml2texi.pl b/macros/texinfo/texinfo/util/txixml2texi.pl
index 8ff5119a59..9f7babe81a 100644
--- a/macros/texinfo/texinfo/util/txixml2texi.pl
+++ b/macros/texinfo/texinfo/util/txixml2texi.pl
@@ -2,7 +2,7 @@
#
# texixml2texi -- convert Texinfo XML to Texinfo code
#
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright 2012-2023 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -35,47 +35,50 @@ BEGIN
my ($real_command_name, $command_directory, $command_suffix)
= fileparse($0, '.pl');
- my $datadir = '@datadir@';
- my $package = '@PACKAGE@';
my $updir = File::Spec->updir();
- my $texinfolibdir;
- my $lib_dir;
+ my $datadir = '@datadir@';
+ my $package = '@PACKAGE@';
+ my $xsdir = '@pkglibdir@';
# in-source run
- if (($command_suffix eq '.pl' and !(defined($ENV{'TEXINFO_DEV_SOURCE'})
- and $ENV{'TEXINFO_DEV_SOURCE'} eq 0)) or $ENV{'TEXINFO_DEV_SOURCE'}) {
- my $srcdir = defined $ENV{'srcdir'} ? $ENV{'srcdir'} : $command_directory;
- $texinfolibdir = File::Spec->catdir($srcdir, $updir, 'tp');
- $lib_dir = File::Spec->catdir($texinfolibdir, 'maintain');
- unshift @INC, $texinfolibdir;
- } elsif ($datadir ne '@' .'datadir@' and $package ne '@' . 'PACKAGE@'
- and $datadir ne '') {
- $texinfolibdir = File::Spec->catdir($datadir, $package);
- # try to make package relocatable, will only work if standard relative paths
- # are used
- if (! -f File::Spec->catfile($texinfolibdir, 'Texinfo', 'Parser.pm')
- and -f File::Spec->catfile($command_directory, $updir, 'share',
- 'texinfo', 'Texinfo', 'Parser.pm')) {
- $texinfolibdir = File::Spec->catdir($command_directory, $updir,
- 'share', 'texinfo');
- }
- $lib_dir = $texinfolibdir;
- unshift @INC, $texinfolibdir;
- }
+ if ($datadir eq '@' .'datadir@'
+ or defined($ENV{'TEXINFO_DEV_SOURCE'})
+ and $ENV{'TEXINFO_DEV_SOURCE'} ne '0') {
- # '@USE_EXTERNAL_LIBINTL @ and similar are substituted in the
- # makefile using values from configure
- if (defined($texinfolibdir)) {
- if ('@USE_EXTERNAL_LIBINTL@' ne 'yes') {
- unshift @INC, (File::Spec->catdir($lib_dir, 'lib', 'libintl-perl', 'lib'));
- }
- if ('@USE_EXTERNAL_EASTASIANWIDTH@' ne 'yes') {
- unshift @INC, (File::Spec->catdir($lib_dir, 'lib', 'Unicode-EastAsianWidth', 'lib'));
+ # Use uninstalled modules
+
+ if (defined($ENV{'top_builddir'})) {
+ unshift @INC, File::Spec->catdir($ENV{'top_builddir'}, 'tp');
+ } else {
+ unshift @INC, File::Spec->catdir($command_directory, $updir, 'tp');
}
- if ('@USE_EXTERNAL_UNIDECODE@' ne 'yes') {
- unshift @INC, (File::Spec->catdir($lib_dir, 'lib', 'Text-Unidecode', 'lib'));
+
+ require Texinfo::ModulePath;
+ Texinfo::ModulePath::init(undef, undef, undef, 'updirs' => 1);
+ } else {
+ # Look for modules in their installed locations.
+ my $lib_dir = File::Spec->catdir($datadir, $package);
+ # look for package data in the installed location.
+ my $modules_pkgdatadir = $lib_dir;
+
+ # try to make package relocatable, will only work if
+ # standard relative paths are used
+ if (! -f File::Spec->catfile($lib_dir, 'Texinfo', 'Parser.pm')
+ and -f File::Spec->catfile($command_directory, $updir, 'share',
+ $package, 'Texinfo', 'Parser.pm')) {
+ $lib_dir = File::Spec->catdir($command_directory, $updir,
+ 'share', $package);
+ $modules_pkgdatadir = File::Spec->catdir($command_directory, $updir,
+ 'share', $package);
+ $xsdir = File::Spec->catdir($command_directory, $updir,
+ 'lib', $package);
}
+ unshift @INC, $lib_dir;
+
+ require Texinfo::ModulePath;
+ Texinfo::ModulePath::init($lib_dir, $xsdir, $modules_pkgdatadir,
+ 'installed' => 1);
}
}
@@ -90,6 +93,15 @@ my $result_options = Getopt::Long::GetOptions (
'debug|d' => \$debug,
);
+# to get unbuffered output
+if ($debug) {
+ my $previous_default = select(STDOUT); # save previous default
+ $|++; # autoflush STDOUT
+ select(STDERR);
+ $|++; # autoflush STDERR, to be sure
+ select($previous_default); # restore previous default
+}
+
sub command_with_braces($)
{
my $command = shift;
@@ -121,6 +133,7 @@ my %elements_end_attributes = (
# reference which associates an attribute value to the formatted @-command
# string.
my %element_at_commands;
+
# entities not associated to @-commands
my %entity_texts = (
'textldquo' => '``',
@@ -130,9 +143,11 @@ my %entity_texts = (
'textrsquo' => "'",
'textlsquo' => '`',
'formfeed' => "\f",
- # this is not used in pratice, as attrformfeed appears in an
- # attribute and thus is already expanded to text.
+ 'verticaltab' => "\x{000B}",
+ # following mappings are not used in pratice, as attrformfeed and similar
+ # appear in attributes and thus are already expanded to text.
'attrformfeed' => "\f",
+ 'attrverticaltab' => "\x{000B}",
);
# contains nobrace symbol and brace noarg commands
@@ -221,7 +236,23 @@ sub skip_until_end($$)
}
}
+sub unprotect_spaces($)
+{
+ my $spaces = shift;
+
+ if (defined($spaces)) {
+ $spaces =~ s/\\n/\n/g;
+ # convert back formfeed and other special characters
+ $spaces =~ s/\\f/\f/g;
+ $spaces =~ s/\\v/\x{000B}/g;
+ return $spaces;
+ } else {
+ return '';
+ }
+}
+
my $eat_space = 0;
+my $skip_comment = 0;
my @commands_with_args_stack;
while ($reader->read) {
@@ -230,7 +261,7 @@ while ($reader->read) {
if ($debug) {
my $args_stack_str = join('|', map {'['.$_->[0].','.$_->[1].']'}
@commands_with_args_stack);
- printf STDERR "(args: $args_stack_str) (eat_space $eat_space) %d %d %s %d", (
+ printf STDERR "(args: $args_stack_str) (eat_space $eat_space) (skip_comment $skip_comment) %d %d %s %d", (
$reader->depth, $reader->nodeType, $reader->name, $reader->isEmptyElement);
my $value = '';
if ($reader->hasValue()) {
@@ -274,21 +305,16 @@ while ($reader->read) {
if ($Texinfo::Convert::TexinfoMarkup::commands_args_elements{$name}) {
push @commands_with_args_stack, [$name, 0];
}
- my $spaces = $reader->getAttribute('spaces');
- if (defined($spaces)) {
- $spaces =~ s/\\n/\n/g;
- $spaces =~ s/\\f/\f/g;
- } else {
- $spaces = '';
- }
+ my $spaces = unprotect_spaces($reader->getAttribute('spaces'));
+ my $spaces_after_command
+ = unprotect_spaces($reader->getAttribute('spacesaftercmd'));
if ($name eq 'accent') {
if ($reader->hasAttributes()) {
if (defined($reader->getAttribute('type'))) {
my $command = $accent_type_command{$reader->getAttribute('type')};
- print "\@$command"
+ print "\@${command}${spaces_after_command}"
if (defined($command));
}
- print "$spaces";
if (!(defined($reader->getAttribute('bracketed'))
and $reader->getAttribute('bracketed') eq 'off')) {
print '{';
@@ -304,11 +330,12 @@ while ($reader->read) {
if ($reader->hasAttributes()
and defined($reader->getAttribute($attribute))) {
print
- $element_at_commands{$name}->{$attribute}->{$reader->getAttribute($attribute)};
+ $element_at_commands{$name}->{$attribute}->{
+ $reader->getAttribute($attribute)};
}
}
} elsif (exists($Texinfo::Commands::brace_commands{$name})) {
- print "\@${name}\{";
+ print "\@${name}${spaces_after_command}".'{';
if ($name eq 'verb' and $reader->hasAttributes()
and defined($reader->getAttribute('delimiter'))) {
print $reader->getAttribute('delimiter');
@@ -320,7 +347,6 @@ while ($reader->read) {
if ($reader->hasAttributes() and defined($reader->getAttribute('line'))) {
print $reader->getAttribute('line');
}
- print "\n";
} else {
# leading spaces are already in the line attribute for (r)macro
print "$spaces";
@@ -344,19 +370,39 @@ while ($reader->read) {
binmode(STDOUT, ":encoding($perl_encoding)");
}
}
- print "\@$name";
- print "$spaces";
+ print "\@$name$spaces";
if ($reader->hasAttributes() and defined($reader->getAttribute('line'))) {
my $line = $reader->getAttribute('line');
$line =~ s/\\\\/\x{1F}/g;
+ # convert back formfeed
$line =~ s/\\f/\f/g;
$line =~ s/\x{1F}/\\/g;
+ # FIXME needed?
+ #$line =~ s/\\v/\x{000B}/g;
print $line;
}
- if ($name eq 'set' or $name eq 'clickstyle') {
+ my $specific_line = (defined($Texinfo::Commands::line_commands{$name})
+ and $Texinfo::Commands::line_commands{$name} eq 'specific');
+ if ($name eq 'set' or $name eq 'clickstyle' or $name eq 'columnfractions'
+ or $specific_line) {
skip_until_end($reader, $name);
+ if ($name eq 'columnfractions' or $specific_line) {
+ # specific line commands have a line argument obtained by converting
+ # their line to Texinfo, which would include a comment on the line,
+ # and could also have a comment associated to the command appearing
+ # after the command as an XML comment. Similar for columnfraction.
+ #
+ # We skip the possibly existing redundant XML comment following the
+ # closing element.
+ #
+ # start at 2 as there is a -1 right down at the end of
+ # the loop, and another -1 for the next element (possibly
+ # an ignored comment).
+ $skip_comment = 2;
+ }
}
} elsif ($arg_elements{$name}) {
+ # elements corresponding to @-commands arguments
if ($reader->hasAttributes()
and defined($reader->getAttribute('automatic'))
and $reader->getAttribute('automatic') eq 'on') {
@@ -418,6 +464,12 @@ while ($reader->read) {
print '@'.$reader->getAttribute('command');
}
}
+ } elsif ($name eq 'infoenclose') {
+ if ($reader->hasAttributes()
+ and defined($reader->getAttribute('command'))) {
+ my $command = $reader->getAttribute('command');
+ print "\@${command}${spaces_after_command}".'{'."$spaces";
+ }
# def* automatic
} elsif ($reader->hasAttributes()
and defined($reader->getAttribute('automatic'))
@@ -433,9 +485,9 @@ while ($reader->read) {
if ($reader->hasAttributes()) {
if (defined($reader->getAttribute('bracketed'))
and $reader->getAttribute('bracketed') eq 'on') {
- print '{';
- print "$spaces";
+ print '{'."$spaces";
}
+ # menus 'star' and following spaces
if (defined($reader->getAttribute('leadingtext'))) {
print $reader->getAttribute('leadingtext');
}
@@ -444,6 +496,9 @@ while ($reader->read) {
and $Texinfo::Commands::block_commands{$name} eq 'item_line'
and $reader->hasAttributes()
and defined($reader->getAttribute('commandarg'))) {
+ # happens when formatting command argument is missing and there
+ # are no spaces.
+ print ' ' if ($spaces eq '');
print '@'.$reader->getAttribute('commandarg');
}
} elsif ($reader->nodeType() eq XML_READER_TYPE_END_ELEMENT) {
@@ -453,13 +508,16 @@ while ($reader->read) {
my $trailingspaces = '';
if ($reader->hasAttributes()
and defined($reader->getAttribute('trailingspaces'))) {
- $trailingspaces = $reader->getAttribute('trailingspaces');
- $trailingspaces =~ s/\\f/\f/g;
+ $trailingspaces
+ = unprotect_spaces($reader->getAttribute('trailingspaces'));
}
if ($reader->hasAttributes()) {
if (defined($reader->getAttribute('bracketed'))
and $reader->getAttribute('bracketed') eq 'on') {
print "$trailingspaces";
+ # such that spaces are not prepended below when prepended
+ # for elements without bracketed attribute below
+ $trailingspaces = '';
print '}';
}
}
@@ -498,12 +556,17 @@ while ($reader->read) {
print $reader->getAttribute('separator');
print "$trailingspaces";
}
+ } elsif ($name eq 'infoenclose') {
+ print "$trailingspaces".'}';
} elsif ($eat_space_elements{$name}) {
$eat_space = 1;
} else {
print STDERR "END UNKNOWN $name\n" if ($debug);
+ print "$trailingspaces";
}
} elsif ($reader->nodeType() eq XML_READER_TYPE_ENTITY_REFERENCE) {
+ # for some reason XML_READER_TYPE_ENTITY is never emitted
+ # or $reader->nodeType() eq XML_READER_TYPE_ENTITY) {
if (defined($entity_texts{$name})) {
print $entity_texts{$name};
}
@@ -514,11 +577,12 @@ while ($reader->read) {
$comment =~ s/^ (comment|c)//;
my $command = $1;
$comment =~ s/ $//;
- print "\@${command}$comment";
+ print "\@${command}$comment" unless ($skip_comment);
}
} elsif ($reader->nodeType() eq XML_READER_TYPE_DOCUMENT_TYPE) {
$eat_space = 1;
}
+ $skip_comment-- if ($skip_comment);
}
1;