diff options
Diffstat (limited to 'macros/texinfo/texinfo/info')
-rw-r--r-- | macros/texinfo/texinfo/info/Makefile.in | 266 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/dir.c | 162 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/display.c | 2 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/filesys.c | 97 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/filesys.h | 4 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/info-utils.c | 22 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/info.c | 4 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/m-x.c | 14 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/makedoc.c | 8 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/nodes.c | 212 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/pcterm.c | 25 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/search.c | 2 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/session.c | 28 | ||||
-rw-r--r-- | macros/texinfo/texinfo/info/t/Init-test.inc | 2 |
14 files changed, 539 insertions, 309 deletions
diff --git a/macros/texinfo/texinfo/info/Makefile.in b/macros/texinfo/texinfo/info/Makefile.in index c02de55a18..d8962c1e27 100644 --- a/macros/texinfo/texinfo/info/Makefile.in +++ b/macros/texinfo/texinfo/info/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -113,20 +113,25 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \ $(top_srcdir)/gnulib/m4/argz.m4 \ $(top_srcdir)/gnulib/m4/btowc.m4 \ $(top_srcdir)/gnulib/m4/builtin-expect.m4 \ + $(top_srcdir)/gnulib/m4/close.m4 \ $(top_srcdir)/gnulib/m4/codeset.m4 \ - $(top_srcdir)/gnulib/m4/dirname.m4 \ $(top_srcdir)/gnulib/m4/double-slash-root.m4 \ + $(top_srcdir)/gnulib/m4/dup2.m4 \ $(top_srcdir)/gnulib/m4/eealloc.m4 \ $(top_srcdir)/gnulib/m4/errno_h.m4 \ $(top_srcdir)/gnulib/m4/error.m4 \ $(top_srcdir)/gnulib/m4/exponentd.m4 \ $(top_srcdir)/gnulib/m4/extensions.m4 \ $(top_srcdir)/gnulib/m4/extern-inline.m4 \ + $(top_srcdir)/gnulib/m4/fcntl-o.m4 \ + $(top_srcdir)/gnulib/m4/fcntl.m4 \ + $(top_srcdir)/gnulib/m4/fcntl_h.m4 \ $(top_srcdir)/gnulib/m4/float_h.m4 \ + $(top_srcdir)/gnulib/m4/fstat.m4 \ + $(top_srcdir)/gnulib/m4/getdtablesize.m4 \ $(top_srcdir)/gnulib/m4/getopt.m4 \ $(top_srcdir)/gnulib/m4/getprogname.m4 \ $(top_srcdir)/gnulib/m4/gettext.m4 \ - $(top_srcdir)/gnulib/m4/glibc21.m4 \ $(top_srcdir)/gnulib/m4/gnulib-common.m4 \ $(top_srcdir)/gnulib/m4/gnulib-comp.m4 \ $(top_srcdir)/gnulib/m4/host-cpu-c-abi.m4 \ @@ -134,9 +139,13 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \ $(top_srcdir)/gnulib/m4/include_next.m4 \ $(top_srcdir)/gnulib/m4/intlmacosx.m4 \ $(top_srcdir)/gnulib/m4/intmax_t.m4 \ + $(top_srcdir)/gnulib/m4/inttypes.m4 \ $(top_srcdir)/gnulib/m4/inttypes_h.m4 \ $(top_srcdir)/gnulib/m4/iswblank.m4 \ + $(top_srcdir)/gnulib/m4/iswdigit.m4 \ + $(top_srcdir)/gnulib/m4/iswxdigit.m4 \ $(top_srcdir)/gnulib/m4/langinfo_h.m4 \ + $(top_srcdir)/gnulib/m4/largefile.m4 \ $(top_srcdir)/gnulib/m4/lib-ld.m4 \ $(top_srcdir)/gnulib/m4/lib-link.m4 \ $(top_srcdir)/gnulib/m4/lib-prefix.m4 \ @@ -149,7 +158,6 @@ 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/longlong.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ $(top_srcdir)/gnulib/m4/malloca.m4 \ $(top_srcdir)/gnulib/m4/mbchar.m4 \ @@ -164,19 +172,28 @@ 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/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/nl_langinfo.m4 \ $(top_srcdir)/gnulib/m4/nls.m4 \ $(top_srcdir)/gnulib/m4/nocrash.m4 \ - $(top_srcdir)/gnulib/m4/off_t.m4 $(top_srcdir)/gnulib/m4/po.m4 \ + $(top_srcdir)/gnulib/m4/off_t.m4 \ + $(top_srcdir)/gnulib/m4/open-cloexec.m4 \ + $(top_srcdir)/gnulib/m4/open-slash.m4 \ + $(top_srcdir)/gnulib/m4/open.m4 \ + $(top_srcdir)/gnulib/m4/pathmax.m4 \ + $(top_srcdir)/gnulib/m4/po.m4 \ $(top_srcdir)/gnulib/m4/printf.m4 \ $(top_srcdir)/gnulib/m4/progtest.m4 \ $(top_srcdir)/gnulib/m4/pthread_rwlock_rdlock.m4 \ $(top_srcdir)/gnulib/m4/regex.m4 \ + $(top_srcdir)/gnulib/m4/setlocale_null.m4 \ $(top_srcdir)/gnulib/m4/size_max.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/stdarg.m4 \ $(top_srcdir)/gnulib/m4/stdbool.m4 \ $(top_srcdir)/gnulib/m4/stddef_h.m4 \ @@ -195,11 +212,14 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \ $(top_srcdir)/gnulib/m4/strnlen.m4 \ $(top_srcdir)/gnulib/m4/strstr.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/threadlib.m4 \ + $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/vasnprintf.m4 \ $(top_srcdir)/gnulib/m4/vasprintf.m4 \ + $(top_srcdir)/gnulib/m4/visibility.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ $(top_srcdir)/gnulib/m4/wchar_h.m4 \ $(top_srcdir)/gnulib/m4/wchar_t.m4 \ @@ -208,7 +228,8 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.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)/configure.ac + $(top_srcdir)/gnulib/m4/xsize.m4 \ + $(top_srcdir)/gnulib/m4/zzgnulib.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) @@ -499,6 +520,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -547,6 +569,7 @@ BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -565,15 +588,17 @@ ENOLINK_VALUE = @ENOLINK_VALUE@ EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@ EOVERFLOW_VALUE = @EOVERFLOW_VALUE@ ERRNO_H = @ERRNO_H@ +ESLINT = @ESLINT@ EXEEXT = @EXEEXT@ FLOAT_H = @FLOAT_H@ GAWK = @GAWK@ GETOPT_CDEFS_H = @GETOPT_CDEFS_H@ GETOPT_H = @GETOPT_H@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_ACCESS = @GNULIB_ACCESS@ +GNULIB_ALIGNED_ALLOC = @GNULIB_ALIGNED_ALLOC@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_BTOWC = @GNULIB_BTOWC@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ @@ -582,6 +607,8 @@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ +GNULIB_CREAT = @GNULIB_CREAT@ +GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ @@ -589,11 +616,20 @@ GNULIB_DUP3 = @GNULIB_DUP3@ GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@ GNULIB_ENVIRON = @GNULIB_ENVIRON@ GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@ +GNULIB_EXECL = @GNULIB_EXECL@ +GNULIB_EXECLE = @GNULIB_EXECLE@ +GNULIB_EXECLP = @GNULIB_EXECLP@ +GNULIB_EXECV = @GNULIB_EXECV@ +GNULIB_EXECVE = @GNULIB_EXECVE@ +GNULIB_EXECVP = @GNULIB_EXECVP@ +GNULIB_EXECVPE = @GNULIB_EXECVPE@ GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@ GNULIB_FACCESSAT = @GNULIB_FACCESSAT@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ +GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ +GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ @@ -609,14 +645,18 @@ GNULIB_FPURGE = @GNULIB_FPURGE@ GNULIB_FPUTC = @GNULIB_FPUTC@ GNULIB_FPUTS = @GNULIB_FPUTS@ GNULIB_FREAD = @GNULIB_FREAD@ +GNULIB_FREE_POSIX = @GNULIB_FREE_POSIX@ GNULIB_FREOPEN = @GNULIB_FREOPEN@ GNULIB_FSCANF = @GNULIB_FSCANF@ GNULIB_FSEEK = @GNULIB_FSEEK@ GNULIB_FSEEKO = @GNULIB_FSEEKO@ +GNULIB_FSTAT = @GNULIB_FSTAT@ +GNULIB_FSTATAT = @GNULIB_FSTATAT@ GNULIB_FSYNC = @GNULIB_FSYNC@ GNULIB_FTELL = @GNULIB_FTELL@ GNULIB_FTELLO = @GNULIB_FTELLO@ GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ +GNULIB_FUTIMENS = @GNULIB_FUTIMENS@ GNULIB_FWRITE = @GNULIB_FWRITE@ GNULIB_GETC = @GNULIB_GETC@ GNULIB_GETCHAR = @GNULIB_GETCHAR@ @@ -624,28 +664,39 @@ GNULIB_GETCWD = @GNULIB_GETCWD@ GNULIB_GETDELIM = @GNULIB_GETDELIM@ GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@ GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@ +GNULIB_GETENTROPY = @GNULIB_GETENTROPY@ GNULIB_GETGROUPS = @GNULIB_GETGROUPS@ GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@ GNULIB_GETLINE = @GNULIB_GETLINE@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ +GNULIB_GETOPT_POSIX = @GNULIB_GETOPT_POSIX@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ GNULIB_GETPASS = @GNULIB_GETPASS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ +GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ +GNULIB_GETUMASK = @GNULIB_GETUMASK@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@ +GNULIB_IMAXABS = @GNULIB_IMAXABS@ +GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ GNULIB_ISATTY = @GNULIB_ISATTY@ GNULIB_ISWBLANK = @GNULIB_ISWBLANK@ GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@ +GNULIB_ISWDIGIT = @GNULIB_ISWDIGIT@ +GNULIB_ISWXDIGIT = @GNULIB_ISWXDIGIT@ +GNULIB_LCHMOD = @GNULIB_LCHMOD@ GNULIB_LCHOWN = @GNULIB_LCHOWN@ GNULIB_LINK = @GNULIB_LINK@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LOCALECONV = @GNULIB_LOCALECONV@ GNULIB_LOCALENAME = @GNULIB_LOCALENAME@ +GNULIB_LOCALTIME = @GNULIB_LOCALTIME@ GNULIB_LSEEK = @GNULIB_LSEEK@ +GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ GNULIB_MBRLEN = @GNULIB_MBRLEN@ GNULIB_MBRTOWC = @GNULIB_MBRTOWC@ @@ -667,24 +718,78 @@ GNULIB_MBSSPN = @GNULIB_MBSSPN@ GNULIB_MBSSTR = @GNULIB_MBSSTR@ GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MBTOWC = @GNULIB_MBTOWC@ +GNULIB_MDA_ACCESS = @GNULIB_MDA_ACCESS@ +GNULIB_MDA_CHDIR = @GNULIB_MDA_CHDIR@ +GNULIB_MDA_CHMOD = @GNULIB_MDA_CHMOD@ +GNULIB_MDA_CLOSE = @GNULIB_MDA_CLOSE@ +GNULIB_MDA_CREAT = @GNULIB_MDA_CREAT@ +GNULIB_MDA_DUP = @GNULIB_MDA_DUP@ +GNULIB_MDA_DUP2 = @GNULIB_MDA_DUP2@ +GNULIB_MDA_ECVT = @GNULIB_MDA_ECVT@ +GNULIB_MDA_EXECL = @GNULIB_MDA_EXECL@ +GNULIB_MDA_EXECLE = @GNULIB_MDA_EXECLE@ +GNULIB_MDA_EXECLP = @GNULIB_MDA_EXECLP@ +GNULIB_MDA_EXECV = @GNULIB_MDA_EXECV@ +GNULIB_MDA_EXECVE = @GNULIB_MDA_EXECVE@ +GNULIB_MDA_EXECVP = @GNULIB_MDA_EXECVP@ +GNULIB_MDA_EXECVPE = @GNULIB_MDA_EXECVPE@ +GNULIB_MDA_FCLOSEALL = @GNULIB_MDA_FCLOSEALL@ +GNULIB_MDA_FCVT = @GNULIB_MDA_FCVT@ +GNULIB_MDA_FDOPEN = @GNULIB_MDA_FDOPEN@ +GNULIB_MDA_FILENO = @GNULIB_MDA_FILENO@ +GNULIB_MDA_GCVT = @GNULIB_MDA_GCVT@ +GNULIB_MDA_GETCWD = @GNULIB_MDA_GETCWD@ +GNULIB_MDA_GETPID = @GNULIB_MDA_GETPID@ +GNULIB_MDA_GETW = @GNULIB_MDA_GETW@ +GNULIB_MDA_ISATTY = @GNULIB_MDA_ISATTY@ +GNULIB_MDA_LSEEK = @GNULIB_MDA_LSEEK@ +GNULIB_MDA_MEMCCPY = @GNULIB_MDA_MEMCCPY@ +GNULIB_MDA_MKDIR = @GNULIB_MDA_MKDIR@ +GNULIB_MDA_MKTEMP = @GNULIB_MDA_MKTEMP@ +GNULIB_MDA_OPEN = @GNULIB_MDA_OPEN@ +GNULIB_MDA_PUTENV = @GNULIB_MDA_PUTENV@ +GNULIB_MDA_PUTW = @GNULIB_MDA_PUTW@ +GNULIB_MDA_READ = @GNULIB_MDA_READ@ +GNULIB_MDA_RMDIR = @GNULIB_MDA_RMDIR@ +GNULIB_MDA_STRDUP = @GNULIB_MDA_STRDUP@ +GNULIB_MDA_SWAB = @GNULIB_MDA_SWAB@ +GNULIB_MDA_TEMPNAM = @GNULIB_MDA_TEMPNAM@ +GNULIB_MDA_TZSET = @GNULIB_MDA_TZSET@ +GNULIB_MDA_UMASK = @GNULIB_MDA_UMASK@ +GNULIB_MDA_UNLINK = @GNULIB_MDA_UNLINK@ +GNULIB_MDA_WCSDUP = @GNULIB_MDA_WCSDUP@ +GNULIB_MDA_WRITE = @GNULIB_MDA_WRITE@ GNULIB_MEMCHR = @GNULIB_MEMCHR@ GNULIB_MEMMEM = @GNULIB_MEMMEM@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ +GNULIB_MKDIR = @GNULIB_MKDIR@ +GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ +GNULIB_MKFIFO = @GNULIB_MKFIFO@ +GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@ +GNULIB_MKNOD = @GNULIB_MKNOD@ +GNULIB_MKNODAT = @GNULIB_MKNODAT@ GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@ GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ +GNULIB_MKTIME = @GNULIB_MKTIME@ +GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@ +GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ +GNULIB_OPEN = @GNULIB_OPEN@ +GNULIB_OPENAT = @GNULIB_OPENAT@ +GNULIB_OVERRIDES_STRUCT_STAT = @GNULIB_OVERRIDES_STRUCT_STAT@ GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ GNULIB_PIPE2 = @GNULIB_PIPE2@ GNULIB_POPEN = @GNULIB_POPEN@ +GNULIB_POSIX_MEMALIGN = @GNULIB_POSIX_MEMALIGN@ GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@ GNULIB_PREAD = @GNULIB_PREAD@ GNULIB_PRINTF = @GNULIB_PRINTF@ @@ -716,9 +821,13 @@ GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ GNULIB_SETLOCALE = @GNULIB_SETLOCALE@ +GNULIB_SETLOCALE_NULL = @GNULIB_SETLOCALE_NULL@ +GNULIB_SIGABBREV_NP = @GNULIB_SIGABBREV_NP@ +GNULIB_SIGDESCR_NP = @GNULIB_SIGDESCR_NP@ GNULIB_SLEEP = @GNULIB_SLEEP@ GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ +GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ GNULIB_STPCPY = @GNULIB_STPCPY@ @@ -727,27 +836,37 @@ GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ GNULIB_STRDUP = @GNULIB_STRDUP@ GNULIB_STRERROR = @GNULIB_STRERROR@ +GNULIB_STRERRORNAME_NP = @GNULIB_STRERRORNAME_NP@ GNULIB_STRERROR_R = @GNULIB_STRERROR_R@ +GNULIB_STRFTIME = @GNULIB_STRFTIME@ GNULIB_STRNCAT = @GNULIB_STRNCAT@ GNULIB_STRNDUP = @GNULIB_STRNDUP@ GNULIB_STRNLEN = @GNULIB_STRNLEN@ GNULIB_STRPBRK = @GNULIB_STRPBRK@ +GNULIB_STRPTIME = @GNULIB_STRPTIME@ GNULIB_STRSEP = @GNULIB_STRSEP@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ +GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ +GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ +GNULIB_TIMEGM = @GNULIB_TIMEGM@ +GNULIB_TIMESPEC_GET = @GNULIB_TIMESPEC_GET@ +GNULIB_TIME_R = @GNULIB_TIME_R@ +GNULIB_TIME_RZ = @GNULIB_TIME_RZ@ GNULIB_TMPFILE = @GNULIB_TMPFILE@ GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@ GNULIB_TRUNCATE = @GNULIB_TRUNCATE@ GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@ +GNULIB_TZSET = @GNULIB_TZSET@ GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@ GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@ GNULIB_UNLINK = @GNULIB_UNLINK@ @@ -755,6 +874,7 @@ GNULIB_UNLINKAT = @GNULIB_UNLINKAT@ GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@ GNULIB_UNSETENV = @GNULIB_UNSETENV@ GNULIB_USLEEP = @GNULIB_USLEEP@ +GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@ GNULIB_VASPRINTF = @GNULIB_VASPRINTF@ GNULIB_VDPRINTF = @GNULIB_VDPRINTF@ GNULIB_VFPRINTF = @GNULIB_VFPRINTF@ @@ -801,10 +921,12 @@ GNULIB_WMEMCHR = @GNULIB_WMEMCHR@ GNULIB_WMEMCMP = @GNULIB_WMEMCMP@ GNULIB_WMEMCPY = @GNULIB_WMEMCPY@ GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@ +GNULIB_WMEMPCPY = @GNULIB_WMEMPCPY@ GNULIB_WMEMSET = @GNULIB_WMEMSET@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ +HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@ HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -813,12 +935,17 @@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ +HAVE_DECL_ECVT = @HAVE_DECL_ECVT@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ +HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ +HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@ +HAVE_DECL_FCVT = @HAVE_DECL_FCVT@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ +HAVE_DECL_GCVT = @HAVE_DECL_GCVT@ HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@ HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@ HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@ @@ -827,7 +954,10 @@ 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_IMAXABS = @HAVE_DECL_IMAXABS@ +HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ +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@ @@ -841,22 +971,27 @@ HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ +HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ +HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ +HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@ HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@ HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@ HAVE_DPRINTF = @HAVE_DPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ HAVE_DUPLOCALE = @HAVE_DUPLOCALE@ HAVE_EUIDACCESS = @HAVE_EUIDACCESS@ +HAVE_EXECVPE = @HAVE_EXECVPE@ HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ +HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ +HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ HAVE_FEATURES_H = @HAVE_FEATURES_H@ HAVE_FFS = @HAVE_FFS@ @@ -864,10 +999,13 @@ HAVE_FFSL = @HAVE_FFSL@ HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FREELOCALE = @HAVE_FREELOCALE@ HAVE_FSEEKO = @HAVE_FSEEKO@ +HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ HAVE_FTELLO = @HAVE_FTELLO@ HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ +HAVE_FUTIMENS = @HAVE_FUTIMENS@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@ +HAVE_GETENTROPY = @HAVE_GETENTROPY@ HAVE_GETGROUPS = @HAVE_GETGROUPS@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ @@ -875,8 +1013,10 @@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETPASS = @HAVE_GETPASS@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ +HAVE_GETUMASK = @HAVE_GETUMASK@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ @@ -887,10 +1027,11 @@ HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@ HAVE_LANGINFO_H = @HAVE_LANGINFO_H@ HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@ HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@ +HAVE_LCHMOD = @HAVE_LCHMOD@ HAVE_LCHOWN = @HAVE_LCHOWN@ HAVE_LINK = @HAVE_LINK@ HAVE_LINKAT = @HAVE_LINKAT@ -HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@ HAVE_MBRLEN = @HAVE_MBRLEN@ HAVE_MBRTOWC = @HAVE_MBRTOWC@ @@ -899,21 +1040,28 @@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MBTOWC = @HAVE_MBTOWC@ -HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ +HAVE_MKFIFO = @HAVE_MKFIFO@ +HAVE_MKFIFOAT = @HAVE_MKFIFOAT@ +HAVE_MKNOD = @HAVE_MKNOD@ +HAVE_MKNODAT = @HAVE_MKNODAT@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@ +HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ HAVE_NEWLOCALE = @HAVE_NEWLOCALE@ HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@ +HAVE_OPENAT = @HAVE_OPENAT@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ HAVE_PIPE2 = @HAVE_PIPE2@ HAVE_POPEN = @HAVE_POPEN@ +HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@ HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@ HAVE_PREAD = @HAVE_PREAD@ HAVE_PTSNAME = @HAVE_PTSNAME@ @@ -934,6 +1082,8 @@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ HAVE_SETSTATE = @HAVE_SETSTATE@ +HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@ +HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@ HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ @@ -944,8 +1094,10 @@ HAVE_STPNCPY = @HAVE_STPNCPY@ HAVE_STRCASECMP = @HAVE_STRCASECMP@ HAVE_STRCASESTR = @HAVE_STRCASESTR@ HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@ HAVE_STRINGS_H = @HAVE_STRINGS_H@ HAVE_STRPBRK = @HAVE_STRPBRK@ +HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLD = @HAVE_STRTOLD@ @@ -961,13 +1113,17 @@ 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_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_TIMEGM = @HAVE_TIMEGM@ +HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@ +HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ -HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ HAVE_USLEEP = @HAVE_USLEEP@ +HAVE_UTIMENSAT = @HAVE_UTIMENSAT@ HAVE_VASPRINTF = @HAVE_VASPRINTF@ HAVE_VDPRINTF = @HAVE_VDPRINTF@ +HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WCHAR_H = @HAVE_WCHAR_H@ HAVE_WCHAR_T = @HAVE_WCHAR_T@ HAVE_WCPCPY = @HAVE_WCPCPY@ @@ -1006,6 +1162,7 @@ HAVE_WMEMCHR = @HAVE_WMEMCHR@ HAVE_WMEMCMP = @HAVE_WMEMCMP@ HAVE_WMEMCPY = @HAVE_WMEMCPY@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ +HAVE_WMEMPCPY = @HAVE_WMEMPCPY@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ HAVE__BOOL = @HAVE__BOOL@ @@ -1018,6 +1175,8 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +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@ LDFLAGS = @LDFLAGS@ @@ -1027,13 +1186,22 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPMULTITHREAD = @LIBPMULTITHREAD@ +LIBPTHREAD = @LIBPTHREAD@ LIBS = @LIBS@ +LIBSTDTHREAD = @LIBSTDTHREAD@ LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIB_HARD_LOCALE = @LIB_HARD_LOCALE@ +LIB_MBRTOWC = @LIB_MBRTOWC@ +LIB_NL_LANGINFO = @LIB_NL_LANGINFO@ +LIB_SCHED_YIELD = @LIB_SCHED_YIELD@ +LIB_SETLOCALE_NULL = @LIB_SETLOCALE_NULL@ LIMITS_H = @LIMITS_H@ LN_S = @LN_S@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@ +LOCALENAME_ENHANCE_LOCALE_FUNCS = @LOCALENAME_ENHANCE_LOCALE_FUNCS@ LOCALE_FR = @LOCALE_FR@ LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@ LOCALE_JA = @LOCALE_JA@ @@ -1046,12 +1214,15 @@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ +MODERNIZR = @MODERNIZR@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_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@ +NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@ NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@ @@ -1062,13 +1233,17 @@ 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_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_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_FCNTL_H = @NEXT_FCNTL_H@ NEXT_FLOAT_H = @NEXT_FLOAT_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ +NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_LANGINFO_H = @NEXT_LANGINFO_H@ NEXT_LIMITS_H = @NEXT_LIMITS_H@ NEXT_LOCALE_H = @NEXT_LOCALE_H@ @@ -1079,7 +1254,9 @@ 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_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ +NEXT_TIME_H = @NEXT_TIME_H@ NEXT_UNISTD_H = @NEXT_UNISTD_H@ NEXT_WCHAR_H = @NEXT_WCHAR_H@ NEXT_WCTYPE_H = @NEXT_WCTYPE_H@ @@ -1102,33 +1279,53 @@ POD2MAN = @POD2MAN@ POSUB = @POSUB@ PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +PRIPTR_PREFIX = @PRIPTR_PREFIX@ PROVE = @PROVE@ +PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ RANLIB = @RANLIB@ +REPLACE_ACCESS = @REPLACE_ACCESS@ +REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@ REPLACE_BTOWC = @REPLACE_BTOWC@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ +REPLACE_CREAT = @REPLACE_CREAT@ +REPLACE_CTIME = @REPLACE_CTIME@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ +REPLACE_EXECL = @REPLACE_EXECL@ +REPLACE_EXECLE = @REPLACE_EXECLE@ +REPLACE_EXECLP = @REPLACE_EXECLP@ +REPLACE_EXECV = @REPLACE_EXECV@ +REPLACE_EXECVE = @REPLACE_EXECVE@ +REPLACE_EXECVP = @REPLACE_EXECVP@ +REPLACE_EXECVPE = @REPLACE_EXECVPE@ REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ +REPLACE_FCHMODAT = @REPLACE_FCHMODAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ +REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ +REPLACE_FFSLL = @REPLACE_FFSLL@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ REPLACE_FPURGE = @REPLACE_FPURGE@ +REPLACE_FREE = @REPLACE_FREE@ REPLACE_FREELOCALE = @REPLACE_FREELOCALE@ REPLACE_FREOPEN = @REPLACE_FREOPEN@ REPLACE_FSEEK = @REPLACE_FSEEK@ REPLACE_FSEEKO = @REPLACE_FSEEKO@ +REPLACE_FSTAT = @REPLACE_FSTAT@ +REPLACE_FSTATAT = @REPLACE_FSTATAT@ REPLACE_FTELL = @REPLACE_FTELL@ REPLACE_FTELLO = @REPLACE_FTELLO@ REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@ +REPLACE_FUTIMENS = @REPLACE_FUTIMENS@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ @@ -1138,16 +1335,22 @@ REPLACE_GETLINE = @REPLACE_GETLINE@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETPASS = @REPLACE_GETPASS@ +REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ +REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@ +REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@ REPLACE_ITOLD = @REPLACE_ITOLD@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ REPLACE_LINKAT = @REPLACE_LINKAT@ REPLACE_LOCALECONV = @REPLACE_LOCALECONV@ +REPLACE_LOCALTIME = @REPLACE_LOCALTIME@ +REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ REPLACE_LSEEK = @REPLACE_LSEEK@ +REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ REPLACE_MBRLEN = @REPLACE_MBRLEN@ REPLACE_MBRTOWC = @REPLACE_MBRTOWC@ @@ -1158,13 +1361,23 @@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ REPLACE_MBTOWC = @REPLACE_MBTOWC@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MKDIR = @REPLACE_MKDIR@ +REPLACE_MKFIFO = @REPLACE_MKFIFO@ +REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@ +REPLACE_MKNOD = @REPLACE_MKNOD@ +REPLACE_MKNODAT = @REPLACE_MKNODAT@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ +REPLACE_MKTIME = @REPLACE_MKTIME@ +REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ +REPLACE_OPEN = @REPLACE_OPEN@ +REPLACE_OPENAT = @REPLACE_OPENAT@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ +REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ @@ -1189,6 +1402,7 @@ REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ 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_STPNCPY = @REPLACE_STPNCPY@ @@ -1196,26 +1410,33 @@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ REPLACE_STRDUP = @REPLACE_STRDUP@ REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@ REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ +REPLACE_STRFTIME = @REPLACE_STRFTIME@ REPLACE_STRNCAT = @REPLACE_STRNCAT@ REPLACE_STRNDUP = @REPLACE_STRNDUP@ REPLACE_STRNLEN = @REPLACE_STRNLEN@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ +REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_STRTOLD = @REPLACE_STRTOLD@ +REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ +REPLACE_TIMEGM = @REPLACE_TIMEGM@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TRUNCATE = @REPLACE_TRUNCATE@ REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@ +REPLACE_TZSET = @REPLACE_TZSET@ REPLACE_UNLINK = @REPLACE_UNLINK@ REPLACE_UNLINKAT = @REPLACE_UNLINKAT@ REPLACE_UNSETENV = @REPLACE_UNSETENV@ REPLACE_USLEEP = @REPLACE_USLEEP@ +REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@ REPLACE_VASPRINTF = @REPLACE_VASPRINTF@ REPLACE_VDPRINTF = @REPLACE_VDPRINTF@ REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ @@ -1226,6 +1447,7 @@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ REPLACE_WCSFTIME = @REPLACE_WCSFTIME@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ +REPLACE_WCSTOK = @REPLACE_WCSTOK@ REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ @@ -1241,9 +1463,19 @@ STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ +SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ TERMLIBS = @TERMLIBS@ TEXINFO_DTD_VERSION = @TEXINFO_DTD_VERSION@ +TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ +TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@ +TI_AWK = @TI_AWK@ +TSC = @TSC@ +UGLIFYJS = @UGLIFYJS@ +UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ +UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ +UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@ +UNISTD_H_HAVE_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ USE_EXTERNAL_EASTASIANWIDTH = @USE_EXTERNAL_EASTASIANWIDTH@ @@ -1254,7 +1486,9 @@ USE_UNICODE = @USE_UNICODE@ VERSION = @VERSION@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ +WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ @@ -1756,7 +1990,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -2448,7 +2682,8 @@ installdirs: done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data: install-data-am uninstall: uninstall-am @@ -2606,7 +2841,8 @@ ps-am: uninstall-am: uninstall-binPROGRAMS -.MAKE: all check check-am install install-am install-strip +.MAKE: all check check-am install install-am install-exec \ + install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ check-am clean clean-binPROGRAMS clean-checkPROGRAMS \ diff --git a/macros/texinfo/texinfo/info/dir.c b/macros/texinfo/texinfo/info/dir.c index 49a905c9bc..d92e4ce3fd 100644 --- a/macros/texinfo/texinfo/info/dir.c +++ b/macros/texinfo/texinfo/info/dir.c @@ -1,6 +1,6 @@ /* dir.c -- how to build a special "dir" node from "localdir" files. - Copyright 1993-2019 Free Software Foundation, Inc. + Copyright 1993-2020 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 @@ -22,18 +22,10 @@ #include "filesys.h" #include "tilde.h" -/* The "dir" node can be built from the contents of a file called "dir", - with the addition of the menus of every file named in the array - dirs_to_add which are found in INFOPATH. */ - static void add_menu_to_node (char *contents, size_t size, NODE *node); static void insert_text_into_node (NODE *node, long start, char *text, int textlen); -static char *dirs_to_add[] = { - "dir", "localdir", NULL -}; - static NODE *dir_node = 0; static NODE *build_dir_node (void); @@ -59,8 +51,9 @@ static char *dir_contents; static NODE * build_dir_node (void) { - int path_index; char *this_dir; + int path_index = 0; + NODE *node; node = info_create_node (); @@ -82,60 +75,39 @@ build_dir_node (void) node->nodelen = strlen (node->contents); - /* Using each element of the path, check for one of the files in - DIRS_TO_ADD. Do not check for "localdir.info.Z" or anything else. - Only files explictly named are eligible. This is a design decision. - There can be an info file name "localdir.info" which contains - information on the setting up of "localdir" files. */ - for (this_dir = infopath_first (&path_index); this_dir; - this_dir = infopath_next (&path_index)) - { - register int da_index; - char *from_file; - - /* Expand a leading tilde if one is present. */ - if (*this_dir == '~') + for (this_dir = infopath_first (&path_index); this_dir; + this_dir = infopath_next (&path_index)) + { + char *result; + char *fullpath; + int len; + size_t filesize; + struct stat finfo; + int compressed; + char *contents; + +/* Space for an appended compressed file extension, like ".gz". */ +#define PADDING "XXXXXXXXX" + + len = asprintf (&fullpath, "%s/dir%s", this_dir, PADDING); + fullpath[len - strlen(PADDING)] = '\0'; + + result = info_check_compressed (fullpath, &finfo); + if (!result) + { + free (fullpath); + continue; + } + + contents = filesys_read_info_file (fullpath, &filesize, + &finfo, &compressed); + if (contents) { - char *tilde_expanded_dirname; - - tilde_expanded_dirname = tilde_expand_word (this_dir); - if (tilde_expanded_dirname != this_dir) - { - this_dir = tilde_expanded_dirname; - } + add_menu_to_node (contents, filesize, node); + free (contents); } - /* For every different file named in DIRS_TO_ADD found in the - search path, add that file's menu to our "dir" node. */ - for (da_index = 0; (from_file = dirs_to_add[da_index]); da_index++) - { - struct stat finfo; - int statable; - int namelen = strlen (from_file); - char *fullpath = xmalloc (3 + strlen (this_dir) + namelen); - - strcpy (fullpath, this_dir); - if (!IS_SLASH (fullpath[strlen (fullpath) - 1])) - strcat (fullpath, "/"); - strcat (fullpath, from_file); - - statable = (stat (fullpath, &finfo) == 0); - - if (statable && S_ISREG (finfo.st_mode)) - { - size_t filesize; - int compressed; - char *contents = filesys_read_info_file (fullpath, &filesize, - &finfo, &compressed); - if (contents) - { - add_menu_to_node (contents, filesize, node); - free (contents); - } - } - - free (fullpath); - } + free (fullpath); } node->flags |= N_IsDir; @@ -261,14 +233,14 @@ lookup_dir_entry (char *label, int sloppy) return entry; } -/* Look up entry in "dir" and "localdir" in search directory. Return +/* Look up entry in "dir" in search directory. Return value is a pointer to a newly allocated REFERENCE. */ REFERENCE * dir_entry_of_infodir (char *label, char *searchdir) { - int da_index; - char *dir_filename; char *dir_fullpath; + int len; + char *result; struct stat dummy; char *entry_fullpath; @@ -276,40 +248,42 @@ dir_entry_of_infodir (char *label, char *searchdir) NODE *dir_node; REFERENCE *entry; - for (da_index = 0; (dir_filename = dirs_to_add[da_index]); da_index++) - { - dir_fullpath = info_add_extension (searchdir, dir_filename, &dummy); - if (!dir_fullpath) - continue; + len = asprintf (&dir_fullpath, "%s/dir%s", searchdir, PADDING); + dir_fullpath[len - strlen(PADDING)] = '\0'; - if (!IS_ABSOLUTE(dir_fullpath)) - { - char *tmp; - asprintf (&tmp, "./%s", dir_fullpath); - free (dir_fullpath); - dir_fullpath = tmp; - } - dir_node = info_get_node (dir_fullpath, "Top"); + if (!IS_ABSOLUTE(dir_fullpath)) + { + char *tmp; + asprintf (&tmp, "./%s", dir_fullpath); free (dir_fullpath); - entry = info_get_menu_entry_by_label (dir_node, label, 1); - if (!entry || !entry->filename) - { - free_history_node (dir_node); - continue; - /* A dir entry with no filename is unlikely, but not impossible. */ - } - - entry = info_copy_reference (entry); - entry_fullpath = info_add_extension (searchdir, entry->filename, &dummy); - if (entry_fullpath) - { - free (entry->filename); - entry->filename = entry_fullpath; - } + dir_fullpath = tmp; + } + result = info_check_compressed (dir_fullpath, &dummy); + if (!result) + { + free (dir_fullpath); + return 0; + } + dir_node = info_get_node (dir_fullpath, "Top"); + free (dir_fullpath); + entry = info_get_menu_entry_by_label (dir_node, label, 1); + if (!entry || !entry->filename) + { free_history_node (dir_node); - return entry; + return 0; + /* A dir entry with no filename is unlikely, but not impossible. */ + } + + entry = info_copy_reference (entry); + entry_fullpath = info_add_extension (searchdir, entry->filename, &dummy); + if (entry_fullpath) + { + free (entry->filename); + entry->filename = entry_fullpath; } - return 0; + + free_history_node (dir_node); + return entry; } diff --git a/macros/texinfo/texinfo/info/display.c b/macros/texinfo/texinfo/info/display.c index abd17db537..4b8c932448 100644 --- a/macros/texinfo/texinfo/info/display.c +++ b/macros/texinfo/texinfo/info/display.c @@ -313,7 +313,7 @@ static int ref_highlighted; static int pl_num; /* Number of printed lines done so far. */ RENDITION ref_rendition = {UNDERLINE_MASK, UNDERLINE_MASK}; -RENDITION hl_ref_rendition = {UNDERLINE_MASK, 0}; +RENDITION hl_ref_rendition = {BOLD_MASK, BOLD_MASK}; RENDITION match_rendition = {STANDOUT_MASK, STANDOUT_MASK}; diff --git a/macros/texinfo/texinfo/info/filesys.c b/macros/texinfo/texinfo/info/filesys.c index 52b624178a..3def765757 100644 --- a/macros/texinfo/texinfo/info/filesys.c +++ b/macros/texinfo/texinfo/info/filesys.c @@ -1,6 +1,6 @@ /* filesys.c -- filesystem specific functions. - Copyright 1993-2019 Free Software Foundation, Inc. + Copyright 1993-2021 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 @@ -153,7 +153,6 @@ info_file_find_next_in_path (char *filename, int *path_index, struct stat *finfo if (*dirname == '~') { char *expanded_dirname = tilde_expand_word (dirname); - free (dirname); dirname = expanded_dirname; } @@ -185,6 +184,45 @@ info_file_in_path (char *filename, struct stat *finfo) return info_file_find_next_in_path (filename, &i, finfo); } +/* Check if TRY_FILENAME exists, possibly compressed. If so, return + filename in TRY_FILENAME. */ +char * +info_check_compressed (char *try_filename, struct stat *finfo) +{ + int statable = (stat (try_filename, finfo) == 0); + + if (statable) + { + if (S_ISREG (finfo->st_mode)) + { + debug(1, (_("found file %s"), try_filename)); + return try_filename; + } + } + else + { + /* Add various compression suffixes to the name to see if + the file is present in compressed format. */ + register int j, pre_compress_suffix_length; + + pre_compress_suffix_length = strlen (try_filename); + + for (j = 0; compress_suffixes[j].suffix; j++) + { + strcpy (try_filename + pre_compress_suffix_length, + compress_suffixes[j].suffix); + + statable = (stat (try_filename, finfo) == 0); + if (statable && (S_ISREG (finfo->st_mode))) + { + debug(1, (_("found file %s"), try_filename)); + return try_filename; + } + } + } + return 0; +} + /* Look for a file called FILENAME in a directory called DIRNAME, adding file extensions if necessary. FILENAME can be an absolute path or a path relative to the current directory, in which case DIRNAME should be @@ -222,57 +260,12 @@ info_add_extension (char *dirname, char *filename, struct stat *finfo) for (i = 0; info_suffixes[i]; i++) { - int statable; - + char *result; strcpy (try_filename + pre_suffix_length, info_suffixes[i]); - statable = (stat (try_filename, finfo) == 0); - /* If we have found a regular file, then use that. Else, if we - have found a directory, look in that directory for this file. */ - if (statable) - { - if (S_ISREG (finfo->st_mode)) - { - debug(1, (_("found file %s"), try_filename)); - return try_filename; - } - else if (S_ISDIR (finfo->st_mode)) - { - char *newpath, *new_filename; - - newpath = xstrdup (try_filename); - new_filename = info_add_extension (newpath, filename, finfo); - - free (newpath); - if (new_filename) - { - free (try_filename); - debug(1, (_("found file %s"), new_filename)); - return new_filename; - } - } - } - else - { - /* Add various compression suffixes to the name to see if - the file is present in compressed format. */ - register int j, pre_compress_suffix_length; - - pre_compress_suffix_length = strlen (try_filename); - - for (j = 0; compress_suffixes[j].suffix; j++) - { - strcpy (try_filename + pre_compress_suffix_length, - compress_suffixes[j].suffix); - - statable = (stat (try_filename, finfo) == 0); - if (statable && (S_ISREG (finfo->st_mode))) - { - debug(1, (_("found file %s"), try_filename)); - return try_filename; - } - } - } + result = info_check_compressed (try_filename, finfo); + if (result) + return result; } /* Nothing was found. */ free (try_filename); @@ -539,7 +532,7 @@ char * filesys_error_string (char *filename, int error_num) { int len; - char *result; + const char *result; if (error_num == 0) return NULL; diff --git a/macros/texinfo/texinfo/info/filesys.h b/macros/texinfo/texinfo/info/filesys.h index 2608dc6bd5..4018b7c91f 100644 --- a/macros/texinfo/texinfo/info/filesys.h +++ b/macros/texinfo/texinfo/info/filesys.h @@ -1,6 +1,6 @@ /* filesys.h -- external declarations for filesys.c. - Copyright 1993-2019 Free Software Foundation, Inc. + Copyright 1993-2020 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 @@ -44,6 +44,8 @@ char *info_find_fullpath (char *partial, struct stat *finfo); char *info_file_find_next_in_path (char *filename, int *diridx, struct stat *finfo); +char *info_check_compressed (char *try_filename, struct stat *finfo); + char *info_add_extension (char *dirname, char *filename, struct stat *finfo); /* Read the contents of PATHNAME, returning a buffer with the contents of diff --git a/macros/texinfo/texinfo/info/info-utils.c b/macros/texinfo/texinfo/info/info-utils.c index 63a2897e53..e692183020 100644 --- a/macros/texinfo/texinfo/info/info-utils.c +++ b/macros/texinfo/texinfo/info/info-utils.c @@ -1,6 +1,6 @@ /* info-utils.c -- miscellanous. - Copyright 1993-2019 Free Software Foundation, Inc. + Copyright 1993-2020 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 @@ -988,21 +988,20 @@ copy_input_to_output (long n) if (anchor_to_adjust) { - char *first_anchor = input_start - + (*anchor_to_adjust)->nodestart - node_offset; + /* Check there is an anchor in the input. */ + long first_anchor = + (*anchor_to_adjust)->nodestart - node_offset; - /* If there is an anchor in the input: */ - if (first_anchor < inptr + bytes_left) + if (first_anchor < 0) + anchor_to_adjust = 0; /* error in input file */ + else if (first_anchor < (inptr-input_start) + bytes_left) { /* Convert enough to pass the first anchor in input. */ - bytes_to_convert = first_anchor - inptr + 1; - - /* Shouldn't happen because we should have already - have adjusted this anchor. */ + bytes_to_convert = first_anchor - (inptr-input_start)+1; if (bytes_to_convert < 0) { - anchor_to_adjust = 0; /* Abandon anchor adjustment.*/ bytes_to_convert = bytes_left; + anchor_to_adjust = 0; } } } @@ -1325,7 +1324,8 @@ scan_reference_label (REFERENCE *entry, int in_index) entry->end = inptr - input_start; /* Colon after label. */ - skip_input (1); + if (*inptr) + skip_input (1); /* Don't mess up the margin of a menu description. */ if (entry->type == REFERENCE_MENU_ITEM) write_extra_bytes_to_output (" ", 1); diff --git a/macros/texinfo/texinfo/info/info.c b/macros/texinfo/texinfo/info/info.c index 4d2137fda4..072782552b 100644 --- a/macros/texinfo/texinfo/info/info.c +++ b/macros/texinfo/texinfo/info/info.c @@ -1,6 +1,6 @@ /* info.c -- Display nodes of Info files in multiple windows. - Copyright 1993-2019 Free Software Foundation, Inc. + Copyright 1993-2021 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 @@ -860,7 +860,7 @@ main (int argc, char *argv[]) License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n\ This is free software: you are free to change and redistribute it.\n\ There is NO WARRANTY, to the extent permitted by law.\n"), - "2019"); + "2021"); exit (EXIT_SUCCESS); } diff --git a/macros/texinfo/texinfo/info/m-x.c b/macros/texinfo/texinfo/info/m-x.c index 64984bbb34..2515eee154 100644 --- a/macros/texinfo/texinfo/info/m-x.c +++ b/macros/texinfo/texinfo/info/m-x.c @@ -1,6 +1,6 @@ /* m-x.c -- Meta-x minibuffer reader. - Copyright 1993-2019 Free Software Foundation, Inc. + Copyright 1993-2021 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 @@ -73,16 +73,14 @@ DECLARE_INFO_COMMAND (describe_command, return; } - /* Describe the function named in "LINE". */ if (*line) { InfoCommand *cmd = named_function (line); - - if (!cmd) - return; - - window_message_in_echo_area ("%s: %s.", - line, function_documentation (cmd)); + if (cmd) + { + window_message_in_echo_area ("%s: %s.", + line, function_documentation (cmd)); + } } free (line); } diff --git a/macros/texinfo/texinfo/info/makedoc.c b/macros/texinfo/texinfo/info/makedoc.c index 5842cd6986..9626e0d9e9 100644 --- a/macros/texinfo/texinfo/info/makedoc.c +++ b/macros/texinfo/texinfo/info/makedoc.c @@ -1,6 +1,6 @@ /* makedoc.c -- make doc.c and funs.h from input files. - Copyright 1993-2019 Free Software Foundation, Inc. + Copyright 1993-2021 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 @@ -425,7 +425,11 @@ process_one_file (char *filename, FILE *doc_stream, FILE *funs_stream) offset++; if (offset >= file_size) - break; + { + free (func_name); + free (func); + break; + } doc = xmalloc (1 + (offset - point)); strncpy (doc, buffer + point, offset - point); diff --git a/macros/texinfo/texinfo/info/nodes.c b/macros/texinfo/texinfo/info/nodes.c index 47228258f2..9a52c807a3 100644 --- a/macros/texinfo/texinfo/info/nodes.c +++ b/macros/texinfo/texinfo/info/nodes.c @@ -1,6 +1,6 @@ /* nodes.c -- how to get an Info file and node. - Copyright 1993-2019 Free Software Foundation, Inc. + Copyright 1993-2021 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 @@ -303,7 +303,10 @@ get_nodes_of_tags_table (FILE_BUFFER *file_buffer, for (p = 0; nodedef[p] && nodedef[p] != INFO_TAGSEP; p++) ; if (nodedef[p] != INFO_TAGSEP) - continue; + { + free (entry); + continue; + } entry->nodename = xmalloc (p + 1); strncpy (entry->nodename, nodedef, p); @@ -358,33 +361,33 @@ get_tags_of_indirect_tags_table (FILE_BUFFER *file_buffer, /* We have the list of tags in file_buffer->tags. Get the list of subfiles from the indirect table. */ { - char *start, *end, *line; - SUBFILE *subfile; + char *start, *end, *line; + SUBFILE *subfile; - start = indirect_binding->buffer + indirect_binding->start; - end = indirect_binding->buffer + indirect_binding->end; - line = start; + start = indirect_binding->buffer + indirect_binding->start; + end = indirect_binding->buffer + indirect_binding->end; + line = start; - while (line < end) - { - int colon; + while (line < end) + { + int colon; - colon = string_in_line (":", line); + colon = string_in_line (":", line); - if (colon == -1) - break; + if (colon == -1) + break; - subfile = xmalloc (sizeof (SUBFILE)); - subfile->filename = xmalloc (colon); - strncpy (subfile->filename, line, colon - 1); - subfile->filename[colon - 1] = 0; - subfile->first_byte = (long) atol (line + colon); + subfile = xmalloc (sizeof (SUBFILE)); + subfile->filename = xmalloc (colon); + strncpy (subfile->filename, line, colon - 1); + subfile->filename[colon - 1] = 0; + subfile->first_byte = (long) atol (line + colon); - add_pointer_to_array (subfile, subfiles_index, subfiles, - subfiles_slots, 10); + add_pointer_to_array (subfile, subfiles_index, subfiles, + subfiles_slots, 10); - while (*line++ != '\n'); - } + while (*line++ != '\n'); + } } /* If we have successfully built the indirect files table, then @@ -394,102 +397,103 @@ get_tags_of_indirect_tags_table (FILE_BUFFER *file_buffer, free_file_buffer_tags (file_buffer); return; } - else + + { + int tags_index; + long header_length; + SEARCH_BINDING binding; + + char *containing_dir; + char *temp; + int len_containing_dir; + + /* Find the length of the header of the file containing the indirect + tags table. This header appears at the start of every file. We + want the absolute position of each node within each subfile, so + we subtract the start of the containing subfile from the logical + position of the node, and then add the length of the header in. */ + binding.buffer = file_buffer->contents; + binding.start = 0; + binding.end = file_buffer->filesize; + binding.flags = S_FoldCase; + + header_length = find_node_separator (&binding); + if (header_length == -1) + header_length = 0; + + /* Build the file buffer's list of subfiles. */ + containing_dir = xstrdup (file_buffer->fullpath); + temp = filename_non_directory (containing_dir); + + if (temp > containing_dir) { - int tags_index; - long header_length; - SEARCH_BINDING binding; - - /* Find the length of the header of the file containing the indirect - tags table. This header appears at the start of every file. We - want the absolute position of each node within each subfile, so - we subtract the start of the containing subfile from the logical - position of the node, and then add the length of the header in. */ - binding.buffer = file_buffer->contents; - binding.start = 0; - binding.end = file_buffer->filesize; - binding.flags = S_FoldCase; - - header_length = find_node_separator (&binding); - if (header_length == -1) - header_length = 0; - - /* Build the file buffer's list of subfiles. */ - { - char *containing_dir = xstrdup (file_buffer->fullpath); - char *temp = filename_non_directory (containing_dir); - int len_containing_dir; - - if (temp > containing_dir) - { - if (HAVE_DRIVE (file_buffer->fullpath) && - temp == containing_dir + 2) - { - /* Avoid converting "d:foo" into "d:/foo" below. */ - *temp = '.'; - temp += 2; - } - temp[-1] = 0; - } + if (HAVE_DRIVE (file_buffer->fullpath) && + temp == containing_dir + 2) + { + /* Avoid converting "d:foo" into "d:/foo" below. */ + *temp = '.'; + temp += 2; + } + temp[-1] = 0; + } - len_containing_dir = strlen (containing_dir); + len_containing_dir = strlen (containing_dir); - for (i = 0; subfiles[i]; i++); + for (i = 0; subfiles[i]; i++); + file_buffer->subfiles = xmalloc ((1 + i) * sizeof (char *)); - file_buffer->subfiles = xmalloc ((1 + i) * sizeof (char *)); + for (i = 0; subfiles[i]; i++) + { + char *fullpath; + fullpath = xmalloc + (2 + strlen (subfiles[i]->filename) + len_containing_dir); - for (i = 0; subfiles[i]; i++) - { - char *fullpath; + sprintf (fullpath, "%s/%s", + containing_dir, subfiles[i]->filename); - fullpath = xmalloc - (2 + strlen (subfiles[i]->filename) + len_containing_dir); + file_buffer->subfiles[i] = fullpath; + } + file_buffer->subfiles[i] = NULL; + free (containing_dir); - sprintf (fullpath, "%s/%s", - containing_dir, subfiles[i]->filename); + /* For each node in the file's tags table, remember the starting + position. */ + for (tags_index = 0; (entry = file_buffer->tags[tags_index]); + tags_index++) + { + for (i = 0; + subfiles[i] && entry->nodestart >= subfiles[i]->first_byte; + i++); - file_buffer->subfiles[i] = fullpath; - } - file_buffer->subfiles[i] = NULL; - free (containing_dir); - } - - /* For each node in the file's tags table, remember the starting - position. */ - for (tags_index = 0; (entry = file_buffer->tags[tags_index]); - tags_index++) + /* If the Info file containing the indirect tags table is + malformed, then give up. */ + if (!i) { - for (i = 0; - subfiles[i] && entry->nodestart >= subfiles[i]->first_byte; - i++); - - /* If the Info file containing the indirect tags table is - malformed, then give up. */ - if (!i) + /* The Info file containing the indirect tags table is + malformed. Give up. */ + for (i = 0; subfiles[i]; i++) { - /* The Info file containing the indirect tags table is - malformed. Give up. */ - for (i = 0; subfiles[i]; i++) - { - free (subfiles[i]->filename); - free (subfiles[i]); - free (file_buffer->subfiles[i]); - } - file_buffer->subfiles = NULL; - free_file_buffer_tags (file_buffer); - return; + free (subfiles[i]->filename); + free (subfiles[i]); + free (file_buffer->subfiles[i]); } + free (file_buffer->subfiles); + file_buffer->subfiles = NULL; + free_file_buffer_tags (file_buffer); + free (subfiles); + return; + } - /* SUBFILES[i] is the index of the first subfile whose logical - first byte is greater than the logical offset of this node's - starting position. This means that the subfile directly - preceding this one is the one containing the node. */ + /* SUBFILES[i] is the index of the first subfile whose logical + first byte is greater than the logical offset of this node's + starting position. This means that the subfile directly + preceding this one is the one containing the node. */ - entry->filename = file_buffer->subfiles[i - 1]; - entry->nodestart -= subfiles[i - 1]->first_byte; - entry->nodestart += header_length; - } + entry->filename = file_buffer->subfiles[i - 1]; + entry->nodestart -= subfiles[i - 1]->first_byte; + entry->nodestart += header_length; } + } /* Free the structures assigned to SUBFILES. Free the names as well as the structures themselves, then finally, the array. */ diff --git a/macros/texinfo/texinfo/info/pcterm.c b/macros/texinfo/texinfo/info/pcterm.c index 57520466dc..aeccb76f29 100644 --- a/macros/texinfo/texinfo/info/pcterm.c +++ b/macros/texinfo/texinfo/info/pcterm.c @@ -709,17 +709,24 @@ w32_kbd_read (unsigned char *inbuf, size_t n) { int rows, cols; - /* Note: this event is only sent when the console - window's _screen_buffer_ size is changed via - the Properties->Layout dialog. */ + /* Note: this event is _supposed_ to be sent only + when the console window's _screen_buffer_ size + is changed via the Properties->Layout dialog. + However, Windows 10 seems to send it even when + the properties are not changed. */ cols = inrec.Event.WindowBufferSizeEvent.dwSize.X; rows = inrec.Event.WindowBufferSizeEvent.dwSize.Y; - screenwidth = cols; - screenheight = rows; - w32_set_screen_dimensions (cols, rows); - display_initialize_display (screenwidth, screenheight); - window_new_screen_size (screenwidth, screenheight); - redisplay_after_signal (); + /* Avoid needless screen redraws, they produce + annoying flickering. */ + if (cols != screenwidth || rows != screenheight) + { + screenwidth = cols; + screenheight = rows; + w32_set_screen_dimensions (cols, rows); + display_initialize_display (screenwidth, screenheight); + window_new_screen_size (screenwidth, screenheight); + redisplay_after_signal (); + } } break; case MOUSE_EVENT: diff --git a/macros/texinfo/texinfo/info/search.c b/macros/texinfo/texinfo/info/search.c index 9f1d5e26f7..990e3e9a43 100644 --- a/macros/texinfo/texinfo/info/search.c +++ b/macros/texinfo/texinfo/info/search.c @@ -715,7 +715,7 @@ find_node_in_binding (char *nodename, SEARCH_BINDING *binding) s.end = binding->end; s.flags = 0; - while ((position = find_node_separator (&s)) != -1) + while (s.start < s.end && (position = find_node_separator (&s)) != -1) { char *nodename_start; char *read_nodename; diff --git a/macros/texinfo/texinfo/info/session.c b/macros/texinfo/texinfo/info/session.c index 105f72c781..8222f9cc16 100644 --- a/macros/texinfo/texinfo/info/session.c +++ b/macros/texinfo/texinfo/info/session.c @@ -1,6 +1,6 @@ /* session.c -- user windowing interface to Info. - Copyright 1993-2019 Free Software Foundation, Inc. + Copyright 1993-2021 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 @@ -30,7 +30,9 @@ #include <sys/ioctl.h> #endif #ifdef __MINGW32__ +# undef read # define read(f,b,s) w32_read(f,b,s) +# undef _read # define _read(f,b,s) w32_read(f,b,s) extern ssize_t w32_read (int, void *, size_t); #endif @@ -555,6 +557,7 @@ unsigned char mouse_cb, mouse_cx, mouse_cy; void mouse_event_handler (void) { + window_clear_echo_area(); if (mouse_cb & 0x40) { switch (mouse_cb & 0x03) @@ -3100,8 +3103,7 @@ forward_move_node_structure (WINDOW *window, int behaviour) "Next:" pointer, use that. */ if (window->node->next) { - info_handle_pointer ("Next", window); - return 0; + return !info_handle_pointer ("Next", window); } /* Okay, there wasn't a "Next:" for this node. Move "Up:" until we @@ -3137,7 +3139,8 @@ forward_move_node_structure (WINDOW *window, int behaviour) /* This node has a "Next" pointer, and it is not the same as the first menu item found in this node. */ - info_handle_pointer ("Next", window); + if (!info_handle_pointer ("Next", window)) + return 1; /* Don't include intermediate nodes in the window's history. */ @@ -3210,14 +3213,16 @@ backward_move_node_structure (WINDOW *window, int behaviour) else if (window->node->prev && !strcmp(window->node->prev, window->node->up)) { - info_handle_pointer ("Up", window); + if (!info_handle_pointer ("Up", window)) + return 1; } /* Otherwise, go to 'Prev' node and go down the last entry in the menus as far as possible. */ else if (window->node->prev) { int starting_hist_index = window->hist_index; - info_handle_pointer ("Prev", window); + if (!info_handle_pointer ("Prev", window)) + return 1; if (!(window->node->flags & N_IsIndex)) { while (1) @@ -3235,10 +3240,16 @@ backward_move_node_structure (WINDOW *window, int behaviour) } } else /* 'Up' but no 'Prev' */ - info_handle_pointer ("Up", window); + { + if (!info_handle_pointer ("Up", window)) + return 1; + } } else if (window->node->prev) /* 'Prev' but no 'Up' */ - info_handle_pointer ("Prev", window); + { + if (!info_handle_pointer ("Prev", window)) + return 1; + } else { info_error ("%s", _("No 'Prev' or 'Up' for this node within this document")); @@ -3552,6 +3563,7 @@ DECLARE_INFO_COMMAND (info_goto_invocation_node, if (!line) { info_abort_key (window, 0); + free (default_program_name); return; } if (*line) diff --git a/macros/texinfo/texinfo/info/t/Init-test.inc b/macros/texinfo/texinfo/info/t/Init-test.inc index 69b3f9d34e..f09d3426be 100644 --- a/macros/texinfo/texinfo/info/t/Init-test.inc +++ b/macros/texinfo/texinfo/info/t/Init-test.inc @@ -177,6 +177,6 @@ run_ginfo () exec $ginfo "$@" 0<>$pts_device 1<&0 ; ) & ginfo_pid=$! - (sleep 3 ; kill $ginfo_pid) & + (sleep 5 ; kill $ginfo_pid) & killer_pid=$! } |