diff --git a/inetutils/01-buildsystem-updates.patch b/inetutils/01-buildsystem-updates.patch
deleted file mode 100644
index 3072d860..00000000
--- a/inetutils/01-buildsystem-updates.patch
+++ /dev/null
@@ -1,1237 +0,0 @@
-diff -Naur inetutils-1.9.2-orig/am/enable.m4 inetutils-1.9.2/am/enable.m4
---- inetutils-1.9.2-orig/am/enable.m4 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/am/enable.m4 2014-12-12 11:55:10.232400000 +0300
-@@ -24,7 +24,7 @@
- [AC_ARG_ENABLE($1, AS_HELP_STRING([--disable-$1], [don't compile $1]), ,
- [enable_]$1[=$enable_]$2)
- [if test "$enable_$1" = yes; then
-- $1_BUILD=$1
-+ $1_BUILD=$1\$\(EXEEXT\)
- $1_INSTALL_HOOK="install-$1-hook"
- else
- $1_BUILD=''
-diff -Naur inetutils-1.9.2-orig/am/libcurses.m4 inetutils-1.9.2/am/libcurses.m4
---- inetutils-1.9.2-orig/am/libcurses.m4 2013-10-09 15:00:47.000000000 +0300
-+++ inetutils-1.9.2/am/libcurses.m4 2014-12-12 11:55:10.248000000 +0300
-@@ -33,7 +33,7 @@
- [don't prefer -lncurses over -lcurses]),
- , [enable_ncurses=yes])
- if test "$enable_ncurses" = yes; then
-- AC_CHECK_LIB(ncurses, initscr, LIBNCURSES="-lncurses")
-+ AC_CHECK_LIB(ncurses, initscr, LIBNCURSES="-lncursesw")
- if test "$LIBNCURSES"; then
- # Use ncurses header files instead of the ordinary ones, if possible;
- # is there a better way of doing this, that avoids looking in specific
-@@ -57,8 +57,8 @@
- AC_CACHE_CHECK(for ncurses include dir,
- inetutils_cv_includedir_ncurses,
- for D in $includedir $prefix/include /local/include /usr/local/include /include /usr/include; do
-- if test -d $D/ncurses; then
-- inetutils_cv_includedir_ncurses="$D/ncurses"
-+ if test -d $D/ncursesw; then
-+ inetutils_cv_includedir_ncurses="$D/ncursesw"
- break
- fi
- test "$inetutils_cv_includedir_ncurses" \
-diff -Naur inetutils-1.9.2-orig/bootstrap inetutils-1.9.2/bootstrap
---- inetutils-1.9.2-orig/bootstrap 1970-01-01 03:00:00.000000000 +0300
-+++ inetutils-1.9.2/bootstrap 2014-12-12 11:55:10.248000000 +0300
-@@ -0,0 +1,988 @@
-+#! /bin/sh
-+# Print a version string.
-+scriptversion=2013-08-15.22; # UTC
-+
-+# Bootstrap this package from checked-out sources.
-+
-+# Copyright (C) 2003-2013 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
-+# the Free Software Foundation, either version 3 of the License, or
-+# (at your option) any later version.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+
-+# You should have received a copy of the GNU General Public License
-+# along with this program. If not, see .
-+
-+# Originally written by Paul Eggert. The canonical version of this
-+# script is maintained as build-aux/bootstrap in gnulib, however, to
-+# be useful to your project, you should place a copy of it under
-+# version control in the top-level directory of your project. The
-+# intent is that all customization can be done with a bootstrap.conf
-+# file also maintained in your version control; gnulib comes with a
-+# template build-aux/bootstrap.conf to get you started.
-+
-+# Please report bugs or propose patches to bug-gnulib@gnu.org.
-+
-+nl='
-+'
-+
-+# Ensure file names are sorted consistently across platforms.
-+LC_ALL=C
-+export LC_ALL
-+
-+# Ensure that CDPATH is not set. Otherwise, the output from cd
-+# would cause trouble in at least one use below.
-+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-+
-+local_gl_dir=gl
-+
-+me=$0
-+
-+usage() {
-+ cat <&2
-+}
-+
-+# warn_ WORD1...
-+warn_ ()
-+{
-+ # If IFS does not start with ' ', set it and emit the warning in a subshell.
-+ case $IFS in
-+ ' '*) warnf_ '%s\n' "$*";;
-+ *) (IFS=' '; warn_ "$@");;
-+ esac
-+}
-+
-+# die WORD1...
-+die() { warn_ "$@"; exit 1; }
-+
-+# Configuration.
-+
-+# Name of the Makefile.am
-+gnulib_mk=gnulib.mk
-+
-+# List of gnulib modules needed.
-+gnulib_modules=
-+
-+# Any gnulib files needed that are not in modules.
-+gnulib_files=
-+
-+: ${AUTOPOINT=autopoint}
-+: ${AUTORECONF=autoreconf}
-+
-+# A function to be called right after gnulib-tool is run.
-+# Override it via your own definition in bootstrap.conf.
-+bootstrap_post_import_hook() { :; }
-+
-+# A function to be called after everything else in this script.
-+# Override it via your own definition in bootstrap.conf.
-+bootstrap_epilogue() { :; }
-+
-+# The command to download all .po files for a specified domain into
-+# a specified directory. Fill in the first %s is the domain name, and
-+# the second with the destination directory. Use rsync's -L and -r
-+# options because the latest/%s directory and the .po files within are
-+# all symlinks.
-+po_download_command_format=\
-+"rsync --delete --exclude '*.s1' -Lrtvz \
-+ 'translationproject.org::tp/latest/%s/' '%s'"
-+
-+# Fallback for downloading .po files (if rsync fails).
-+po_download_command_format2=\
-+"wget --mirror -nd -q -np -A.po -P '%s' \
-+ http://translationproject.org/latest/%s/"
-+
-+# Prefer a non-empty tarname (4th argument of AC_INIT if given), else
-+# fall back to the package name (1st argument with munging)
-+extract_package_name='
-+ /^AC_INIT(\[*/{
-+ s///
-+ /^[^,]*,[^,]*,[^,]*,[ []*\([^][ ,)]\)/{
-+ s//\1/
-+ s/[],)].*//
-+ p
-+ q
-+ }
-+ s/[],)].*//
-+ s/^GNU //
-+ y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
-+ s/[^abcdefghijklmnopqrstuvwxyz0123456789_]/-/g
-+ p
-+ }
-+'
-+package=$(sed -n "$extract_package_name" configure.ac) \
-+ || die 'cannot find package name in configure.ac'
-+gnulib_name=lib$package
-+
-+build_aux=build-aux
-+source_base=lib
-+m4_base=m4
-+doc_base=doc
-+tests_base=tests
-+gnulib_extra_files=''
-+
-+# Additional gnulib-tool options to use. Use "\newline" to break lines.
-+gnulib_tool_option_extras=
-+
-+# Other locale categories that need message catalogs.
-+EXTRA_LOCALE_CATEGORIES=
-+
-+# Additional xgettext options to use. Use "\\\newline" to break lines.
-+XGETTEXT_OPTIONS='\\\
-+ --flag=_:1:pass-c-format\\\
-+ --flag=N_:1:pass-c-format\\\
-+ --flag=error:3:c-format --flag=error_at_line:5:c-format\\\
-+'
-+
-+# Package bug report address and copyright holder for gettext files
-+COPYRIGHT_HOLDER='Free Software Foundation, Inc.'
-+MSGID_BUGS_ADDRESS=bug-$package@gnu.org
-+
-+# Files we don't want to import.
-+excluded_files=
-+
-+# File that should exist in the top directory of a checked out hierarchy,
-+# but not in a distribution tarball.
-+checkout_only_file=README-hacking
-+
-+# Whether to use copies instead of symlinks.
-+copy=false
-+
-+# Set this to '.cvsignore .gitignore' in bootstrap.conf if you want
-+# those files to be generated in directories like lib/, m4/, and po/.
-+# Or set it to 'auto' to make this script select which to use based
-+# on which version control system (if any) is used in the source directory.
-+vc_ignore=auto
-+
-+# Set this to true in bootstrap.conf to enable --bootstrap-sync by
-+# default.
-+bootstrap_sync=false
-+
-+# Use git to update gnulib sources
-+use_git=true
-+
-+# find_tool ENVVAR NAMES...
-+# -------------------------
-+# Search for a required program. Use the value of ENVVAR, if set,
-+# otherwise find the first of the NAMES that can be run (i.e.,
-+# supports --version). If found, set ENVVAR to the program name,
-+# die otherwise.
-+#
-+# FIXME: code duplication, see also gnu-web-doc-update.
-+find_tool ()
-+{
-+ find_tool_envvar=$1
-+ shift
-+ find_tool_names=$@
-+ eval "find_tool_res=\$$find_tool_envvar"
-+ if test x"$find_tool_res" = x; then
-+ for i; do
-+ if ($i --version /dev/null 2>&1; then
-+ find_tool_res=$i
-+ break
-+ fi
-+ done
-+ fi
-+ if test x"$find_tool_res" = x; then
-+ warn_ "one of these is required: $find_tool_names;"
-+ die "alternatively set $find_tool_envvar to a compatible tool"
-+ fi
-+ eval "$find_tool_envvar=\$find_tool_res"
-+ eval "export $find_tool_envvar"
-+}
-+
-+# Override the default configuration, if necessary.
-+# Make sure that bootstrap.conf is sourced from the current directory
-+# if we were invoked as "sh bootstrap".
-+case "$0" in
-+ */*) test -r "$0.conf" && . "$0.conf" ;;
-+ *) test -r "$0.conf" && . ./"$0.conf" ;;
-+esac
-+
-+# Extra files from gnulib, which override files from other sources.
-+test -z "${gnulib_extra_files}" && \
-+ gnulib_extra_files="
-+ build-aux/install-sh
-+ build-aux/mdate-sh
-+ build-aux/texinfo.tex
-+ build-aux/depcomp
-+ build-aux/config.guess
-+ build-aux/config.sub
-+ doc/INSTALL
-+"
-+
-+if test "$vc_ignore" = auto; then
-+ vc_ignore=
-+ test -d .git && vc_ignore=.gitignore
-+ test -d CVS && vc_ignore="$vc_ignore .cvsignore"
-+fi
-+
-+# Translate configuration into internal form.
-+
-+# Parse options.
-+
-+for option
-+do
-+ case $option in
-+ --help)
-+ usage
-+ exit;;
-+ --gnulib-srcdir=*)
-+ GNULIB_SRCDIR=${option#--gnulib-srcdir=};;
-+ --skip-po)
-+ SKIP_PO=t;;
-+ --force)
-+ checkout_only_file=;;
-+ --copy)
-+ copy=true;;
-+ --bootstrap-sync)
-+ bootstrap_sync=true;;
-+ --no-bootstrap-sync)
-+ bootstrap_sync=false;;
-+ --no-git)
-+ use_git=false;;
-+ *)
-+ die "$option: unknown option";;
-+ esac
-+done
-+
-+$use_git || test -d "$GNULIB_SRCDIR" \
-+ || die "Error: --no-git requires --gnulib-srcdir"
-+
-+if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
-+ die "Bootstrapping from a non-checked-out distribution is risky."
-+fi
-+
-+# Strip blank and comment lines to leave significant entries.
-+gitignore_entries() {
-+ sed '/^#/d; /^$/d' "$@"
-+}
-+
-+# If $STR is not already on a line by itself in $FILE, insert it at the start.
-+# Entries are inserted at the start of the ignore list to ensure existing
-+# entries starting with ! are not overridden. Such entries support
-+# whitelisting exceptions after a more generic blacklist pattern.
-+insert_if_absent() {
-+ file=$1
-+ str=$2
-+ test -f $file || touch $file
-+ test -r $file || die "Error: failed to read ignore file: $file"
-+ duplicate_entries=$(gitignore_entries $file | sort | uniq -d)
-+ if [ "$duplicate_entries" ] ; then
-+ die "Error: Duplicate entries in $file: " $duplicate_entries
-+ fi
-+ linesold=$(gitignore_entries $file | wc -l)
-+ linesnew=$( { echo "$str"; cat $file; } | gitignore_entries | sort -u | wc -l)
-+ if [ $linesold != $linesnew ] ; then
-+ { echo "$str" | cat - $file > $file.bak && mv $file.bak $file; } \
-+ || die "insert_if_absent $file $str: failed"
-+ fi
-+}
-+
-+# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with
-+# insert_if_absent.
-+insert_vc_ignore() {
-+ vc_ignore_file="$1"
-+ pattern="$2"
-+ case $vc_ignore_file in
-+ *.gitignore)
-+ # A .gitignore entry that does not start with '/' applies
-+ # recursively to subdirectories, so prepend '/' to every
-+ # .gitignore entry.
-+ pattern=$(echo "$pattern" | sed s,^,/,);;
-+ esac
-+ insert_if_absent "$vc_ignore_file" "$pattern"
-+}
-+
-+# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
-+found_aux_dir=no
-+grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
-+ >/dev/null && found_aux_dir=yes
-+grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
-+ >/dev/null && found_aux_dir=yes
-+test $found_aux_dir = yes \
-+ || die "configure.ac lacks 'AC_CONFIG_AUX_DIR([$build_aux])'; add it"
-+
-+# If $build_aux doesn't exist, create it now, otherwise some bits
-+# below will malfunction. If creating it, also mark it as ignored.
-+if test ! -d $build_aux; then
-+ mkdir $build_aux
-+ for dot_ig in x $vc_ignore; do
-+ test $dot_ig = x && continue
-+ insert_vc_ignore $dot_ig $build_aux
-+ done
-+fi
-+
-+# Note this deviates from the version comparison in automake
-+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
-+# but this should suffice as we won't be specifying old
-+# version formats or redundant trailing .0 in bootstrap.conf.
-+# If we did want full compatibility then we should probably
-+# use m4_version_compare from autoconf.
-+sort_ver() { # sort -V is not generally available
-+ ver1="$1"
-+ ver2="$2"
-+
-+ # split on '.' and compare each component
-+ i=1
-+ while : ; do
-+ p1=$(echo "$ver1" | cut -d. -f$i)
-+ p2=$(echo "$ver2" | cut -d. -f$i)
-+ if [ ! "$p1" ]; then
-+ echo "$1 $2"
-+ break
-+ elif [ ! "$p2" ]; then
-+ echo "$2 $1"
-+ break
-+ elif [ ! "$p1" = "$p2" ]; then
-+ if [ "$p1" -gt "$p2" ] 2>/dev/null; then # numeric comparison
-+ echo "$2 $1"
-+ elif [ "$p2" -gt "$p1" ] 2>/dev/null; then # numeric comparison
-+ echo "$1 $2"
-+ else # numeric, then lexicographic comparison
-+ lp=$(printf "$p1\n$p2\n" | LANG=C sort -n | tail -n1)
-+ if [ "$lp" = "$p2" ]; then
-+ echo "$1 $2"
-+ else
-+ echo "$2 $1"
-+ fi
-+ fi
-+ break
-+ fi
-+ i=$(($i+1))
-+ done
-+}
-+
-+get_version() {
-+ app=$1
-+
-+ $app --version >/dev/null 2>&1 || return 1
-+
-+ $app --version 2>&1 |
-+ sed -n '# Move version to start of line.
-+ s/.*[v ]\([0-9]\)/\1/
-+
-+ # Skip lines that do not start with version.
-+ /^[0-9]/!d
-+
-+ # Remove characters after the version.
-+ s/[^.a-z0-9-].*//
-+
-+ # The first component must be digits only.
-+ s/^\([0-9]*\)[a-z-].*/\1/
-+
-+ #the following essentially does s/5.005/5.5/
-+ s/\.0*\([1-9]\)/.\1/g
-+ p
-+ q'
-+}
-+
-+check_versions() {
-+ ret=0
-+
-+ while read app req_ver; do
-+ # We only need libtoolize from the libtool package.
-+ if test "$app" = libtool; then
-+ app=libtoolize
-+ fi
-+ # Exempt git if --no-git is in effect.
-+ if test "$app" = git; then
-+ $use_git || continue
-+ fi
-+ # Honor $APP variables ($TAR, $AUTOCONF, etc.)
-+ appvar=$(echo $app | LC_ALL=C tr '[a-z]-' '[A-Z]_')
-+ test "$appvar" = TAR && appvar=AMTAR
-+ case $appvar in
-+ GZIP) ;; # Do not use $GZIP: it contains gzip options.
-+ *) eval "app=\${$appvar-$app}" ;;
-+ esac
-+
-+ # Handle the still-experimental Automake-NG programs specially.
-+ # They remain named as the mainstream Automake programs ("automake",
-+ # and "aclocal") to avoid gratuitous incompatibilities with
-+ # pre-existing usages (by, say, autoreconf, or custom autogen.sh
-+ # scripts), but correctly identify themselves (as being part of
-+ # "GNU automake-ng") when asked their version.
-+ case $app in
-+ automake-ng|aclocal-ng)
-+ app=${app%-ng}
-+ ($app --version | grep '(GNU automake-ng)') >/dev/null 2>&1 || {
-+ warn_ "Error: '$app' not found or not from Automake-NG"
-+ ret=1
-+ continue
-+ } ;;
-+ esac
-+ if [ "$req_ver" = "-" ]; then
-+ # Merely require app to exist; not all prereq apps are well-behaved
-+ # so we have to rely on $? rather than get_version.
-+ $app --version >/dev/null 2>&1 = $req_ver is required"
-+ ret=1
-+ fi
-+ fi
-+ fi
-+ done
-+
-+ return $ret
-+}
-+
-+print_versions() {
-+ echo "Program Min_version"
-+ echo "----------------------"
-+ printf %s "$buildreq"
-+ echo "----------------------"
-+ # can't depend on column -t
-+}
-+
-+# Find sha1sum, named gsha1sum on MacPorts, shasum on Mac OS X 10.6.
-+# Also find the compatible sha1 utility on the BSDs
-+if test x"$SKIP_PO" = x; then
-+ find_tool SHA1SUM sha1sum gsha1sum shasum sha1
-+fi
-+
-+use_libtool=0
-+# We'd like to use grep -E, to see if any of LT_INIT,
-+# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
-+# but that's not portable enough (e.g., for Solaris).
-+grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
-+ && use_libtool=1
-+grep '^[ ]*LT_INIT' configure.ac >/dev/null \
-+ && use_libtool=1
-+if test $use_libtool = 1; then
-+ find_tool LIBTOOLIZE glibtoolize libtoolize
-+fi
-+
-+# gnulib-tool requires at least automake and autoconf.
-+# If either is not listed, add it (with minimum version) as a prerequisite.
-+case $buildreq in
-+ *automake*) ;;
-+ *) buildreq="automake 1.9
-+$buildreq" ;;
-+esac
-+case $buildreq in
-+ *autoconf*) ;;
-+ *) buildreq="autoconf 2.59
-+$buildreq" ;;
-+esac
-+
-+# When we can deduce that gnulib-tool will require patch,
-+# and when patch is not already listed as a prerequisite, add it, too.
-+if test -d "$local_gl_dir" \
-+ && ! find "$local_gl_dir" -name '*.diff' -exec false {} +; then
-+ case $buildreq in
-+ *patch*) ;;
-+ *) buildreq="patch -
-+$buildreq" ;;
-+ esac
-+fi
-+
-+if ! printf "$buildreq" | check_versions; then
-+ echo >&2
-+ if test -f README-prereq; then
-+ die "See README-prereq for how to get the prerequisite programs"
-+ else
-+ die "Please install the prerequisite programs"
-+ fi
-+fi
-+
-+echo "$0: Bootstrapping from checked-out $package sources..."
-+
-+# See if we can use gnulib's git-merge-changelog merge driver.
-+if $use_git && test -d .git && (git --version) >/dev/null 2>/dev/null ; then
-+ if git config merge.merge-changelog.driver >/dev/null ; then
-+ :
-+ elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
-+ echo "$0: initializing git-merge-changelog driver"
-+ git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
-+ git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
-+ else
-+ echo "$0: consider installing git-merge-changelog from gnulib"
-+ fi
-+fi
-+
-+
-+cleanup_gnulib() {
-+ status=$?
-+ rm -fr "$gnulib_path"
-+ exit $status
-+}
-+
-+git_modules_config () {
-+ test -f .gitmodules && git config --file .gitmodules "$@"
-+}
-+
-+if $use_git; then
-+ gnulib_path=$(git_modules_config submodule.gnulib.path)
-+ test -z "$gnulib_path" && gnulib_path=gnulib
-+fi
-+
-+# Get gnulib files. Populate $GNULIB_SRCDIR, possibly updating a
-+# submodule, for use in the rest of the script.
-+
-+case ${GNULIB_SRCDIR--} in
-+-)
-+ # Note that $use_git is necessarily true in this case.
-+ if git_modules_config submodule.gnulib.url >/dev/null; then
-+ echo "$0: getting gnulib files..."
-+ git submodule init || exit $?
-+ git submodule update || exit $?
-+
-+ elif [ ! -d "$gnulib_path" ]; then
-+ echo "$0: getting gnulib files..."
-+
-+ trap cleanup_gnulib 1 2 13 15
-+
-+ shallow=
-+ git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
-+ git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" ||
-+ cleanup_gnulib
-+
-+ trap - 1 2 13 15
-+ fi
-+ GNULIB_SRCDIR=$gnulib_path
-+ ;;
-+*)
-+ # Use GNULIB_SRCDIR directly or as a reference.
-+ if $use_git && test -d "$GNULIB_SRCDIR"/.git && \
-+ git_modules_config submodule.gnulib.url >/dev/null; then
-+ echo "$0: getting gnulib files..."
-+ if git submodule -h|grep -- --reference > /dev/null; then
-+ # Prefer the one-liner available in git 1.6.4 or newer.
-+ git submodule update --init --reference "$GNULIB_SRCDIR" \
-+ "$gnulib_path" || exit $?
-+ else
-+ # This fallback allows at least git 1.5.5.
-+ if test -f "$gnulib_path"/gnulib-tool; then
-+ # Since file already exists, assume submodule init already complete.
-+ git submodule update || exit $?
-+ else
-+ # Older git can't clone into an empty directory.
-+ rmdir "$gnulib_path" 2>/dev/null
-+ git clone --reference "$GNULIB_SRCDIR" \
-+ "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \
-+ && git submodule init && git submodule update \
-+ || exit $?
-+ fi
-+ fi
-+ GNULIB_SRCDIR=$gnulib_path
-+ fi
-+ ;;
-+esac
-+
-+# $GNULIB_SRCDIR now points to the version of gnulib to use, and
-+# we no longer need to use git or $gnulib_path below here.
-+
-+if $bootstrap_sync; then
-+ cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
-+ echo "$0: updating bootstrap and restarting..."
-+ case $(sh -c 'echo "$1"' -- a) in
-+ a) ignored=--;;
-+ *) ignored=ignored;;
-+ esac
-+ exec sh -c \
-+ 'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
-+ $ignored "$GNULIB_SRCDIR/build-aux/bootstrap" \
-+ "$0" "$@" --no-bootstrap-sync
-+ }
-+fi
-+
-+gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
-+<$gnulib_tool || exit $?
-+
-+# Get translations.
-+
-+download_po_files() {
-+ subdir=$1
-+ domain=$2
-+ echo "$me: getting translations into $subdir for $domain..."
-+ cmd=$(printf "$po_download_command_format" "$domain" "$subdir")
-+ eval "$cmd" && return
-+ # Fallback to HTTP.
-+ cmd=$(printf "$po_download_command_format2" "$subdir" "$domain")
-+ eval "$cmd"
-+}
-+
-+# Mirror .po files to $po_dir/.reference and copy only the new
-+# or modified ones into $po_dir. Also update $po_dir/LINGUAS.
-+# Note po files that exist locally only are left in $po_dir but will
-+# not be included in LINGUAS and hence will not be distributed.
-+update_po_files() {
-+ # Directory containing primary .po files.
-+ # Overwrite them only when we're sure a .po file is new.
-+ po_dir=$1
-+ domain=$2
-+
-+ # Mirror *.po files into this dir.
-+ # Usually contains *.s1 checksum files.
-+ ref_po_dir="$po_dir/.reference"
-+
-+ test -d $ref_po_dir || mkdir $ref_po_dir || return
-+ download_po_files $ref_po_dir $domain \
-+ && ls "$ref_po_dir"/*.po 2>/dev/null |
-+ sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
-+
-+ langs=$(cd $ref_po_dir && echo *.po | sed 's/\.po//g')
-+ test "$langs" = '*' && langs=x
-+ for po in $langs; do
-+ case $po in x) continue;; esac
-+ new_po="$ref_po_dir/$po.po"
-+ cksum_file="$ref_po_dir/$po.s1"
-+ if ! test -f "$cksum_file" ||
-+ ! test -f "$po_dir/$po.po" ||
-+ ! $SHA1SUM -c "$cksum_file" < "$new_po" > /dev/null 2>&1; then
-+ echo "$me: updated $po_dir/$po.po..."
-+ cp "$new_po" "$po_dir/$po.po" \
-+ && $SHA1SUM < "$new_po" > "$cksum_file" || return
-+ fi
-+ done
-+}
-+
-+case $SKIP_PO in
-+'')
-+ if test -d po; then
-+ update_po_files po $package || exit
-+ fi
-+
-+ if test -d runtime-po; then
-+ update_po_files runtime-po $package-runtime || exit
-+ fi;;
-+esac
-+
-+symlink_to_dir()
-+{
-+ src=$1/$2
-+ dst=${3-$2}
-+
-+ test -f "$src" && {
-+
-+ # If the destination directory doesn't exist, create it.
-+ # This is required at least for "lib/uniwidth/cjk.h".
-+ dst_dir=$(dirname "$dst")
-+ if ! test -d "$dst_dir"; then
-+ mkdir -p "$dst_dir"
-+
-+ # If we've just created a directory like lib/uniwidth,
-+ # tell version control system(s) it's ignorable.
-+ # FIXME: for now, this does only one level
-+ parent=$(dirname "$dst_dir")
-+ for dot_ig in x $vc_ignore; do
-+ test $dot_ig = x && continue
-+ ig=$parent/$dot_ig
-+ insert_vc_ignore $ig "${dst_dir##*/}"
-+ done
-+ fi
-+
-+ if $copy; then
-+ {
-+ test ! -h "$dst" || {
-+ echo "$me: rm -f $dst" &&
-+ rm -f "$dst"
-+ }
-+ } &&
-+ test -f "$dst" &&
-+ cmp -s "$src" "$dst" || {
-+ echo "$me: cp -fp $src $dst" &&
-+ cp -fp "$src" "$dst"
-+ }
-+ else
-+ # Leave any existing symlink alone, if it already points to the source,
-+ # so that broken build tools that care about symlink times
-+ # aren't confused into doing unnecessary builds. Conversely, if the
-+ # existing symlink's time stamp is older than the source, make it afresh,
-+ # so that broken tools aren't confused into skipping needed builds. See
-+ # .
-+ test -h "$dst" &&
-+ src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 &&
-+ dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 &&
-+ test "$src_i" = "$dst_i" &&
-+ both_ls=$(ls -dt "$src" "$dst") &&
-+ test "X$both_ls" = "X$dst$nl$src" || {
-+ dot_dots=
-+ case $src in
-+ /*) ;;
-+ *)
-+ case /$dst/ in
-+ *//* | */../* | */./* | /*/*/*/*/*/)
-+ die "invalid symlink calculation: $src -> $dst";;
-+ /*/*/*/*/) dot_dots=../../../;;
-+ /*/*/*/) dot_dots=../../;;
-+ /*/*/) dot_dots=../;;
-+ esac;;
-+ esac
-+
-+ echo "$me: ln -fs $dot_dots$src $dst" &&
-+ ln -fs "$dot_dots$src" "$dst"
-+ }
-+ fi
-+ }
-+}
-+
-+version_controlled_file() {
-+ parent=$1
-+ file=$2
-+ if test -d .git; then
-+ git rm -n "$file" > /dev/null 2>&1
-+ elif test -d .svn; then
-+ svn log -r HEAD "$file" > /dev/null 2>&1
-+ elif test -d CVS; then
-+ grep -F "/${file##*/}/" "$parent/CVS/Entries" 2>/dev/null |
-+ grep '^/[^/]*/[0-9]' > /dev/null
-+ else
-+ warn_ "no version control for $file?"
-+ false
-+ fi
-+}
-+
-+# NOTE: we have to be careful to run both autopoint and libtoolize
-+# before gnulib-tool, since gnulib-tool is likely to provide newer
-+# versions of files "installed" by these two programs.
-+# Then, *after* gnulib-tool (see below), we have to be careful to
-+# run autoreconf in such a way that it does not run either of these
-+# two just-pre-run programs.
-+
-+# Import from gettext.
-+with_gettext=yes
-+grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
-+ with_gettext=no
-+
-+if test $with_gettext = yes || test $use_libtool = 1; then
-+
-+ tempbase=.bootstrap$$
-+ trap "rm -f $tempbase.0 $tempbase.1" 1 2 13 15
-+
-+ > $tempbase.0 > $tempbase.1 &&
-+ find . ! -type d -print | sort > $tempbase.0 || exit
-+
-+ if test $with_gettext = yes; then
-+ # Released autopoint has the tendency to install macros that have been
-+ # obsoleted in current gnulib, so run this before gnulib-tool.
-+ echo "$0: $AUTOPOINT --force"
-+ $AUTOPOINT --force || exit
-+ fi
-+
-+ # Autoreconf runs aclocal before libtoolize, which causes spurious
-+ # warnings if the initial aclocal is confused by the libtoolized
-+ # (or worse out-of-date) macro directory.
-+ # libtoolize 1.9b added the --install option; but we support back
-+ # to libtoolize 1.5.22, where the install action was default.
-+ if test $use_libtool = 1; then
-+ install=
-+ case $($LIBTOOLIZE --help) in
-+ *--install*) install=--install ;;
-+ esac
-+ echo "running: $LIBTOOLIZE $install --copy"
-+ $LIBTOOLIZE $install --copy
-+ fi
-+
-+ find . ! -type d -print | sort >$tempbase.1
-+ old_IFS=$IFS
-+ IFS=$nl
-+ for file in $(comm -13 $tempbase.0 $tempbase.1); do
-+ IFS=$old_IFS
-+ parent=${file%/*}
-+ version_controlled_file "$parent" "$file" || {
-+ for dot_ig in x $vc_ignore; do
-+ test $dot_ig = x && continue
-+ ig=$parent/$dot_ig
-+ insert_vc_ignore "$ig" "${file##*/}"
-+ done
-+ }
-+ done
-+ IFS=$old_IFS
-+
-+ rm -f $tempbase.0 $tempbase.1
-+ trap - 1 2 13 15
-+fi
-+
-+# Import from gnulib.
-+
-+gnulib_tool_options="\
-+ --import\
-+ --no-changelog\
-+ --aux-dir $build_aux\
-+ --doc-base $doc_base\
-+ --lib $gnulib_name\
-+ --m4-base $m4_base/\
-+ --source-base $source_base/\
-+ --tests-base $tests_base\
-+ --local-dir $local_gl_dir\
-+ $gnulib_tool_option_extras\
-+"
-+if test $use_libtool = 1; then
-+ case "$gnulib_tool_options " in
-+ *' --libtool '*) ;;
-+ *) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
-+ esac
-+fi
-+echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
-+$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
-+
-+for file in $gnulib_files; do
-+ symlink_to_dir "$GNULIB_SRCDIR" $file \
-+ || die "failed to symlink $file"
-+done
-+
-+bootstrap_post_import_hook \
-+ || die "bootstrap_post_import_hook failed"
-+
-+# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
-+# gnulib-populated directories. Such .m4 files would cause aclocal to fail.
-+# The following requires GNU find 4.2.3 or newer. Considering the usual
-+# portability constraints of this script, that may seem a very demanding
-+# requirement, but it should be ok. Ignore any failure, which is fine,
-+# since this is only a convenience to help developers avoid the relatively
-+# unusual case in which a symlinked-to .m4 file is git-removed from gnulib
-+# between successive runs of this script.
-+find "$m4_base" "$source_base" \
-+ -depth \( -name '*.m4' -o -name '*.[ch]' \) \
-+ -type l -xtype l -delete > /dev/null 2>&1
-+
-+# Invoke autoreconf with --force --install to ensure upgrades of tools
-+# such as ylwrap.
-+AUTORECONFFLAGS="--verbose --install --force -I $m4_base $ACLOCAL_FLAGS"
-+
-+# Some systems (RHEL 5) are using ancient autotools, for which the
-+# --no-recursive option had not been invented. Detect that lack and
-+# omit the option when it's not supported. FIXME in 2017: remove this
-+# hack when RHEL 5 autotools are updated, or when they become irrelevant.
-+case $($AUTORECONF --help) in
-+ *--no-recursive*) AUTORECONFFLAGS="$AUTORECONFFLAGS --no-recursive";;
-+esac
-+
-+# Tell autoreconf not to invoke autopoint or libtoolize; they were run above.
-+echo "running: AUTOPOINT=true LIBTOOLIZE=true $AUTORECONF $AUTORECONFFLAGS"
-+AUTOPOINT=true LIBTOOLIZE=true $AUTORECONF $AUTORECONFFLAGS \
-+ || die "autoreconf failed"
-+
-+# Get some extra files from gnulib, overriding existing files.
-+for file in $gnulib_extra_files; do
-+ case $file in
-+ */INSTALL) dst=INSTALL;;
-+ build-aux/*) dst=$build_aux/${file#build-aux/};;
-+ *) dst=$file;;
-+ esac
-+ symlink_to_dir "$GNULIB_SRCDIR" $file $dst \
-+ || die "failed to symlink $file"
-+done
-+
-+if test $with_gettext = yes; then
-+ # Create gettext configuration.
-+ echo "$0: Creating po/Makevars from po/Makevars.template ..."
-+ rm -f po/Makevars
-+ sed '
-+ /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
-+ /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/
-+ /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'|
-+ /^XGETTEXT_OPTIONS *=/{
-+ s/$/ \\/
-+ a\
-+ '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
-+ }
-+ ' po/Makevars.template >po/Makevars \
-+ || die 'cannot generate po/Makevars'
-+
-+ # If the 'gettext' module is in use, grab the latest Makefile.in.in.
-+ # If only the 'gettext-h' module is in use, assume autopoint already
-+ # put the correct version of this file into place.
-+ case $gnulib_modules in
-+ *gettext-h*) ;;
-+ *gettext*)
-+ cp $GNULIB_SRCDIR/build-aux/po/Makefile.in.in po/Makefile.in.in \
-+ || die "cannot create po/Makefile.in.in"
-+ ;;
-+ esac
-+
-+ if test -d runtime-po; then
-+ # Similarly for runtime-po/Makevars, but not quite the same.
-+ rm -f runtime-po/Makevars
-+ sed '
-+ /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/
-+ /^subdir *=.*/s/=.*/= runtime-po/
-+ /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
-+ /^XGETTEXT_OPTIONS *=/{
-+ s/$/ \\/
-+ a\
-+ '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
-+ }
-+ ' po/Makevars.template >runtime-po/Makevars \
-+ || die 'cannot generate runtime-po/Makevars'
-+
-+ # Copy identical files from po to runtime-po.
-+ (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
-+ fi
-+fi
-+
-+bootstrap_epilogue
-+
-+echo "$0: done. Now you can run './configure'."
-+
-+# Local variables:
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "scriptversion="
-+# time-stamp-format: "%:y-%02m-%02d.%02H"
-+# time-stamp-time-zone: "UTC"
-+# time-stamp-end: "; # UTC"
-+# End:
-diff -Naur inetutils-1.9.2-orig/bootstrap.conf inetutils-1.9.2/bootstrap.conf
---- inetutils-1.9.2-orig/bootstrap.conf 1970-01-01 03:00:00.000000000 +0300
-+++ inetutils-1.9.2/bootstrap.conf 2014-12-12 11:55:10.248000000 +0300
-@@ -0,0 +1,112 @@
-+# bootstrap.conf - Bootstrap configuration.
-+# Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software
-+# Foundation, Inc.
-+#
-+# This file is part of GNU Inetutils.
-+#
-+# GNU Inetutils is free software: you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation, either version 3 of the License, or (at
-+# your option) any later version.
-+#
-+# GNU Inetutils is distributed in the hope that it will be useful, but
-+# WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program. If not, see `http://www.gnu.org/licenses/'.
-+
-+# Build prerequisites.
-+buildreq="\
-+autoconf 2.59
-+automake 1.11.1
-+bison 2.3
-+m4 -
-+makeinfo -
-+help2man -
-+"
-+
-+# Sync. bootstrap from checked out gnulib sources.
-+bootstrap_sync=true
-+
-+ACLOCAL_FLAGS="-I am"
-+
-+# gnulib library name
-+gnulib_name=libgnu
-+
-+# gnulib modules used by this package.
-+gnulib_modules="
-+alloca
-+alloca-opt
-+argp
-+argp-version-etc
-+autobuild
-+dirfd
-+dirname-lgpl
-+error
-+exitfail
-+extensions
-+fdl-1.3
-+filemode
-+forkpty
-+gendocs
-+getaddrinfo
-+getcwd
-+getline
-+getopt-gnu
-+getpass
-+gettext
-+gettext-h
-+getusershell
-+git-version-gen
-+glob
-+gnupload
-+inttostr
-+ioctl
-+maintainer-makefile
-+malloc-gnu
-+mempcpy
-+mgetgroups
-+minmax
-+mkstemp
-+obstack
-+poll
-+progname
-+read-file
-+readutmp
-+realloc-gnu
-+regex
-+setenv
-+sethostname
-+signal
-+size_max
-+snippet/unused-parameter
-+snprintf
-+stdbool
-+stdint
-+strchrnul
-+strerror
-+strndup
-+strnlen
-+sysexits
-+termios
-+unistd-safer
-+update-copyright
-+vasnprintf
-+version-etc-fsf
-+vsnprintf
-+xalloc
-+xalloc-die
-+xgetcwd
-+xgetdomainname
-+xgethostname
-+xsize
-+xvasprintf
-+"
-+
-+# Read local configuration file
-+if [ -r .bootstrap ]; then
-+ echo "$0: Reading configuration file .bootstrap"
-+ eval set -- "`sed 's/#.*$//;/^$/d' .bootstrap | tr '\n' ' '` $*"
-+fi
-diff -Naur inetutils-1.9.2-orig/configure.ac inetutils-1.9.2/configure.ac
---- inetutils-1.9.2-orig/configure.ac 2013-11-11 13:14:49.000000000 +0300
-+++ inetutils-1.9.2/configure.ac 2014-12-12 11:55:10.248000000 +0300
-@@ -18,7 +18,7 @@
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see `http://www.gnu.org/licenses/'.
-
--AC_PREREQ(2.59)
-+AC_PREREQ(2.69)
-
- AC_INIT([GNU inetutils],
- m4_esyscmd([build-aux/git-version-gen .tarball-version 's/inetutils-/v/;s/_/./g']),
-@@ -29,7 +29,7 @@
- AC_CONFIG_HEADERS([config.h:config.hin])
- AC_CANONICAL_HOST
-
--AM_INIT_AUTOMAKE([1.11.1 dist-xz -Wall -Werror])
-+AM_INIT_AUTOMAKE([1.14 dist-xz -Wall -Werror])
-
- # For now, we always use libexecdir; later we may want to vary where
- # the daemons go.
-@@ -585,7 +585,7 @@
- AC_HEADER_TIME
- AC_HEADER_DIRENT
-
--AC_CHECK_HEADERS([arpa/nameser.h errno.h fcntl.h features.h \
-+AC_CHECK_HEADERS([stdio.h arpa/nameser.h errno.h fcntl.h features.h \
- glob.h memory.h netinet/ether.h netinet/in_systm.h \
- netinet/ip.h netinet/ip_icmp.h netinet/ip_var.h \
- security/pam_appl.h shadow.h \
-@@ -596,8 +596,11 @@
- sys/proc.h sys/select.h sys/time.h sys/wait.h \
- sys/resource.h \
- stropts.h tcpd.h utmp.h utmpx.h unistd.h \
-- vis.h], [], [], [
-+ vis.h osockaddr.h], [], [], [
- #include
-+#ifdef HAVE_STDIO_H
-+# include
-+#endif
- #ifdef HAVE_NETINET_IN_SYSTM_H
- # include
- #endif
-@@ -644,6 +647,15 @@
- #include ])])
-
- ### Checks for structures.
-+AC_CHECK_TYPE(struct osockaddr,
-+ [AC_DEFINE([HAVE_STRUCT_OSOCKADDR], 1,
-+ [Define to one if you have struct osockaddr.])], [],
-+ [IU_FLUSHLEFT([#include
-+ #include
-+ #ifdef HAVE_OSOCKADDR_H
-+ # include
-+ #endif ])])
-+
- IU_CHECK_MEMBERS([struct sockaddr_in.sin_len], , ,
- [ #include
- #include ])
-@@ -986,6 +998,12 @@
- AC_DEFINE([HAVE_STREAMSPTY], 1,
- [Define to 1 for a system using streams for ptys])
- ;;
-+*cygwin*)
-+ CFLAGS="${CFLAGS} -DNCURSES_STATIC"
-+ LDFLAGS="${LDFLAGS} -Wl,-static"
-+ LIBS="/usr/lib/textmode.o ${LIBS}"
-+ AC_DEFINE(UTMPX, 1, [FIXME])
-+ ;;
- *irix* | *hpux* )
- # Known and needed work-arounds?
- ;;
-diff -Naur inetutils-1.9.2-orig/talk/Makefile.am inetutils-1.9.2/talk/Makefile.am
---- inetutils-1.9.2-orig/talk/Makefile.am 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talk/Makefile.am 2014-12-12 11:55:10.248000000 +0300
-@@ -19,6 +19,7 @@
- # along with this program. If not, see `http://www.gnu.org/licenses/'.
-
- AM_CPPFLAGS = \
-+ -I$(top_srcdir)/headers \
- $(iu_INCLUDES) \
- $(NCURSES_INCLUDE) $(INCIDN)
-
-diff -Naur inetutils-1.9.2-orig/talkd/Makefile.am inetutils-1.9.2/talkd/Makefile.am
---- inetutils-1.9.2-orig/talkd/Makefile.am 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talkd/Makefile.am 2014-12-12 11:55:10.263600000 +0300
-@@ -21,6 +21,7 @@
- @PATHDEFS_MAKE@
-
- AM_CPPFLAGS = \
-+ -I$(top_srcdir)/headers \
- $(iu_INCLUDES) \
- $(PATHDEF_DEV) \
- $(PATHDEF_TTY_PFX) $(PATHDEF_UTMP) $(PATHDEF_UTMPX)
diff --git a/inetutils/07-other-buildsys-updates.patch b/inetutils/07-other-buildsys-updates.patch
deleted file mode 100644
index 726d7d53..00000000
--- a/inetutils/07-other-buildsys-updates.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-diff -Naur inetutils-1.9.2-orig/configure.ac inetutils-1.9.2/configure.ac
---- inetutils-1.9.2-orig/configure.ac 2014-12-12 11:55:10.606800000 +0300
-+++ inetutils-1.9.2/configure.ac 2014-12-12 11:55:10.653600000 +0300
-@@ -560,7 +560,13 @@
- AC_MSG_CHECKING(hosts_ctl in -lwrap);
- save_LIBS=$LIBS
- LIBS="$save_LIBS -lwrap"
-- AC_TRY_LINK([int allow_severity = 1; int deny_severity = 1;],
-+ AC_TRY_LINK([#ifdef __CYGWIN__
-+ extern int allow_severity = 1;
-+ extern int deny_severity = 1;
-+ #else
-+ int allow_severity = 1;
-+ int deny_severity = 1;
-+ #endif],
- hosts_ctl(), eval "ac_cv_lib_wrap_hosts_ctl=yes",
- eval "ac_cv_lib_wrap_hosts_ctl=no")
- LIBS=$save_LIBS
-@@ -596,7 +602,7 @@
- sys/proc.h sys/select.h sys/time.h sys/wait.h \
- sys/resource.h \
- stropts.h tcpd.h utmp.h utmpx.h unistd.h \
-- vis.h osockaddr.h], [], [], [
-+ vis.h osockaddr.h crypt.h], [], [], [
- #include
- #ifdef HAVE_STDIO_H
- # include
-@@ -860,7 +866,11 @@
-
- AC_DECL_SYS_SIGLIST
-
--AC_CHECK_DECLS(crypt, , , [#include ])
-+AC_CHECK_DECLS(crypt, , ,
-+ [IU_FLUSHLEFT([#include
-+ #ifdef HAVE_CRYPT_H
-+ # include
-+ #endif])])
-
- # EWOULDBLOCK is more or less the BSD version of posix EAGAIN.
- IU_CHECK_MACRO(EWOULDBLOCK, [#include ], , ,
-@@ -887,6 +897,8 @@
- iu_syslog_includes), , iu_syslog_includes),)
- undefine([iu_syslog_includes])
-
-+IU_CHECK_MACRO(TIOCNOTTY, [#include ],,,)
-+
- # Some systems don't declare common functions (especially if they
- # return int), at least in the expected header file. Check.
- AC_CHECK_DECLS([fclose, pclose], , , [#include ])
-@@ -999,8 +1011,6 @@
- [Define to 1 for a system using streams for ptys])
- ;;
- *cygwin*)
-- CFLAGS="${CFLAGS} -DNCURSES_STATIC"
-- LDFLAGS="${LDFLAGS} -Wl,-static"
- LIBS="/usr/lib/textmode.o ${LIBS}"
- AC_DEFINE(UTMPX, 1, [FIXME])
- ;;
-diff -Naur inetutils-1.9.2-orig/man/Makefile.am inetutils-1.9.2/man/Makefile.am
---- inetutils-1.9.2-orig/man/Makefile.am 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/man/Makefile.am 2014-12-12 11:55:10.653600000 +0300
-@@ -216,4 +216,4 @@
- --include=$(srcdir)/$(TOOL).h2m \
- --output=$(TOOL).$(SECTION) \
- --section $(SECTION) \
-- $(mapped_name)
-+ $(mapped_name)$(EXEEXT)
diff --git a/inetutils/08-libinetutils.patch b/inetutils/08-libinetutils.patch
deleted file mode 100644
index c8c7b7bd..00000000
--- a/inetutils/08-libinetutils.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-diff -Naur inetutils-1.9.2-orig/libinetutils/daemon.c inetutils-1.9.2/libinetutils/daemon.c
---- inetutils-1.9.2-orig/libinetutils/daemon.c 2013-12-03 17:57:44.000000000 +0300
-+++ inetutils-1.9.2/libinetutils/daemon.c 2014-12-12 11:55:11.043600000 +0300
-@@ -51,6 +51,7 @@
- #include
- #include
- #include
-+#include
- #include
- #include
- #include
-@@ -103,13 +104,87 @@
-
- #define MAXFD 64
-
--void
-+/* copy signal stuff from inetd.c -- POSIX says that the various
-+ signal interfaces should not be mixed in the same program.
-+ Because inetd uses 'most recent signal interface' it can find,
-+ we should too.
-+*/
-+
-+#define SIGBLOCK (sigmask(SIGCHLD)|sigmask(SIGHUP)|sigmask(SIGALRM))
-+#if defined(HAVE_SIGACTION)
-+# define SIGSTATUS sigset_t
-+# define sigstatus_empty(s) sigemptyset(&s)
-+#else
-+# define SIGSTATUS long
-+# define sigstatus_empty(s) s = 0
-+#endif
-+
-+static void
-+signal_set_handler (int signo, RETSIGTYPE (*handler) ())
-+{
-+#if defined(HAVE_SIGACTION)
-+ struct sigaction sa;
-+ memset ((char *)&sa, 0, sizeof(sa));
-+ sigemptyset (&sa.sa_mask);
-+ sigaddset (&sa.sa_mask, signo);
-+#ifdef SA_RESTART
-+ sa.sa_flags = SA_RESTART;
-+#endif
-+ sa.sa_handler = handler;
-+ sigaction (signo, &sa, NULL);
-+#elif defined(HAVE_SIGVEC)
-+ struct sigvec sv;
-+ memset (&sv, 0, sizeof(sv));
-+ sv.sv_mask = SIGBLOCK;
-+ sv.sv_handler = handler;
-+ sigvec (signo, &sv, NULL);
-+#else /* !HAVE_SIGVEC */
-+ signal (signo, handler);
-+#endif /* HAVE_SIGACTION */
-+}
-+
-+static void
-+signal_block (SIGSTATUS *old_status)
-+{
-+#ifdef HAVE_SIGACTION
-+ sigset_t sigs;
-+
-+ sigemptyset (&sigs);
-+ sigaddset (&sigs, SIGCHLD);
-+ sigaddset (&sigs, SIGHUP);
-+ sigaddset (&sigs, SIGALRM);
-+ sigprocmask (SIG_BLOCK, &sigs, old_status);
-+#else
-+ long omask = sigblock (SIGBLOCK);
-+ if (old_status)
-+ *old_status = omask;
-+#endif
-+}
-+
-+static void
-+signal_unblock (SIGSTATUS *status)
-+{
-+#ifdef HAVE_SIGACTION
-+ if (status)
-+ sigprocmask (SIG_SETMASK, status, 0);
-+ else
-+ {
-+ sigset_t empty;
-+ sigemptyset (&empty);
-+ sigprocmask (SIG_SETMASK, &empty, 0);
-+ }
-+#else
-+ sigsetmask (status ? *status : 0);
-+#endif
-+}
-+
-+RETSIGTYPE
- waitdaemon_timeout (int signo _GL_UNUSED_PARAMETER)
- {
- int left;
-
- left = alarm (0);
-- signal (SIGALRM, SIG_DFL);
-+ signal_set_handler (SIGALRM, SIG_DFL);
- if (left == 0)
- error (EXIT_FAILURE, 0, "timed out waiting for child");
- }
-@@ -138,9 +213,29 @@
- default: /* In the parent. */
- if (maxwait > 0)
- {
-- signal (SIGALRM, waitdaemon_timeout);
-+ int status;
-+ pid_t wpid;
-+
-+ signal_unblock(NULL);
-+ signal_set_handler (SIGALRM, waitdaemon_timeout);
- alarm (maxwait);
-- pause ();
-+ do
-+ {
-+ wpid = waitpid(childpid, &status, WUNTRACED
-+#ifdef WCONTINUED /* Not all implementations support this */
-+ | WCONTINUED
-+#endif
-+ );
-+ if (wpid == -1)
-+ {
-+ /* should't happen for timeouts, because the
-+ SIGALRM handler will error (and exit). However,
-+ we may recieve some OTHER signal...
-+ */
-+ error (1, 0, "interrupted while waiting for child");
-+ }
-+ }
-+ while (!WIFEXITED(status) && !WIFSIGNALED(status));
- }
- _exit (EXIT_SUCCESS);
- }
-@@ -152,7 +247,7 @@
- then SIGHUP is sent to all process belonging to the same session,
- i.e., also to the second child.
- */
-- signal (SIGHUP, SIG_IGN);
-+ signal_set_handler (SIGHUP, SIG_IGN);
-
- switch (fork ())
- {
-@@ -202,5 +297,9 @@
- int
- daemon (int nochdir, int noclose)
- {
-+#ifdef __CYGWIN__
-+ return (waitdaemon (nochdir, noclose, 5) == -1) ? -1 : 0;
-+#else
- return (waitdaemon (nochdir, noclose, 0) == -1) ? -1 : 0;
-+#endif
- }
-diff -Naur inetutils-1.9.2-orig/libinetutils/logwtmp.c inetutils-1.9.2/libinetutils/logwtmp.c
---- inetutils-1.9.2-orig/libinetutils/logwtmp.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/libinetutils/logwtmp.c 2014-12-12 11:55:11.043600000 +0300
-@@ -50,6 +50,10 @@
- extern int errno;
- #endif
-
-+#ifndef O_BINARY
-+#define O_BINARY 0
-+#endif
-+
- #ifdef HAVE_UTMPX_H
- static void
- _logwtmp (struct utmpx *ut)
-@@ -62,9 +66,9 @@
- static int fd = -1;
-
- if (fd < 0)
-- fd = open (OUR_WTMP, O_WRONLY | O_APPEND, 0);
-+ fd = open (OUR_WTMP, O_WRONLY | O_APPEND | O_BINARY, 0);
- #else
-- int fd = open (OUR_WTMP, O_WRONLY | O_APPEND, 0);
-+ int fd = open (OUR_WTMP, O_WRONLY | O_APPEND | O_BINARY, 0);
- #endif
-
- if (fd >= 0)
-diff -Naur inetutils-1.9.2-orig/libinetutils/setsig.c inetutils-1.9.2/libinetutils/setsig.c
---- inetutils-1.9.2-orig/libinetutils/setsig.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/libinetutils/setsig.c 2014-12-12 11:55:11.059200000 +0300
-@@ -26,6 +26,10 @@
-
- #include
-
-+#ifdef __CYGWIN__
-+typedef _sig_func_ptr sig_t;
-+#endif
-+
- /* This is exactly like the traditional signal function, but turns on the
- SA_RESTART bit where possible. */
- sighandler_t
diff --git a/inetutils/09-inetd.patch b/inetutils/09-inetd.patch
deleted file mode 100644
index 9adf3db7..00000000
--- a/inetutils/09-inetd.patch
+++ /dev/null
@@ -1,272 +0,0 @@
-diff -Naur inetutils-1.9.2-orig/src/inetd.c inetutils-1.9.2/src/inetd.c
---- inetutils-1.9.2-orig/src/inetd.c 2013-12-23 14:57:54.000000000 +0300
-+++ inetutils-1.9.2/src/inetd.c 2014-12-12 11:55:11.402400000 +0300
-@@ -138,6 +138,13 @@
- #include "version-etc.h"
- #include "unused-parameter.h"
-
-+#ifdef __CYGWIN__
-+#include
-+#include
-+#include
-+#endif /* __CYGWIN__ */
-+
-+
- #ifndef EAI_ADDRFAMILY
- # define EAI_ADDRFAMILY 1
- #endif
-@@ -151,7 +158,14 @@
- #endif
- #define SIGBLOCK (sigmask(SIGCHLD)|sigmask(SIGHUP)|sigmask(SIGALRM))
-
-+enum {
-+ NO_DAEMON = 0,
-+ UNIX_DAEMON
-+};
-+
- bool debug = false;
-+static int daemonize = UNIX_DAEMON;
-+
- int nsock, maxsock;
- fd_set allsock;
- int options;
-@@ -196,6 +210,13 @@
- {"resolve", OPT_RESOLVE, NULL, 0,
- "resolve IP addresses when setting environment variables "
- "(see --environment)", GRP+1},
-+#ifdef __CYGWIN__
-+ {0,0,0,0,"Cygwin-specific options:",GRP+2},
-+ {"no-daemonize", 'D', NULL, 0,
-+ "Do not run as a daemon", GRP+2},
-+ {"traditional-daemon", 'T', NULL, 0,
-+ "This option is present for backwards compatibility.", GRP+2},
-+#endif /* __CYGWIN__ */
- #undef GRP
- {NULL, 0, NULL, 0, NULL, 0}
- };
-@@ -237,6 +258,16 @@
- resolve_option = true;
- break;
-
-+#ifdef __CYGWIN__
-+ case 'D': /* don't become a daemon */
-+ daemonize = NO_DAEMON;
-+ break;
-+
-+ case 'T': /* act like a normal unix daemon */
-+ daemonize = UNIX_DAEMON;
-+ break;
-+#endif /* __CYGWIN__ */
-+
- default:
- return ARGP_ERR_UNKNOWN;
- }
-@@ -412,6 +443,44 @@
- #endif
- }
-
-+#ifdef __CYGWIN__
-+void
-+hide_console ()
-+{
-+ HMODULE lib;
-+ HWND WINAPI (*GetConsoleWindow) (void) = NULL;
-+ HWND console = NULL;
-+
-+ AllocConsole ();
-+ if (lib = LoadLibrary ("kernel32.dll"))
-+ GetConsoleWindow = (HWND WINAPI (*) (void))
-+ GetProcAddress (lib, "GetConsoleWindow");
-+
-+ if (GetConsoleWindow)
-+ /* If GetConsoleWindow exists (W2K and newer), use it. */
-+ console = GetConsoleWindow ();
-+ if (!console)
-+ {
-+ /* Get console window handle as described in KB article Q124103 */
-+ char title[32];
-+ snprintf (title, 32, "inetd.%d", getpid ());
-+ SetConsoleTitle (title);
-+ Sleep (40);
-+ console = FindWindow (NULL, title);
-+ if (console)
-+ {
-+ char ctitle[256];
-+ if (!GetWindowText (console, ctitle, 256) || strcmp (title, ctitle))
-+ console = NULL;
-+ }
-+ }
-+ if (console)
-+ ShowWindow (console, SW_HIDE);
-+}
-+#endif /* __CYGWIN__ */
-+
-+
-+
- void
- run_service (int ctrl, struct servtab *sep)
- {
-@@ -431,6 +500,10 @@
- close (ctrl);
- dup2 (0, 1);
- dup2 (0, 2);
-+#ifdef __CYGWIN__
-+ if (strcmp (sep->se_user, "root"))
-+ {
-+#endif
- pwd = getpwnam (sep->se_user);
- if (pwd == NULL)
- {
-@@ -452,14 +525,21 @@
- _exit (EXIT_FAILURE);
- }
- }
-+#ifdef __CYGWIN__
-+ }
-+ else
-+ {
-+ pwd = getpwuid (getuid ());
-+ }
-+#endif
- if (pwd->pw_uid)
- {
- if (grp && grp->gr_gid)
- {
- if (setgid (grp->gr_gid) < 0)
- {
-- syslog (LOG_ERR, "%s: can't set gid %d: %m",
-- sep->se_service, grp->gr_gid);
-+ syslog (LOG_ERR, "%s: can't set gid %d uid(%d): %m",
-+ sep->se_service, pwd->pw_gid, pwd->pw_uid);
- _exit (EXIT_FAILURE);
- }
- }
-@@ -1278,6 +1358,10 @@
- }
- while ((sep = getconfigent (fconfig, file, &line)))
- {
-+#ifdef __CYGWIN__
-+ if (strcmp (sep->se_user, "root"))
-+ {
-+#endif
- pwd = getpwnam (sep->se_user);
- if (pwd == NULL)
- {
-@@ -1285,6 +1369,9 @@
- sep->se_service, sep->se_proto, sep->se_user);
- continue;
- }
-+#ifdef __CYGWIN__
-+ }
-+#endif
- if (sep->se_group && *sep->se_group)
- {
- grp = getgrnam (sep->se_group);
-@@ -1497,10 +1584,48 @@
- }
- else
- snprintf (buf, sizeof buf, "-%s", a);
-- strncpy (cp, buf, LastArg - cp);
-- cp += strlen (cp);
-- while (cp < LastArg)
-- *cp++ = ' ';
-+
-+ /* the non-portable code in the #else block relies on
-+ the system allocating all of the strings in argv[]
-+ contiguously. On cygwin this is not necessarily so,
-+ and to assume otherwise will lead to segfaults.
-+ The downside here is we get supposed ps entries for
-+ internal services like:
-+ '-echo' instead of '-echo [remoteIP]' (okay?)
-+ '-char' instead of '-chargen [remoteIP]' (awful)
-+ '-disc' instead of '-discard [remoteIP]' (awful)
-+ because the original argv[0] might be 'inetd' unless
-+ it was specifically invoked with a full path. However,
-+ this is mostly moot:
-+ (1) cygwin's ps uses its own internal version of the
-+ exe name (or GetModuleName) and then calls
-+ cygwin_conv_xxx() for display.
-+ (2) procps DOES use the modified argv[0] value
-+ */
-+ {
-+#ifdef __CYGWIN__
-+ char* LastNullChar = cp + strlen(cp);
-+ char** scan;
-+#else
-+ char* LastNullChar = LastArg;
-+#endif
-+
-+ strncpy (cp, buf, LastNullChar - cp);
-+ cp += strlen (cp);
-+ while (cp < LastNullChar)
-+ *cp++ = ' ';
-+
-+#ifdef __CYGWIN__
-+ /* individually blank out the rest of the args */
-+ for (scan = Argv + 1; *scan != NULL; scan++)
-+ {
-+ char* nullChar = *scan + strlen(*scan);
-+ cp = *scan;
-+ while (cp < nullChar)
-+ *cp++ = ' ';
-+ }
-+#endif
-+ }
- }
-
- /*
-@@ -1939,6 +2064,16 @@
- envp++;
- LastArg = envp[-1] + strlen (envp[-1]);
-
-+#ifdef __CYGWIN__
-+ /* on cygwin, open the log early -- because even
-+ help and cmdline processing messages go directly
-+ to syslog. This is because inetd is often run
-+ under the SYSTEM account (which is not quite like
-+ the *nix 'root')
-+ */
-+ openlog("inetd", LOG_PID | LOG_NOWAIT, LOG_DAEMON);
-+#endif
-+
- /* Parse command line */
- iu_argp_init ("inetd", program_authors);
- argp_parse (&argp, argc, argv, 0, &index, NULL);
-@@ -1962,7 +2097,7 @@
- config_files[1] = newstr (PATH_INETDDIR);
- }
-
-- if (!debug)
-+ if ((debug == 0) && daemonize)
- {
- if (daemon (0, 0) < 0)
- {
-@@ -1971,6 +2106,12 @@
- exit (EXIT_FAILURE);
- };
- }
-+#ifndef __CYGWIN__
-+ exception_list except_list;
-+ cygwin_internal (CW_INIT_EXCEPTIONS, &except_list);
-+ hide_console ();
-+#endif /* __CYGWIN__ */
-+
-
- openlog ("inetd", LOG_PID | LOG_NOWAIT, LOG_DAEMON);
-
-@@ -1995,6 +2136,7 @@
- signal_set_handler (SIGCHLD, reapchild);
- signal_set_handler (SIGPIPE, SIG_IGN);
-
-+#ifndef __CYGWIN__
- {
- /* space for daemons to overwrite environment for ps */
- #define DUMMYSIZE 100
-@@ -2004,6 +2146,7 @@
- dummy[DUMMYSIZE - 1] = '\0';
- setenv ("inetd_dummy", dummy, 1);
- }
-+#endif /* __CYGWIN__ */
-
- for (;;)
- {
diff --git a/inetutils/11-telnet.patch b/inetutils/11-telnet.patch
deleted file mode 100644
index a5706eaa..00000000
--- a/inetutils/11-telnet.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -Naur inetutils-1.9.2-orig/telnet/telnet.c inetutils-1.9.2/telnet/telnet.c
---- inetutils-1.9.2-orig/telnet/telnet.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/telnet/telnet.c 2014-12-12 11:55:11.761200000 +0300
-@@ -51,7 +51,7 @@
-
- #include
-
--#if defined unix || defined __unix || defined __unix__
-+#if defined unix || defined __unix || defined __unix__ || defined __CYGWIN__
- # include
- /* By the way, we need to include curses.h before telnet.h since,
- * among other things, telnet.h #defines 'DO', which is a variable
-@@ -756,7 +756,8 @@
- * mklist will examine this buffer, so erase it
- * to cover corner cases.
- */
--char termbuf[2048] = { 0 };
-+#define TERMBUF_SZ 2048
-+char termbuf[TERMBUF_SZ] = { 0 };
-
- static int
- init_term (char *tname, int *errp)
-@@ -2371,7 +2372,7 @@
- netex = !SYNCHing;
-
- /* If we have seen a signal recently, reset things */
--#if defined TN3270 && (defined unix || defined __unix || defined __unix__)
-+#if defined TN3270 && (defined unix || defined __unix || defined __unix__ || defined __CYGWIN__)
- if (HaveInput)
- {
- HaveInput = 0;
diff --git a/inetutils/13-ftp.patch b/inetutils/13-ftp.patch
deleted file mode 100644
index 99051a7e..00000000
--- a/inetutils/13-ftp.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-diff -Naur inetutils-1.9.2-orig/ftp/cmds.c inetutils-1.9.2/ftp/cmds.c
---- inetutils-1.9.2-orig/ftp/cmds.c 2013-12-03 17:57:43.000000000 +0300
-+++ inetutils-1.9.2/ftp/cmds.c 2014-12-12 11:55:12.135600000 +0300
-@@ -102,6 +102,10 @@
- # endif
- #endif /* !DEFPORT */
-
-+#ifdef __CYGWIN__
-+typedef _sig_func_ptr sig_t;
-+#endif
-+
- /* Returns true if STR is entirely lower case. */
- static int
- all_lower (char *str)
-@@ -297,6 +301,13 @@
- if (autologin)
- login (host);
-
-+#ifdef __CYGWIN__
-+# ifndef unix
-+# define unix
-+# endif
-+# define NBBY 8
-+#endif /* __CYGWIN__ */
-+
- #if (defined unix || defined __unix || defined __unix__) && NBBY == 8
- /*
- * this ifdef is to keep someone form "porting" this to an incompatible
-@@ -1852,7 +1863,7 @@
- len += strlen (strcpy (&buf[len], argv[i]));
- }
- }
-- if (command (buf) == PRELIM)
-+ if (command ("%s", buf) == PRELIM)
- {
- while (getreply (0) == PRELIM)
- continue;
-diff -Naur inetutils-1.9.2-orig/ftp/ftp.c inetutils-1.9.2/ftp/ftp.c
---- inetutils-1.9.2-orig/ftp/ftp.c 2013-12-23 14:57:54.000000000 +0300
-+++ inetutils-1.9.2/ftp/ftp.c 2014-12-12 11:55:12.135600000 +0300
-@@ -90,6 +90,11 @@
- #include "ftp_var.h"
- #include "unused-parameter.h"
-
-+#ifdef __CYGWIN__
-+#include
-+typedef _sig_func_ptr sig_t;
-+#endif
-+
- #if !HAVE_DECL_FCLOSE
- /* Some systems don't declare fclose in , so do it ourselves. */
- extern int fclose (FILE *);
-@@ -100,7 +105,9 @@
- extern int pclose (FILE *);
- #endif
-
-+#ifndef __CYGWIN__
- extern int h_errno;
-+#endif
-
- int data = -1;
- int abrtflag = 0;
-@@ -641,7 +648,15 @@
- }
- else
- {
-+#ifdef __CYGWIN__
-+ if (curtype != TYPE_A) {
-+ fin = fopen (local, "rb");
-+ } else {
-+ fin = fopen (local, "r");
-+ }
-+#else
- fin = fopen (local, "r");
-+#endif
- if (fin == NULL)
- {
- error (0, errno, "local: %s", local);
-@@ -685,6 +700,7 @@
- break;
- case TYPE_I:
- case TYPE_L:
-+ setmode (fileno (fin), O_BINARY);
- rc = lseek (fileno (fin), restart_point, SEEK_SET);
- break;
- }
-@@ -753,6 +769,8 @@
-
- case TYPE_I:
- case TYPE_L:
-+ setmode (fileno (fin), O_BINARY);
-+ setmode (fileno (dout), O_BINARY);
- errno = d = 0;
- while ((c = read (fileno (fin), buf, bufsize)) > 0)
- {
-@@ -987,7 +1005,17 @@
- {
- struct stat st;
-
-+#ifdef __CYGWIN__
-+ {
-+ char nmode[8];
-+ strcpy (nmode, lmode);
-+ if (curtype != TYPE_A)
-+ strcat (nmode, "b");
-+ fout = fopen (local, nmode);
-+ }
-+#else
- fout = fopen (local, lmode);
-+#endif
- if (fout == NULL || fstat (fileno (fout), &st) < 0)
- {
- error (0, errno, "local: %s", local);
-@@ -1016,6 +1044,8 @@
-
- case TYPE_I:
- case TYPE_L:
-+ setmode (fileno (fout), O_BINARY);
-+ setmode (fileno (din), O_BINARY);
- if (restart_point && lseek (fileno (fout), restart_point, SEEK_SET) < 0)
- {
- error (0, errno, "local: %s", local);
diff --git a/inetutils/14-ftpd.patch b/inetutils/14-ftpd.patch
deleted file mode 100644
index 312649bf..00000000
--- a/inetutils/14-ftpd.patch
+++ /dev/null
@@ -1,311 +0,0 @@
-diff -Naur inetutils-1.9.2-orig/ftpd/auth.c inetutils-1.9.2/ftpd/auth.c
---- inetutils-1.9.2-orig/ftpd/auth.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/ftpd/auth.c 2014-12-12 11:55:12.478800000 +0300
-@@ -19,6 +19,17 @@
-
- #include
-
-+#ifdef __CYGWIN__
-+# undef ERROR
-+# include
-+# include
-+# include
-+# include
-+# define is_winnt (GetVersion() < 0x80000000)
-+#else
-+# define is_winnt (0)
-+#endif
-+
- #include
- #include
- #include
-@@ -44,6 +55,9 @@
- shell as returned by getusershell(). Disallow anyone mentioned in the file
- PATH_FTPUSERS to allow people such as root and uucp to be avoided. */
-
-+static int
-+do_cygwin_auth (const char* passwd, struct credentials *pcred);
-+
- int
- auth_user (const char *name, struct credentials *pcred)
- {
-@@ -84,6 +98,12 @@
- if (pcred->message == NULL)
- return -1;
-
-+#ifdef __CYGWIN__
-+ /* when running under WinNT, password is always required. */
-+ if (!is_winnt)
-+ {
-+#endif /* __CYGWIN__ */
-+
- /* Check for anonymous log in.
- *
- * This code simulates part of `pam_ftp.so'
-@@ -113,6 +133,9 @@
- }
- return err;
- }
-+#ifdef __CYGWIN__
-+ }
-+#endif /* __CYGWIN__ */
-
- if (sgetcred (name, pcred) == 0)
- {
-@@ -184,18 +207,49 @@
- case AUTH_TYPE_PASSWD:
- default:
- {
-+#ifdef __CYGWIN__
-+ if (!is_winnt)
-+ {
-+#endif /* __CYGWIN__ */
- char *xpasswd;
- char *salt = pcred->passwd;
- /* Try to authenticate the user. */
- if (pcred->passwd == NULL || *pcred->passwd == '\0')
- return 1; /* Failed. */
-- xpasswd = crypt (passwd, salt);
-+ xpasswd = (char*) crypt (passwd, salt);
- return (!xpasswd || strcmp (xpasswd, pcred->passwd) != 0);
-+#ifdef __CYGWIN__
-+ } else {
-+ return do_cygwin_auth (passwd, pcred);
-+ }
-+#endif /* __CYGWIN__ */
- }
- } /* switch (auth_type) */
- return -1;
- }
-
-+#ifdef __CYGWIN__
-+static int
-+do_cygwin_auth (const char* passwd, struct credentials *pcred)
-+{
-+ struct passwd *p;
-+ if ((pcred == NULL) || (pcred->name == NULL) || (pcred->name[0] == '\0'))
-+ return 1;
-+
-+ /* can't "recreate" p from contents of pcred, because
-+ struct passwd might contain extension elements
-+ unknown to us
-+ */
-+ p = getpwnam (pcred->name);
-+ if (p == NULL)
-+ return 1;
-+
-+ HANDLE hToken = (HANDLE) cygwin_logon_user (p, passwd);
-+ cygwin_set_impersonation_token (hToken);
-+ return (hToken == INVALID_HANDLE_VALUE); // non-zero on error
-+}
-+#endif /* __CYGWIN__ */
-+
- int
- sgetcred (const char *name, struct credentials *pcred)
- {
-diff -Naur inetutils-1.9.2-orig/ftpd/ftpcmd.y inetutils-1.9.2/ftpd/ftpcmd.y
---- inetutils-1.9.2-orig/ftpd/ftpcmd.y 2013-12-23 14:57:54.000000000 +0300
-+++ inetutils-1.9.2/ftpd/ftpcmd.y 2014-12-12 11:55:12.478800000 +0300
-@@ -592,7 +592,7 @@
- # endif /* BSD */
- #endif /* !HAVE_UNAME */
-
--#if defined unix || defined __unix || defined __unix__
-+#if defined unix || defined __unix || defined __unix__ || defined __CYGWIN__
- sys_type = "UNIX";
- #else
- sys_type = "UNKNOWN";
-diff -Naur inetutils-1.9.2-orig/ftpd/ftpd.c inetutils-1.9.2/ftpd/ftpd.c
---- inetutils-1.9.2-orig/ftpd/ftpd.c 2013-12-23 14:57:54.000000000 +0300
-+++ inetutils-1.9.2/ftpd/ftpd.c 2014-12-12 11:55:12.478800000 +0300
-@@ -113,6 +113,10 @@
- # define LOG_FTP LOG_DAEMON /* Use generic facility. */
- #endif
-
-+#ifndef LARGE_TRANSFER_BLOCKSIZE
-+# define LARGE_TRANSFER_BLOCKSIZE 4096
-+#endif
-+
- #ifndef MAP_FAILED
- # define MAP_FAILED (void*)-1
- #endif
-@@ -445,11 +449,21 @@
- NULL
- };
-
-+#if defined(WITH_WRAP) && defined(__CYGWIN__)
-+extern int allow_severity; /* set value in main() */
-+extern int deny_severity; /* set value in main() */
-+#endif
-+
- int
- main (int argc, char *argv[], char **envp)
- {
- int index;
-
-+#if defined(WITH_WRAP) && defined(__CYGWIN__)
-+ allow_severity = LOG_INFO;
-+ deny_severity = LOG_NOTICE;
-+#endif
-+
- set_program_name (argv[0]);
-
- #ifdef HAVE_TZSET
-@@ -560,7 +574,7 @@
- }
- #endif
-
--#ifdef F_SETOWN
-+#if defined(F_SETOWN) && !defined(__CYGWIN__)
- if (fcntl (STDIN_FILENO, F_SETOWN, getpid ()) == -1)
- syslog (LOG_ERR, "fcntl F_SETOWN: %m");
- #endif
-@@ -684,19 +698,29 @@
- /* We MUST do a chdir () after the chroot. Otherwise
- the old current directory will be accessible as "."
- outside the new root! */
-- if (chroot (pcred->rootdir) < 0 || chdir (pcred->homedir) < 0)
-+ if (chroot (pcred->rootdir) < 0)
- {
- reply (550, "Can't set guest privileges.");
- goto bad;
- }
-+ if (chdir (pcred->homedir) < 0)
-+ {
-+ reply(550, "Can't access home directory.");
-+ goto bad;
-+ }
- }
- else if (pcred->dochroot)
- {
-- if (chroot (pcred->rootdir) < 0 || chdir (pcred->homedir) < 0)
-+ if (chroot (pcred->rootdir) < 0)
- {
- reply (550, "Can't change root.");
- goto bad;
- }
-+ if (chdir (pcred->homedir) < 0)
-+ {
-+ reply(550, "Can't access home directory.");
-+ goto bad;
-+ }
- }
-
- if (seteuid ((uid_t) pcred->uid) < 0)
-@@ -862,7 +886,7 @@
- char *remotehost = pcred->remotehost;
- int atype = pcred->auth_type;
-
-- seteuid ((uid_t) 0);
-+ seteuid (getuid ());
- if (pcred->logged_in)
- {
- logwtmp_keep_open (ttyline, "", "");
-@@ -972,7 +996,13 @@
-
- if (cmd == 0)
- {
-+#ifdef __CYGWIN__
-+ if (type != TYPE_A)
-+ fin = fopen (name, "rb"), closefunc = fclose;
-+ else
-+#else
- fin = fopen (name, "r"), closefunc = fclose;
-+#endif /* __CYGWIN__ */
- st.st_size = 0;
- }
- else
-@@ -1059,6 +1089,13 @@
- FILE *fout, *din;
- struct stat st;
- int (*closefunc) (FILE *);
-+ char nmode[8];
-+
-+ strcpy (nmode, mode);
-+#ifdef __CYGWIN__
-+ if (type != TYPE_A)
-+ strcat (nmode, "b");
-+#endif
-
- if (unique && stat (name, &st) == 0)
- {
-@@ -1074,8 +1111,16 @@
- }
-
- if (restart_point)
-- mode = "r+";
-- fout = fopen (name, mode);
-+ {
-+#ifdef __CYGWIN__
-+ if (type != TYPE_A)
-+ mode = "rb+";
-+ else
-+#endif
-+ mode = "r+";
-+ strcpy (nmode, mode);
-+ }
-+ fout = fopen (name, nmode);
- closefunc = fclose;
- if (fout == NULL || fstat (fileno (fout), &st) < 0)
- {
-@@ -1151,7 +1196,7 @@
-
- if (data >= 0)
- return fdopen (data, mode);
-- seteuid ((uid_t) 0);
-+ seteuid (getuid ());
- s = socket (ctrl_addr.ss_family, SOCK_STREAM, 0);
- if (s < 0)
- goto bad;
-@@ -1414,7 +1459,14 @@
- len = filesize;
- do
- {
-+#ifdef __CYGWIN__
-+ cnt = write (netfd, bp,
-+ (len < LARGE_TRANSFER_BLOCKSIZE ?
-+ len : LARGE_TRANSFER_BLOCKSIZE));
-+#else
- cnt = write (netfd, bp, len);
-+#endif /* __CYGWIN__ */
-+
- len -= cnt;
- bp += cnt;
- if (cnt > 0)
-@@ -1439,6 +1491,9 @@
- syslog (LOG_DEBUG, "Starting at position %jd.", curpos);
- }
-
-+ if (blksize <= 0)
-+ blksize = LARGE_TRANSFER_BLOCKSIZE;
-+
- buf = malloc ((u_int) blksize);
- if (buf == NULL)
- {
-@@ -1978,7 +2033,7 @@
- else /* !AF_INET6 */
- ((struct sockaddr_in *) &pasv_addr)->sin_port = 0;
-
-- seteuid ((uid_t) 0);
-+ seteuid (getuid ());
- if (bind (pdata, (struct sockaddr *) &pasv_addr, pasv_addrlen) < 0)
- {
- if (seteuid ((uid_t) cred.uid))
-diff -Naur inetutils-1.9.2-orig/ftpd/server_mode.c inetutils-1.9.2/ftpd/server_mode.c
---- inetutils-1.9.2-orig/ftpd/server_mode.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/ftpd/server_mode.c 2014-12-12 11:55:12.478800000 +0300
-@@ -58,8 +58,14 @@
- extern int hosts_ctl (char *, char *, char *, char *);
- # endif
-
-+#ifdef __CYGWIN__
-+/* provided by library (e.g. extern, here) on cygwin */
-+extern int allow_severity; /* set value in main() */
-+extern int deny_severity; /* set value in main() */
-+#else
- int allow_severity = LOG_INFO;
- int deny_severity = LOG_NOTICE;
-+#endif
-
- static int
- check_host (struct sockaddr *sa, socklen_t len)
diff --git a/inetutils/15-syslogd.patch b/inetutils/15-syslogd.patch
deleted file mode 100644
index d0733156..00000000
--- a/inetutils/15-syslogd.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -durNp inetutils-1.9.4.orig/man/syslogd.8 inetutils-1.9.4/man/syslogd.8
---- inetutils-1.9.4.orig/man/syslogd.8 2015-05-12 20:17:12.000000000 +0800
-+++ inetutils-1.9.4/man/syslogd.8 2017-05-14 21:25:31.093750000 +0800
-@@ -30,6 +30,14 @@ print debug information (implies \fB\-\-
- override configuration directory (default:
- \fI\,/usr/local/etc/syslog.d\/\fP)
- .TP
-+\fB\-D\fR, \fB\-\-no\-daemonize\fR
-+This is a synonym for \fB\-\-no\-detach\fR, and is provided for
-+backwards compatibility with previous Cygwin ports. This flag
-+(or its synonym) is necessary when installing syslogd as service
-+started from cygrunsrv. The usual way to +install syslogd as
-+service is to run the syslogd-config script. See
-+/usr/share/doc/Cygwin/inetutils.README for more information.
-+.TP
- \fB\-f\fR, \fB\-\-rcfile\fR=\fI\,FILE\/\fR
- override configuration file (default:
- \fI\,/usr/local/etc/syslog.conf\/\fP)
-diff -durNp inetutils-1.9.4.orig/src/syslogd.c inetutils-1.9.4/src/syslogd.c
---- inetutils-1.9.4.orig/src/syslogd.c 2015-05-12 20:13:25.000000000 +0800
-+++ inetutils-1.9.4/src/syslogd.c 2017-05-14 21:27:45.562500000 +0800
-@@ -348,6 +348,7 @@ static struct argp_option argp_options[]
- {"mark", 'm', "INTVL", 0, "specify timestamp interval in minutes"
- " (0 for no timestamping)", GRP+1},
- {"no-detach", 'n', NULL, 0, "do not enter daemon mode", GRP+1},
-+ {"no-daemonize", 'D', NULL, 0, "Synonym for -n", GRP+1},
- {"no-forward", OPT_NO_FORWARD, NULL, 0, "do not forward any messages "
- "(overrides --hop)", GRP+1},
- #ifdef PATH_KLOG
-@@ -432,6 +433,7 @@ parse_opt (int key, char *arg, struct ar
- break;
-
- case 'n':
-+ case 'D':
- NoDetach = 1;
- break;
-
-@@ -1108,7 +1110,11 @@ printsys (const char *msg)
- char *lp, *q, line[MAXLINE + 1];
- const char *p;
-
-+#ifdef __CYGWIN__
-+ strcpy (line, "kernel: ");
-+#else
- strcpy (line, "vmunix: ");
-+#endif
- lp = line + strlen (line);
- for (p = msg; *p != '\0';)
- {
diff --git a/inetutils/16-talk.patch b/inetutils/16-talk.patch
deleted file mode 100644
index fcd21627..00000000
--- a/inetutils/16-talk.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-diff -Naur inetutils-1.9.2-orig/talk/ctl.c inetutils-1.9.2/talk/ctl.c
---- inetutils-1.9.2-orig/talk/ctl.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talk/ctl.c 2014-12-12 11:55:13.492800000 +0300
-@@ -57,6 +57,13 @@
-
- #include
- #include
-+#ifdef HAVE_OSOCKADDR_H
-+# include
-+#else
-+# ifndef HAVE_STRUCT_OSOCKADDR
-+# include
-+# endif
-+#endif
- #include
- #include
- #include "talk.h"
-diff -Naur inetutils-1.9.2-orig/talk/ctl_transact.c inetutils-1.9.2/talk/ctl_transact.c
---- inetutils-1.9.2-orig/talk/ctl_transact.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talk/ctl_transact.c 2014-12-12 11:55:13.492800000 +0300
-@@ -55,6 +55,13 @@
- #include
- #include
- #include
-+#ifdef HAVE_OSOCKADDR_H
-+# include
-+#else
-+# ifndef HAVE_STRUCT_OSOCKADDR
-+# include
-+# endif
-+#endif
- #include
- #include
- #include "talk_ctl.h"
-diff -Naur inetutils-1.9.2-orig/talk/display.c inetutils-1.9.2/talk/display.c
---- inetutils-1.9.2-orig/talk/display.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talk/display.c 2014-12-12 11:55:13.492800000 +0300
-@@ -125,7 +125,11 @@
-
- for (i = 0; i < size; i++)
- {
-+#ifdef __CYGWIN__
-+ if ((*text == '\n') || (*text == '\r'))
-+#else
- if (*text == '\n')
-+#endif
- {
- xscroll (win, 0);
- text++;
-diff -Naur inetutils-1.9.2-orig/talk/get_addrs.c inetutils-1.9.2/talk/get_addrs.c
---- inetutils-1.9.2-orig/talk/get_addrs.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talk/get_addrs.c 2014-12-12 11:55:13.492800000 +0300
-@@ -55,6 +55,13 @@
- #include
- #include
- #include
-+#ifdef HAVE_OSOCKADDR_H
-+# include
-+#else
-+# ifndef HAVE_STRUCT_OSOCKADDR
-+# include
-+# endif
-+#endif
- #include
- #include
- #include
-diff -Naur inetutils-1.9.2-orig/talk/get_names.c inetutils-1.9.2/talk/get_names.c
---- inetutils-1.9.2-orig/talk/get_names.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talk/get_names.c 2014-12-12 11:55:13.492800000 +0300
-@@ -55,6 +55,13 @@
- #include
- #include
- #include
-+#ifdef HAVE_OSOCKADDR_H
-+# include
-+#else
-+# ifndef HAVE_STRUCT_OSOCKADDR
-+# include
-+# endif
-+#endif
- #include
- #include
- #include
-diff -Naur inetutils-1.9.2-orig/talk/invite.c inetutils-1.9.2/talk/invite.c
---- inetutils-1.9.2-orig/talk/invite.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talk/invite.c 2014-12-12 11:55:13.492800000 +0300
-@@ -57,6 +57,13 @@
- #include
- #include
- #include
-+#ifdef HAVE_OSOCKADDR_H
-+# include
-+#else
-+# ifndef HAVE_STRUCT_OSOCKADDR
-+# include
-+# endif
-+#endif
- #include
- #include
- #include
-diff -Naur inetutils-1.9.2-orig/talk/io.c inetutils-1.9.2/talk/io.c
---- inetutils-1.9.2-orig/talk/io.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talk/io.c 2014-12-12 11:55:13.508400000 +0300
-@@ -69,6 +69,10 @@
- #include
- #include "talk.h"
-
-+#ifdef __CYGWIN__
-+#include
-+#endif
-+
- #define A_LONG_TIME 10000000
-
- /*
-diff -Naur inetutils-1.9.2-orig/talk/look_up.c inetutils-1.9.2/talk/look_up.c
---- inetutils-1.9.2-orig/talk/look_up.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talk/look_up.c 2014-12-12 11:55:13.508400000 +0300
-@@ -54,6 +54,13 @@
- #include
- #include
- #include
-+#ifdef HAVE_OSOCKADDR_H
-+# include
-+#else
-+# ifndef HAVE_STRUCT_OSOCKADDR
-+# include
-+# endif
-+#endif
- #include
- #include
- #include
diff --git a/inetutils/17-talkd.patch b/inetutils/17-talkd.patch
deleted file mode 100644
index bd4888f0..00000000
--- a/inetutils/17-talkd.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-diff -Naur inetutils-1.9.2-orig/talkd/acl.c inetutils-1.9.2/talkd/acl.c
---- inetutils-1.9.2-orig/talkd/acl.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talkd/acl.c 2014-12-12 11:55:13.867200000 +0300
-@@ -332,6 +332,28 @@
- level = -1; /* Enforce a deny rule. */
- }
-
-+ /* existence check */
-+ if (access (filename, F_OK) != 0)
-+ {
-+ switch (errno)
-+ {
-+ case ENOENT:
-+ /* no error message if user doesn't have a .talkrc file */
-+ break;
-+ default:
-+ syslog (LOG_ERR, "con't open config file %s: %m", filename);
-+ break;
-+ }
-+ return NULL;
-+ }
-+
-+ /* read check */
-+ if (access (filename, R_OK) != 0)
-+ {
-+ syslog (LOG_ERR, "con't open config file %s: %m", filename);
-+ return NULL;
-+ }
-+
- mark = acl_tail;
- read_acl (filename, level);
- free (filename);
-diff -Naur inetutils-1.9.2-orig/talkd/announce.c inetutils-1.9.2/talkd/announce.c
---- inetutils-1.9.2-orig/talkd/announce.c 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talkd/announce.c 2014-12-12 11:55:13.867200000 +0300
-@@ -88,7 +88,7 @@
- }
-
- static int
--print_mesg (char *tty, CTL_MSG * request, char *remote_machine)
-+print_mesg (char *tty, CTL_MSG * request, const char *remote_machine)
- {
- time_t t;
- LINE ln;
-@@ -125,7 +125,7 @@
- /* See if the user is accepting messages. If so, announce that
- a talk is requested. */
- int
--announce (CTL_MSG * request, char *remote_machine)
-+announce (CTL_MSG * request, const char *remote_machine)
- {
- char *ttypath;
- int len;
-diff -Naur inetutils-1.9.2-orig/talkd/intalkd.h inetutils-1.9.2/talkd/intalkd.h
---- inetutils-1.9.2-orig/talkd/intalkd.h 2013-09-26 12:36:38.000000000 +0300
-+++ inetutils-1.9.2/talkd/intalkd.h 2014-12-12 11:55:13.867200000 +0300
-@@ -22,6 +22,13 @@
- #include
- #include
- #include
-+#ifdef HAVE_OSOCKADDR_H
-+# include
-+#else
-+# ifndef HAVE_STRUCT_OSOCKADDR
-+# include
-+# endif
-+#endif
- #include
- #include
- #include
-@@ -65,4 +72,4 @@
- extern int new_id (void);
- extern void read_acl (char *config_file, int system);
- extern int acl_match (CTL_MSG * msg, struct sockaddr_in *sa_in);
--extern int announce (CTL_MSG * request, char *remote_machine);
-+extern int announce (CTL_MSG * request, const char *remote_machine);
-diff -Naur inetutils-1.9.2-orig/talkd/process.c inetutils-1.9.2/talkd/process.c
---- inetutils-1.9.2-orig/talkd/process.c 2013-10-29 13:38:56.000000000 +0300
-+++ inetutils-1.9.2/talkd/process.c 2014-12-12 11:55:13.867200000 +0300
-@@ -236,12 +236,14 @@
-
- if (stat (ftty, &statb) == 0)
- {
-+#ifndef __CYGWIN__
- if (!(statb.st_mode & S_IWGRP))
- {
- if (status != SUCCESS)
- status = PERMISSION_DENIED;
- continue;
- }
-+#endif
- if (statb.st_atime > last_time)
- {
- last_time = statb.st_atime;
diff --git a/inetutils/PKGBUILD b/inetutils/PKGBUILD
index 8e29264d..7cbba1c5 100644
--- a/inetutils/PKGBUILD
+++ b/inetutils/PKGBUILD
@@ -1,84 +1,57 @@
# Maintainer: Martell Malone
pkgname=inetutils
-pkgver=1.9.4
-pkgrel=5
+pkgver=2.4
+pkgrel=1
pkgdesc="A collection of common network programs."
arch=('i686' 'x86_64')
url="https://www.gnu.org/software/inetutils/"
-license=('GPL3')
+license=('spdx:GPL-3.0-or-later')
depends=('gcc-libs' 'libintl' 'libcrypt' 'libreadline' 'ncurses')
makedepends=('gettext-devel' 'libcrypt-devel' 'libreadline-devel' 'ncurses-devel' 'autotools' 'gcc' 'tftp-hpa' 'help2man')
options=('!emptydirs')
-install=inetutils.install
source=(https://ftp.gnu.org/gnu/inetutils/${pkgname}-${pkgver}.tar.xz
- 01-buildsystem-updates.patch
- 07-other-buildsys-updates.patch
- 08-libinetutils.patch
- 09-inetd.patch
- 11-telnet.patch
- 13-ftp.patch
- 14-ftpd.patch
- 15-syslogd.patch
- 16-talk.patch
- 17-talkd.patch
- inetutils-1.9.4-1.src.patch
+ inetutils-2.4-1.src.patch
+ icmp6.h
osockaddr.h
- talkd.h
- tftp.h
- inetutils-1.9.4-update-gnulib.patch)
-sha256sums=('849d96f136effdef69548a940e3e0ec0624fc0c81265296987986a0dd36ded37'
- 'e88387223e1559bc4919dc8963149ecdb6ee8d812bdd07afa0342bd35de4fd65'
- 'ba3131b7825bb1b23280515a104391f69ae00f4e0caf285b2487080e008a979d'
- 'bd5308733b610233b23af51760d849f53aae038253ead1430193be03b89c0e45'
- 'b760c8adf10fa630101370a7cbb1c602d4ee10f18378dbffa98d1c1fbc6653c3'
- '2751a47380c59d0d99a4d5c9eea0cf14ef9f40469a33fa32af1b12c3cac1d90d'
- '277491be3779b4993f3e1a200c8fa899201c4630e18e62fd268556d4c8e1a3c5'
- '90bc197ed42fe646b44b40fa68c0b76c1baf82daa047bd9e63758513f4e0e6f3'
- '09f4b2375eb350613aea8c2ae6726bf3df6f7d4cc737f3ea7473e6d2e0ba0257'
- '4260c0a18a7a16e4485aeb7cd8acc998cbb8e4c29d4b8d6bcbc535d86c79452c'
- 'd749005e6733f3ab7912a1c5952713499b76155386c2bfa9235a3e02dbce4fd8'
- '66fa288a99beed6d7b885b980d06c8b13ce43f5c34461e515875f8705fbb84c1'
+ talkd.h)
+sha256sums=('1789d6b1b1a57dfe2a7ab7b533ee9f5dfd9cbf5b59bb1bb3c2612ed08d0f68b2'
+ 'f70555d075a9c02cbc9b3580d4401b27a3069febac86152da06a76ee4da91df3'
+ 'efad23dea555319c503c0b6ed7ec6b46c8faa48c138c763749686fc66e98c4b8'
'e19596afff3b2ed163cf1a5c8a8d034208f9f996ace1ac76fd877a2d16aa448d'
- '5ad3115e95be02f1d0467ec13750f2d9096c7dfd6cf723a775e8718954e58018'
- 'f486d5235c54c03af270c85a9c519e21315534412d0787e159116e132f1b47da'
- '22d6de583f4313a37eec070fb2a15bac576b95d62acc4ad759ec25cb2133dc6c')
+ 'b9e2401b0756c9bebcb0b0835d3c8f218198a121013f4990637ed1b9af0c72fd')
prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
+
+ # from cygwin
mkdir -p headers/protocols
cp ${srcdir}/osockaddr.h headers/protocols/osockaddr.h
cp ${srcdir}/talkd.h headers/protocols/talkd.h
- # mkdir -p headers/arpa
- # cp ${srcdir}/tftp.h headers/arpa/tftp.h
-
- patch -p1 -i ${srcdir}/01-buildsystem-updates.patch
- patch -p1 -i ${srcdir}/07-other-buildsys-updates.patch
- patch -p1 -i ${srcdir}/08-libinetutils.patch
- patch -p1 -i ${srcdir}/09-inetd.patch
- patch -p1 -i ${srcdir}/11-telnet.patch
- patch -p1 -i ${srcdir}/13-ftp.patch
- patch -p1 -i ${srcdir}/14-ftpd.patch
- patch -p1 -i ${srcdir}/15-syslogd.patch
- patch -p1 -i ${srcdir}/16-talk.patch
- patch -p1 -i ${srcdir}/17-talkd.patch
- patch -p1 -i ${srcdir}/inetutils-1.9.4-1.src.patch
- patch -p1 -i ${srcdir}/inetutils-1.9.4-update-gnulib.patch
+ mkdir -p headers/netinet
+ cp ${srcdir}/icmp6.h headers/netinet/icmp6.h
+ patch -p2 -i ${srcdir}/inetutils-2.4-1.src.patch
autoreconf -fiv
}
build() {
- CPPFLAGS+=" -I${srcdir}/${pkgname}-${pkgver}/headers"
cd ${srcdir}/${pkgname}-${pkgver}
- cat > config.cache << EOF
-gl_cv_func_getcwd_path_max=yes
-ac_cv_func_mmap_fixed_mapped=no
-EOF
+ mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
+
+ # copied from cygwin
+ export ac_cv_func_mmap_fixed_mapped=no
+
+ # the cygwin patch adds talkd.h, but not in a way configure can detect it
+ # so force it here
+ export ac_cv_header_protocols_talkd_h=yes
+
+ # this isn't set in ./configure but needed to get a valid Makefile -- don't ask me...
+ export EXEEXT=.exe
local CYGWIN_CHOST="${CHOST/-msys/-cygwin}"
- ./configure --prefix=/usr \
+ ../${pkgbase}-${pkgver}/configure --prefix=/usr \
--build=${CYGWIN_CHOST} \
--libexec=/usr/bin \
--localstatedir=/var \
@@ -102,13 +75,13 @@ EOF
--disable-inetd --disable-whois \
--disable-uucpd --disable-ifconfig \
--enable-dnsdomainname \
- --disable-traceroute \
- --cache-file=config.cache
+ --disable-traceroute
make
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd "${srcdir}/build-${MSYSTEM}"
+
make DESTDIR="${pkgdir}" install
}
diff --git a/inetutils/icmp6.h b/inetutils/icmp6.h
new file mode 100644
index 00000000..1b2f26a1
--- /dev/null
+++ b/inetutils/icmp6.h
@@ -0,0 +1,345 @@
+/* Copyright (C) 1991-1997,2000,2006,2009 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _NETINET_ICMP6_H
+#define _NETINET_ICMP6_H 1
+
+#include
+#include
+#include
+#include
+
+#define ICMP6_FILTER 1
+
+#define ICMP6_FILTER_BLOCK 1
+#define ICMP6_FILTER_PASS 2
+#define ICMP6_FILTER_BLOCKOTHERS 3
+#define ICMP6_FILTER_PASSONLY 4
+
+struct icmp6_filter
+ {
+ uint32_t icmp6_filt[8];
+ };
+
+struct icmp6_hdr
+ {
+ uint8_t icmp6_type; /* type field */
+ uint8_t icmp6_code; /* code field */
+ uint16_t icmp6_cksum; /* checksum field */
+ union
+ {
+ uint32_t icmp6_un_data32[1]; /* type-specific field */
+ uint16_t icmp6_un_data16[2]; /* type-specific field */
+ uint8_t icmp6_un_data8[4]; /* type-specific field */
+ } icmp6_dataun;
+ };
+
+#define icmp6_data32 icmp6_dataun.icmp6_un_data32
+#define icmp6_data16 icmp6_dataun.icmp6_un_data16
+#define icmp6_data8 icmp6_dataun.icmp6_un_data8
+#define icmp6_pptr icmp6_data32[0] /* parameter prob */
+#define icmp6_mtu icmp6_data32[0] /* packet too big */
+#define icmp6_id icmp6_data16[0] /* echo request/reply */
+#define icmp6_seq icmp6_data16[1] /* echo request/reply */
+#define icmp6_maxdelay icmp6_data16[0] /* mcast group membership */
+
+#define ICMP6_DST_UNREACH 1
+#define ICMP6_PACKET_TOO_BIG 2
+#define ICMP6_TIME_EXCEEDED 3
+#define ICMP6_PARAM_PROB 4
+
+#define ICMP6_INFOMSG_MASK 0x80 /* all informational messages */
+
+#define ICMP6_ECHO_REQUEST 128
+#define ICMP6_ECHO_REPLY 129
+#define MLD_LISTENER_QUERY 130
+#define MLD_LISTENER_REPORT 131
+#define MLD_LISTENER_REDUCTION 132
+
+#define ICMP6_DST_UNREACH_NOROUTE 0 /* no route to destination */
+#define ICMP6_DST_UNREACH_ADMIN 1 /* communication with destination */
+ /* administratively prohibited */
+#define ICMP6_DST_UNREACH_BEYONDSCOPE 2 /* beyond scope of source address */
+#define ICMP6_DST_UNREACH_ADDR 3 /* address unreachable */
+#define ICMP6_DST_UNREACH_NOPORT 4 /* bad port */
+
+#define ICMP6_TIME_EXCEED_TRANSIT 0 /* Hop Limit == 0 in transit */
+#define ICMP6_TIME_EXCEED_REASSEMBLY 1 /* Reassembly time out */
+
+#define ICMP6_PARAMPROB_HEADER 0 /* erroneous header field */
+#define ICMP6_PARAMPROB_NEXTHEADER 1 /* unrecognized Next Header */
+#define ICMP6_PARAMPROB_OPTION 2 /* unrecognized IPv6 option */
+
+#define ICMP6_FILTER_WILLPASS(type, filterp) \
+ ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0)
+
+#define ICMP6_FILTER_WILLBLOCK(type, filterp) \
+ ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0)
+
+#define ICMP6_FILTER_SETPASS(type, filterp) \
+ ((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31))))
+
+#define ICMP6_FILTER_SETBLOCK(type, filterp) \
+ ((((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31))))
+
+#define ICMP6_FILTER_SETPASSALL(filterp) \
+ memset (filterp, 0, sizeof (struct icmp6_filter));
+
+#define ICMP6_FILTER_SETBLOCKALL(filterp) \
+ memset (filterp, 0xFF, sizeof (struct icmp6_filter));
+
+#define ND_ROUTER_SOLICIT 133
+#define ND_ROUTER_ADVERT 134
+#define ND_NEIGHBOR_SOLICIT 135
+#define ND_NEIGHBOR_ADVERT 136
+#define ND_REDIRECT 137
+
+struct nd_router_solicit /* router solicitation */
+ {
+ struct icmp6_hdr nd_rs_hdr;
+ /* could be followed by options */
+ };
+
+#define nd_rs_type nd_rs_hdr.icmp6_type
+#define nd_rs_code nd_rs_hdr.icmp6_code
+#define nd_rs_cksum nd_rs_hdr.icmp6_cksum
+#define nd_rs_reserved nd_rs_hdr.icmp6_data32[0]
+
+struct nd_router_advert /* router advertisement */
+ {
+ struct icmp6_hdr nd_ra_hdr;
+ uint32_t nd_ra_reachable; /* reachable time */
+ uint32_t nd_ra_retransmit; /* retransmit timer */
+ /* could be followed by options */
+ };
+
+#define nd_ra_type nd_ra_hdr.icmp6_type
+#define nd_ra_code nd_ra_hdr.icmp6_code
+#define nd_ra_cksum nd_ra_hdr.icmp6_cksum
+#define nd_ra_curhoplimit nd_ra_hdr.icmp6_data8[0]
+#define nd_ra_flags_reserved nd_ra_hdr.icmp6_data8[1]
+#define ND_RA_FLAG_MANAGED 0x80
+#define ND_RA_FLAG_OTHER 0x40
+#define ND_RA_FLAG_HOME_AGENT 0x20
+#define nd_ra_router_lifetime nd_ra_hdr.icmp6_data16[1]
+
+struct nd_neighbor_solicit /* neighbor solicitation */
+ {
+ struct icmp6_hdr nd_ns_hdr;
+ struct in6_addr nd_ns_target; /* target address */
+ /* could be followed by options */
+ };
+
+#define nd_ns_type nd_ns_hdr.icmp6_type
+#define nd_ns_code nd_ns_hdr.icmp6_code
+#define nd_ns_cksum nd_ns_hdr.icmp6_cksum
+#define nd_ns_reserved nd_ns_hdr.icmp6_data32[0]
+
+struct nd_neighbor_advert /* neighbor advertisement */
+ {
+ struct icmp6_hdr nd_na_hdr;
+ struct in6_addr nd_na_target; /* target address */
+ /* could be followed by options */
+ };
+
+#define nd_na_type nd_na_hdr.icmp6_type
+#define nd_na_code nd_na_hdr.icmp6_code
+#define nd_na_cksum nd_na_hdr.icmp6_cksum
+#define nd_na_flags_reserved nd_na_hdr.icmp6_data32[0]
+#if BYTE_ORDER == BIG_ENDIAN
+#define ND_NA_FLAG_ROUTER 0x80000000
+#define ND_NA_FLAG_SOLICITED 0x40000000
+#define ND_NA_FLAG_OVERRIDE 0x20000000
+#else /* BYTE_ORDER == LITTLE_ENDIAN */
+#define ND_NA_FLAG_ROUTER 0x00000080
+#define ND_NA_FLAG_SOLICITED 0x00000040
+#define ND_NA_FLAG_OVERRIDE 0x00000020
+#endif
+
+struct nd_redirect /* redirect */
+ {
+ struct icmp6_hdr nd_rd_hdr;
+ struct in6_addr nd_rd_target; /* target address */
+ struct in6_addr nd_rd_dst; /* destination address */
+ /* could be followed by options */
+ };
+
+#define nd_rd_type nd_rd_hdr.icmp6_type
+#define nd_rd_code nd_rd_hdr.icmp6_code
+#define nd_rd_cksum nd_rd_hdr.icmp6_cksum
+#define nd_rd_reserved nd_rd_hdr.icmp6_data32[0]
+
+struct nd_opt_hdr /* Neighbor discovery option header */
+ {
+ uint8_t nd_opt_type;
+ uint8_t nd_opt_len; /* in units of 8 octets */
+ /* followed by option specific data */
+ };
+
+#define ND_OPT_SOURCE_LINKADDR 1
+#define ND_OPT_TARGET_LINKADDR 2
+#define ND_OPT_PREFIX_INFORMATION 3
+#define ND_OPT_REDIRECTED_HEADER 4
+#define ND_OPT_MTU 5
+#define ND_OPT_RTR_ADV_INTERVAL 7
+#define ND_OPT_HOME_AGENT_INFO 8
+
+struct nd_opt_prefix_info /* prefix information */
+ {
+ uint8_t nd_opt_pi_type;
+ uint8_t nd_opt_pi_len;
+ uint8_t nd_opt_pi_prefix_len;
+ uint8_t nd_opt_pi_flags_reserved;
+ uint32_t nd_opt_pi_valid_time;
+ uint32_t nd_opt_pi_preferred_time;
+ uint32_t nd_opt_pi_reserved2;
+ struct in6_addr nd_opt_pi_prefix;
+ };
+
+#define ND_OPT_PI_FLAG_ONLINK 0x80
+#define ND_OPT_PI_FLAG_AUTO 0x40
+#define ND_OPT_PI_FLAG_RADDR 0x20
+
+struct nd_opt_rd_hdr /* redirected header */
+ {
+ uint8_t nd_opt_rh_type;
+ uint8_t nd_opt_rh_len;
+ uint16_t nd_opt_rh_reserved1;
+ uint32_t nd_opt_rh_reserved2;
+ /* followed by IP header and data */
+ };
+
+struct nd_opt_mtu /* MTU option */
+ {
+ uint8_t nd_opt_mtu_type;
+ uint8_t nd_opt_mtu_len;
+ uint16_t nd_opt_mtu_reserved;
+ uint32_t nd_opt_mtu_mtu;
+ };
+
+struct mld_hdr
+ {
+ struct icmp6_hdr mld_icmp6_hdr;
+ struct in6_addr mld_addr; /* multicast address */
+ };
+
+#define mld_type mld_icmp6_hdr.icmp6_type
+#define mld_code mld_icmp6_hdr.icmp6_code
+#define mld_cksum mld_icmp6_hdr.icmp6_cksum
+#define mld_maxdelay mld_icmp6_hdr.icmp6_data16[0]
+#define mld_reserved mld_icmp6_hdr.icmp6_data16[1]
+
+#define ICMP6_ROUTER_RENUMBERING 138
+
+struct icmp6_router_renum /* router renumbering header */
+ {
+ struct icmp6_hdr rr_hdr;
+ uint8_t rr_segnum;
+ uint8_t rr_flags;
+ uint16_t rr_maxdelay;
+ uint32_t rr_reserved;
+ };
+
+#define rr_type rr_hdr.icmp6_type
+#define rr_code rr_hdr.icmp6_code
+#define rr_cksum rr_hdr.icmp6_cksum
+#define rr_seqnum rr_hdr.icmp6_data32[0]
+
+/* Router renumbering flags */
+#define ICMP6_RR_FLAGS_TEST 0x80
+#define ICMP6_RR_FLAGS_REQRESULT 0x40
+#define ICMP6_RR_FLAGS_FORCEAPPLY 0x20
+#define ICMP6_RR_FLAGS_SPECSITE 0x10
+#define ICMP6_RR_FLAGS_PREVDONE 0x08
+
+struct rr_pco_match /* match prefix part */
+ {
+ uint8_t rpm_code;
+ uint8_t rpm_len;
+ uint8_t rpm_ordinal;
+ uint8_t rpm_matchlen;
+ uint8_t rpm_minlen;
+ uint8_t rpm_maxlen;
+ uint16_t rpm_reserved;
+ struct in6_addr rpm_prefix;
+ };
+
+/* PCO code values */
+#define RPM_PCO_ADD 1
+#define RPM_PCO_CHANGE 2
+#define RPM_PCO_SETGLOBAL 3
+
+struct rr_pco_use /* use prefix part */
+ {
+ uint8_t rpu_uselen;
+ uint8_t rpu_keeplen;
+ uint8_t rpu_ramask;
+ uint8_t rpu_raflags;
+ uint32_t rpu_vltime;
+ uint32_t rpu_pltime;
+ uint32_t rpu_flags;
+ struct in6_addr rpu_prefix;
+ };
+
+#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK 0x20
+#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO 0x10
+
+#if BYTE_ORDER == BIG_ENDIAN
+# define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80000000
+# define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40000000
+#elif BYTE_ORDER == LITTLE_ENDIAN
+# define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80
+# define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40
+#endif
+
+struct rr_result /* router renumbering result message */
+ {
+ uint16_t rrr_flags;
+ uint8_t rrr_ordinal;
+ uint8_t rrr_matchedlen;
+ uint32_t rrr_ifid;
+ struct in6_addr rrr_prefix;
+ };
+
+#if BYTE_ORDER == BIG_ENDIAN
+# define ICMP6_RR_RESULT_FLAGS_OOB 0x0002
+# define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0001
+#elif BYTE_ORDER == LITTLE_ENDIAN
+# define ICMP6_RR_RESULT_FLAGS_OOB 0x0200
+# define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0100
+#endif
+
+/* Mobile IPv6 extension: Advertisement Interval. */
+struct nd_opt_adv_interval
+ {
+ uint8_t nd_opt_adv_interval_type;
+ uint8_t nd_opt_adv_interval_len;
+ uint16_t nd_opt_adv_interval_reserved;
+ uint32_t nd_opt_adv_interval_ival;
+ };
+
+/* Mobile IPv6 extension: Home Agent Info. */
+struct nd_opt_home_agent_info
+ {
+ uint8_t nd_opt_home_agent_info_type;
+ uint8_t nd_opt_home_agent_info_len;
+ uint16_t nd_opt_home_agent_info_reserved;
+ uint16_t nd_opt_home_agent_info_preference;
+ uint16_t nd_opt_home_agent_info_lifetime;
+ };
+
+#endif /* netinet/icmpv6.h */
diff --git a/inetutils/inetutils-1.9.4-1.src.patch b/inetutils/inetutils-1.9.4-1.src.patch
deleted file mode 100644
index fcbe5166..00000000
--- a/inetutils/inetutils-1.9.4-1.src.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -durN inetutils-1.9.4.orig/.version inetutils-1.9.4/.version
---- inetutils-1.9.4.orig/.version 1970-01-01 08:00:00.000000000 +0800
-+++ inetutils-1.9.4/.version 2017-05-14 21:33:59.421875000 +0800
-@@ -0,0 +1 @@
-+1.9.4
-diff -durN inetutils-1.9.4.orig/configure.ac inetutils-1.9.4/configure.ac
---- inetutils-1.9.4.orig/configure.ac 2017-05-14 21:30:40.875000000 +0800
-+++ inetutils-1.9.4/configure.ac 2017-05-14 21:36:54.406250000 +0800
-@@ -230,10 +230,15 @@
- AM_CONDITIONAL([ENABLE_libls], [test "$enable_libls" = yes])
-
- # At least OpenSolaris is missing .
--AC_CHECK_HEADER(protocols/talkd.h, , ,
-+AC_CHECK_HEADER(protocols/osockaddr.h, , ,
- [IU_FLUSHLEFT([#include
- #include ])])
-
-+AC_CHECK_HEADER(protocols/talkd.h, , ,
-+ [IU_FLUSHLEFT([#include
-+ #include
-+ #include ])])
-+
- if test "$ac_cv_header_protocols_talkd_h" = no; then
- AC_MSG_WARN([protocols/talkd.h is not available, not building talk, nor talkd])
- IU_DISABLE_TARGET(talk)
-@@ -611,7 +616,7 @@
- sys/proc.h sys/select.h sys/time.h sys/wait.h \
- sys/resource.h \
- stropts.h tcpd.h utmp.h utmpx.h unistd.h \
-- vis.h osockaddr.h crypt.h], [], [], [
-+ vis.h crypt.h], [], [], [
- #include
- #ifdef HAVE_STDIO_H
- # include
-diff -durN inetutils-1.9.4.orig/libinetutils/daemon.c inetutils-1.9.4/libinetutils/daemon.c
---- inetutils-1.9.4.orig/libinetutils/daemon.c 2017-05-14 21:30:39.781250000 +0800
-+++ inetutils-1.9.4/libinetutils/daemon.c 2017-05-14 21:37:41.578125000 +0800
-@@ -56,6 +56,7 @@
- #include
- #include
- #include
-+#include
- #include
-
- /*
diff --git a/inetutils/inetutils-1.9.4-update-gnulib.patch b/inetutils/inetutils-1.9.4-update-gnulib.patch
deleted file mode 100644
index a3f3281e..00000000
--- a/inetutils/inetutils-1.9.4-update-gnulib.patch
+++ /dev/null
@@ -1,47100 +0,0 @@
-diff -durN inetutils-1.9.4.orig/aclocal.m4 inetutils-1.9.4/aclocal.m4
---- inetutils-1.9.4.orig/aclocal.m4 2015-06-09 15:48:02.000000000 +0800
-+++ inetutils-1.9.4/aclocal.m4 2017-05-15 17:57:43.828125000 +0800
-@@ -1210,6 +1210,17 @@
- AC_SUBST([am__untar])
- ]) # _AM_PROG_TAR
-
-+m4_include([am/check_macro.m4])
-+m4_include([am/check_member.m4])
-+m4_include([am/check_weak_refs.m4])
-+m4_include([am/config_paths.m4])
-+m4_include([am/enable.m4])
-+m4_include([am/flushleft.m4])
-+m4_include([am/krb5.m4])
-+m4_include([am/libcurses.m4])
-+m4_include([am/libidn.m4])
-+m4_include([am/readline.m4])
-+m4_include([am/result.m4])
- m4_include([m4/00gnulib.m4])
- m4_include([m4/absolute-header.m4])
- m4_include([m4/alloca.m4])
-@@ -1217,6 +1228,7 @@
- m4_include([m4/arpa_inet_h.m4])
- m4_include([m4/autobuild.m4])
- m4_include([m4/btowc.m4])
-+m4_include([m4/builtin-expect.m4])
- m4_include([m4/chdir-long.m4])
- m4_include([m4/close.m4])
- m4_include([m4/closedir.m4])
-@@ -1244,6 +1256,7 @@
- m4_include([m4/fdopendir.m4])
- m4_include([m4/filemode.m4])
- m4_include([m4/filenamecat.m4])
-+m4_include([m4/flexmember.m4])
- m4_include([m4/float_h.m4])
- m4_include([m4/fnmatch.m4])
- m4_include([m4/fopen.m4])
-@@ -1263,9 +1276,11 @@
- m4_include([m4/getgroups.m4])
- m4_include([m4/gethostname.m4])
- m4_include([m4/getline.m4])
-+m4_include([m4/getlogin.m4])
- m4_include([m4/getlogin_r.m4])
- m4_include([m4/getopt.m4])
- m4_include([m4/getpass.m4])
-+m4_include([m4/getprogname.m4])
- m4_include([m4/gettext.m4])
- m4_include([m4/gettimeofday.m4])
- m4_include([m4/getugroups.m4])
-@@ -1274,6 +1289,7 @@
- m4_include([m4/glob.m4])
- m4_include([m4/gnulib-common.m4])
- m4_include([m4/gnulib-comp.m4])
-+m4_include([m4/hard-locale.m4])
- m4_include([m4/hostent.m4])
- m4_include([m4/include_next.m4])
- m4_include([m4/inet_ntop.m4])
-@@ -1286,12 +1302,14 @@
- m4_include([m4/lib-ld.m4])
- m4_include([m4/lib-link.m4])
- m4_include([m4/lib-prefix.m4])
-+m4_include([m4/limits-h.m4])
- m4_include([m4/localcharset.m4])
- m4_include([m4/locale-fr.m4])
- m4_include([m4/locale-ja.m4])
- m4_include([m4/locale-zh.m4])
- m4_include([m4/locale_h.m4])
- m4_include([m4/localeconv.m4])
-+m4_include([m4/localtime-buffer.m4])
- m4_include([m4/lock.m4])
- m4_include([m4/longlong.m4])
- m4_include([m4/lseek.m4])
-@@ -1320,7 +1338,6 @@
- m4_include([m4/nocrash.m4])
- m4_include([m4/obstack.m4])
- m4_include([m4/off_t.m4])
--m4_include([m4/onceonly.m4])
- m4_include([m4/open.m4])
- m4_include([m4/openat.m4])
- m4_include([m4/opendir.m4])
-@@ -1330,6 +1347,7 @@
- m4_include([m4/poll_h.m4])
- m4_include([m4/posix_openpt.m4])
- m4_include([m4/printf.m4])
-+m4_include([m4/pthread_rwlock_rdlock.m4])
- m4_include([m4/pty.m4])
- m4_include([m4/pty_h.m4])
- m4_include([m4/rawmemchr.m4])
-@@ -1400,14 +1418,3 @@
- m4_include([m4/xgetcwd.m4])
- m4_include([m4/xsize.m4])
- m4_include([m4/xvasprintf.m4])
--m4_include([am/check_macro.m4])
--m4_include([am/check_member.m4])
--m4_include([am/check_weak_refs.m4])
--m4_include([am/config_paths.m4])
--m4_include([am/enable.m4])
--m4_include([am/flushleft.m4])
--m4_include([am/krb5.m4])
--m4_include([am/libcurses.m4])
--m4_include([am/libidn.m4])
--m4_include([am/readline.m4])
--m4_include([am/result.m4])
-diff -durN inetutils-1.9.4.orig/bootstrap inetutils-1.9.4/bootstrap
---- inetutils-1.9.4.orig/bootstrap 2017-05-15 17:44:05.406250000 +0800
-+++ inetutils-1.9.4/bootstrap 2017-05-15 17:47:10.250000000 +0800
-@@ -1,10 +1,10 @@
- #! /bin/sh
- # Print a version string.
--scriptversion=2013-08-15.22; # UTC
-+scriptversion=2017-01-09.19; # UTC
-
- # Bootstrap this package from checked-out sources.
-
--# Copyright (C) 2003-2013 Free Software Foundation, Inc.
-+# Copyright (C) 2003-2017 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
-@@ -42,6 +42,9 @@
-
- local_gl_dir=gl
-
-+# Honor $PERL, but work even if there is none.
-+PERL="${PERL-perl}"
-+
- me=$0
-
- usage() {
-@@ -209,12 +212,26 @@
- # Use git to update gnulib sources
- use_git=true
-
-+check_exists() {
-+ if test "$1" = "--verbose"; then
-+ ($2 --version /dev/null 2>&1
-+ if test $? -ge 126; then
-+ # If not found, run with diagnostics as one may be
-+ # presented with env variables to set to find the right version
-+ ($2 --version /dev/null 2>&1
-+ fi
-+
-+ test $? -lt 126
-+}
-+
- # find_tool ENVVAR NAMES...
- # -------------------------
- # Search for a required program. Use the value of ENVVAR, if set,
--# otherwise find the first of the NAMES that can be run (i.e.,
--# supports --version). If found, set ENVVAR to the program name,
--# die otherwise.
-+# otherwise find the first of the NAMES that can be run.
-+# If found, set ENVVAR to the program name, die otherwise.
- #
- # FIXME: code duplication, see also gnu-web-doc-update.
- find_tool ()
-@@ -225,7 +242,7 @@
- eval "find_tool_res=\$$find_tool_envvar"
- if test x"$find_tool_res" = x; then
- for i; do
-- if ($i --version /dev/null 2>&1; then
-+ if check_exists $i; then
- find_tool_res=$i
- break
- fi
-@@ -401,28 +418,30 @@
- done
- }
-
--get_version() {
-- app=$1
-+get_version_sed='
-+# Move version to start of line.
-+s/.*[v ]\([0-9]\)/\1/
-
-- $app --version >/dev/null 2>&1 || return 1
-+# Skip lines that do not start with version.
-+/^[0-9]/!d
-
-- $app --version 2>&1 |
-- sed -n '# Move version to start of line.
-- s/.*[v ]\([0-9]\)/\1/
-+# Remove characters after the version.
-+s/[^.a-z0-9-].*//
-
-- # Skip lines that do not start with version.
-- /^[0-9]/!d
-+# The first component must be digits only.
-+s/^\([0-9]*\)[a-z-].*/\1/
-
-- # Remove characters after the version.
-- s/[^.a-z0-9-].*//
-+#the following essentially does s/5.005/5.5/
-+s/\.0*\([1-9]\)/.\1/g
-+p
-+q'
-
-- # The first component must be digits only.
-- s/^\([0-9]*\)[a-z-].*/\1/
-+get_version() {
-+ app=$1
-
-- #the following essentially does s/5.005/5.5/
-- s/\.0*\([1-9]\)/.\1/g
-- p
-- q'
-+ $app --version >/dev/null 2>&1 || { $app --version; return 1; }
-+
-+ $app --version 2>&1 | sed -n "$get_version_sed"
- }
-
- check_versions() {
-@@ -442,6 +461,7 @@
- test "$appvar" = TAR && appvar=AMTAR
- case $appvar in
- GZIP) ;; # Do not use $GZIP: it contains gzip options.
-+ PERL::*) ;; # Keep perl modules as-is
- *) eval "app=\${$appvar-$app}" ;;
- esac
-
-@@ -459,12 +479,22 @@
- ret=1
- continue
- } ;;
-+ # Another check is for perl modules. These can be written as
-+ # e.g. perl::XML::XPath in case of XML::XPath module, etc.
-+ perl::*)
-+ # Extract module name
-+ app="${app#perl::}"
-+ if ! $PERL -m"$app" -e 'exit 0' >/dev/null 2>&1; then
-+ warn_ "Error: perl module '$app' not found"
-+ ret=1
-+ fi
-+ continue
-+ ;;
- esac
- if [ "$req_ver" = "-" ]; then
- # Merely require app to exist; not all prereq apps are well-behaved
- # so we have to rely on $? rather than get_version.
-- $app --version >/dev/null 2>&1 /dev/null 2>/dev/null ; then
-+if $use_git && test -d .git && check_exists git; then
- if git config merge.merge-changelog.driver >/dev/null ; then
- :
-- elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
-+ elif check_exists git-merge-changelog; then
- echo "$0: initializing git-merge-changelog driver"
- git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
- git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
-@@ -587,8 +625,8 @@
- # Note that $use_git is necessarily true in this case.
- if git_modules_config submodule.gnulib.url >/dev/null; then
- echo "$0: getting gnulib files..."
-- git submodule init || exit $?
-- git submodule update || exit $?
-+ git submodule init -- "$gnulib_path" || exit $?
-+ git submodule update -- "$gnulib_path" || exit $?
-
- elif [ ! -d "$gnulib_path" ]; then
- echo "$0: getting gnulib files..."
-@@ -617,13 +655,14 @@
- # This fallback allows at least git 1.5.5.
- if test -f "$gnulib_path"/gnulib-tool; then
- # Since file already exists, assume submodule init already complete.
-- git submodule update || exit $?
-+ git submodule update -- "$gnulib_path" || exit $?
- else
- # Older git can't clone into an empty directory.
- rmdir "$gnulib_path" 2>/dev/null
- git clone --reference "$GNULIB_SRCDIR" \
- "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \
-- && git submodule init && git submodule update \
-+ && git submodule init -- "$gnulib_path" \
-+ && git submodule update -- "$gnulib_path" \
- || exit $?
- fi
- fi
-@@ -751,7 +790,7 @@
- # Leave any existing symlink alone, if it already points to the source,
- # so that broken build tools that care about symlink times
- # aren't confused into doing unnecessary builds. Conversely, if the
-- # existing symlink's time stamp is older than the source, make it afresh,
-+ # existing symlink's timestamp is older than the source, make it afresh,
- # so that broken tools aren't confused into skipping needed builds. See
- # .
- test -h "$dst" &&
-@@ -878,7 +917,8 @@
- esac
- fi
- echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
--$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
-+$gnulib_tool $gnulib_tool_options --import $gnulib_modules \
-+ || die "gnulib-tool failed"
-
- for file in $gnulib_files; do
- symlink_to_dir "$GNULIB_SRCDIR" $file \
-@@ -983,6 +1023,6 @@
- # eval: (add-hook 'write-file-hooks 'time-stamp)
- # time-stamp-start: "scriptversion="
- # time-stamp-format: "%:y-%02m-%02d.%02H"
--# time-stamp-time-zone: "UTC"
-+# time-stamp-time-zone: "UTC0"
- # time-stamp-end: "; # UTC"
- # End:
-diff -durN inetutils-1.9.4.orig/build-aux/announce-gen inetutils-1.9.4/build-aux/announce-gen
---- inetutils-1.9.4.orig/build-aux/announce-gen 2015-05-12 20:39:15.000000000 +0800
-+++ inetutils-1.9.4/build-aux/announce-gen 1970-01-01 08:00:00.000000000 +0800
-@@ -1,557 +0,0 @@
--eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
-- & eval 'exec perl -wS "$0" $argv:q'
-- if 0;
--# Generate a release announcement message.
--
--my $VERSION = '2013-07-09 06:39'; # UTC
--# The definition above must lie within the first 8 lines in order
--# for the Emacs time-stamp write hook (at end) to update it.
--# If you change this file with Emacs, please let the write hook
--# do its job. Otherwise, update this string manually.
--
--# Copyright (C) 2002-2015 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
--# the Free Software Foundation, either version 3 of the License, or
--# (at your option) any later version.
--
--# This program is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY; without even the implied warranty of
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--# GNU General Public License for more details.
--
--# You should have received a copy of the GNU General Public License
--# along with this program. If not, see .
--
--# Written by Jim Meyering
--
--use strict;
--
--use Getopt::Long;
--use POSIX qw(strftime);
--
--(my $ME = $0) =~ s|.*/||;
--
--my %valid_release_types = map {$_ => 1} qw (alpha beta stable);
--my @archive_suffixes = ('tar.gz', 'tar.bz2', 'tar.lzma', 'tar.xz');
--my %digest_classes =
-- (
-- 'md5' => (eval { require Digest::MD5; } and 'Digest::MD5'),
-- 'sha1' => ((eval { require Digest::SHA; } and 'Digest::SHA')
-- or (eval { require Digest::SHA1; } and 'Digest::SHA1'))
-- );
--my $srcdir = '.';
--
--sub usage ($)
--{
-- my ($exit_code) = @_;
-- my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
-- if ($exit_code != 0)
-- {
-- print $STREAM "Try '$ME --help' for more information.\n";
-- }
-- else
-- {
-- my @types = sort keys %valid_release_types;
-- print $STREAM < = C
--
--Compute the sizes of the C<@file> and return them as a hash. Return
--C if one of the computation failed.
--
--=cut
--
--sub sizes (@)
--{
-- my (@file) = @_;
--
-- my $fail = 0;
-- my %res;
-- foreach my $f (@file)
-- {
-- my $cmd = "du -h $f";
-- my $t = `$cmd`;
-- # FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS
-- $@
-- and (warn "command failed: '$cmd'\n"), $fail = 1;
-- chomp $t;
-- $t =~ s/^\s*([\d.]+[MkK]).*/${1}B/;
-- $res{$f} = $t;
-- }
-- return $fail ? undef : %res;
--}
--
--=item C dedicated to the list of <@file>, which
--sizes are stored in C<%size>, and which are available from the C<@url>.
--
--=cut
--
--sub print_locations ($\@\%@)
--{
-- my ($title, $url, $size, @file) = @_;
-- print "Here are the $title:\n";
-- foreach my $url (@{$url})
-- {
-- for my $file (@file)
-- {
-- print " $url/$file";
-- print " (", $$size{$file}, ")"
-- if exists $$size{$file};
-- print "\n";
-- }
-- }
-- print "\n";
--}
--
--=item C.
--
--=cut
--
--sub print_checksums (@)
--{
-- my (@file) = @_;
--
-- print "Here are the MD5 and SHA1 checksums:\n";
-- print "\n";
--
-- foreach my $meth (qw (md5 sha1))
-- {
-- my $class = $digest_classes{$meth} or next;
-- foreach my $f (@file)
-- {
-- open IN, '<', $f
-- or die "$ME: $f: cannot open for reading: $!\n";
-- binmode IN;
-- my $dig = $class->new->addfile(*IN)->hexdigest;
-- close IN;
-- print "$dig $f\n";
-- }
-- }
-- print "\n";
--}
--
--=item C addressing changes
--between versions C<$prev_version> and C<$curr_version>.
--
--=cut
--
--sub print_news_deltas ($$$)
--{
-- my ($news_file, $prev_version, $curr_version) = @_;
--
-- my $news_name = $news_file;
-- $news_name =~ s|^\Q$srcdir\E/||;
--
-- print "\n$news_name\n\n";
--
-- # Print all lines from $news_file, starting with the first one
-- # that mentions $curr_version up to but not including
-- # the first occurrence of $prev_version.
-- my $in_items;
--
-- my $re_prefix = qr/(?:\* )?(?:Noteworthy c|Major c|C)(?i:hanges)/;
--
-- my $found_news;
-- open NEWS, '<', $news_file
-- or die "$ME: $news_file: cannot open for reading: $!\n";
-- while (defined (my $line = ))
-- {
-- if ( ! $in_items)
-- {
-- # Match lines like these:
-- # * Major changes in release 5.0.1:
-- # * Noteworthy changes in release 6.6 (2006-11-22) [stable]
-- $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$curr_version\E(?:[^\d.]|$)/o
-- or next;
-- $in_items = 1;
-- print $line;
-- }
-- else
-- {
-- # This regexp must not match version numbers in NEWS items.
-- # For example, they might well say "introduced in 4.5.5",
-- # and we don't want that to match.
-- $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o
-- and last;
-- print $line;
-- $line =~ /\S/
-- and $found_news = 1;
-- }
-- }
-- close NEWS;
--
-- $in_items
-- or die "$ME: $news_file: no matching lines for '$curr_version'\n";
-- $found_news
-- or die "$ME: $news_file: no news item found for '$curr_version'\n";
--}
--
--sub print_changelog_deltas ($$)
--{
-- my ($package_name, $prev_version) = @_;
--
-- # Print new ChangeLog entries.
--
-- # First find all CVS-controlled ChangeLog files.
-- use File::Find;
-- my @changelog;
-- find ({wanted => sub {$_ eq 'ChangeLog' && -d 'CVS'
-- and push @changelog, $File::Find::name}},
-- '.');
--
-- # If there are no ChangeLog files, we're done.
-- @changelog
-- or return;
-- my %changelog = map {$_ => 1} @changelog;
--
-- # Reorder the list of files so that if there are ChangeLog
-- # files in the specified directories, they're listed first,
-- # in this order:
-- my @dir = qw ( . src lib m4 config doc );
--
-- # A typical @changelog array might look like this:
-- # ./ChangeLog
-- # ./po/ChangeLog
-- # ./m4/ChangeLog
-- # ./lib/ChangeLog
-- # ./doc/ChangeLog
-- # ./config/ChangeLog
-- my @reordered;
-- foreach my $d (@dir)
-- {
-- my $dot_slash = $d eq '.' ? $d : "./$d";
-- my $target = "$dot_slash/ChangeLog";
-- delete $changelog{$target}
-- and push @reordered, $target;
-- }
--
-- # Append any remaining ChangeLog files.
-- push @reordered, sort keys %changelog;
--
-- # Remove leading './'.
-- @reordered = map { s!^\./!!; $_ } @reordered;
--
-- print "\nChangeLog entries:\n\n";
-- # print join ("\n", @reordered), "\n";
--
-- $prev_version =~ s/\./_/g;
-- my $prev_cvs_tag = "\U$package_name\E-$prev_version";
--
-- my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered";
-- open DIFF, '-|', $cmd
-- or die "$ME: cannot run '$cmd': $!\n";
-- # Print two types of lines, making minor changes:
-- # Lines starting with '+++ ', e.g.,
-- # +++ ChangeLog 22 Feb 2003 16:52:51 -0000 1.247
-- # and those starting with '+'.
-- # Don't print the others.
-- my $prev_printed_line_empty = 1;
-- while (defined (my $line = ))
-- {
-- if ($line =~ /^\+\+\+ /)
-- {
-- my $separator = "*"x70 ."\n";
-- $line =~ s///;
-- $line =~ s/\s.*//;
-- $prev_printed_line_empty
-- or print "\n";
-- print $separator, $line, $separator;
-- }
-- elsif ($line =~ /^\+/)
-- {
-- $line =~ s///;
-- print $line;
-- $prev_printed_line_empty = ($line =~ /^$/);
-- }
-- }
-- close DIFF;
--
-- # The exit code should be 1.
-- # Allow in case there are no modified ChangeLog entries.
-- $? == 256 || $? == 128
-- or warn "warning: '$cmd' had unexpected exit code or signal ($?)\n";
--}
--
--sub get_tool_versions ($$)
--{
-- my ($tool_list, $gnulib_version) = @_;
-- @$tool_list
-- or return ();
--
-- my $fail;
-- my @tool_version_pair;
-- foreach my $t (@$tool_list)
-- {
-- if ($t eq 'gnulib')
-- {
-- push @tool_version_pair, ucfirst $t . ' ' . $gnulib_version;
-- next;
-- }
-- # Assume that the last "word" on the first line of
-- # 'tool --version' output is the version string.
-- my ($first_line, undef) = split ("\n", `$t --version`);
-- if ($first_line =~ /.* (\d[\w.-]+)$/)
-- {
-- $t = ucfirst $t;
-- push @tool_version_pair, "$t $1";
-- }
-- else
-- {
-- defined $first_line
-- and $first_line = '';
-- warn "$t: unexpected --version output\n:$first_line";
-- $fail = 1;
-- }
-- }
--
-- $fail
-- and exit 1;
--
-- return @tool_version_pair;
--}
--
--{
-- # Neutralize the locale, so that, for instance, "du" does not
-- # issue "1,2" instead of "1.2", what confuses our regexps.
-- $ENV{LC_ALL} = "C";
--
-- my $mail_headers;
-- my $release_type;
-- my $package_name;
-- my $prev_version;
-- my $curr_version;
-- my $gpg_key_id;
-- my @url_dir_list;
-- my @news_file;
-- my $bootstrap_tools;
-- my $gnulib_version;
-- my $print_checksums_p = 1;
--
-- # Reformat the warnings before displaying them.
-- local $SIG{__WARN__} = sub
-- {
-- my ($msg) = @_;
-- # Warnings from GetOptions.
-- $msg =~ s/Option (\w)/option --$1/;
-- warn "$ME: $msg";
-- };
--
-- GetOptions
-- (
-- 'mail-headers=s' => \$mail_headers,
-- 'release-type=s' => \$release_type,
-- 'package-name=s' => \$package_name,
-- 'previous-version=s' => \$prev_version,
-- 'current-version=s' => \$curr_version,
-- 'gpg-key-id=s' => \$gpg_key_id,
-- 'url-directory=s' => \@url_dir_list,
-- 'news=s' => \@news_file,
-- 'srcdir=s' => \$srcdir,
-- 'bootstrap-tools=s' => \$bootstrap_tools,
-- 'gnulib-version=s' => \$gnulib_version,
-- 'print-checksums!' => \$print_checksums_p,
-- 'archive-suffix=s' => \@archive_suffixes,
--
-- help => sub { usage 0 },
-- version => sub { print "$ME version $VERSION\n"; exit },
-- ) or usage 1;
--
-- my $fail = 0;
-- # Ensure that each required option is specified.
-- $release_type
-- or (warn "release type not specified\n"), $fail = 1;
-- $package_name
-- or (warn "package name not specified\n"), $fail = 1;
-- $prev_version
-- or (warn "previous version string not specified\n"), $fail = 1;
-- $curr_version
-- or (warn "current version string not specified\n"), $fail = 1;
-- $gpg_key_id
-- or (warn "GnuPG key ID not specified\n"), $fail = 1;
-- @url_dir_list
-- or (warn "URL directory name(s) not specified\n"), $fail = 1;
--
-- my @tool_list = split ',', $bootstrap_tools
-- if $bootstrap_tools;
--
-- grep (/^gnulib$/, @tool_list) ^ defined $gnulib_version
-- and (warn "when specifying gnulib as a tool, you must also specify\n"
-- . "--gnulib-version=V, where V is the result of running git describe\n"
-- . "in the gnulib source directory.\n"), $fail = 1;
--
-- !$release_type || exists $valid_release_types{$release_type}
-- or (warn "'$release_type': invalid release type\n"), $fail = 1;
--
-- @ARGV
-- and (warn "too many arguments:\n", join ("\n", @ARGV), "\n"),
-- $fail = 1;
-- $fail
-- and usage 1;
--
-- my $my_distdir = "$package_name-$curr_version";
--
-- my $xd = "$package_name-$prev_version-$curr_version.xdelta";
--
-- my @candidates = map { "$my_distdir.$_" } @archive_suffixes;
-- my @tarballs = grep {-f $_} @candidates;
--
-- @tarballs
-- or die "$ME: none of " . join(', ', @candidates) . " were found\n";
-- my @sizable = @tarballs;
-- -f $xd
-- and push @sizable, $xd;
-- my %size = sizes (@sizable);
-- %size
-- or exit 1;
--
-- my $headers = '';
-- if (defined $mail_headers)
-- {
-- ($headers = $mail_headers) =~ s/\s+(\S+:)/\n$1/g;
-- $headers .= "\n";
-- }
--
-- # The markup is escaped as <\# so that when this script is sent by
-- # mail (or part of a diff), Gnus is not triggered.
-- print <
--
--FIXME: put comments here
--
--EOF
--
-- if (@url_dir_list == 1 && @tarballs == 1)
-- {
-- # When there's only one tarball and one URL, use a more concise form.
-- my $m = "$url_dir_list[0]/$tarballs[0]";
-- print "Here are the compressed sources and a GPG detached signature[*]:\n"
-- . " $m\n"
-- . " $m.sig\n\n";
-- }
-- else
-- {
-- print_locations ("compressed sources", @url_dir_list, %size, @tarballs);
-- -f $xd
-- and print_locations ("xdelta diffs (useful? if so, "
-- . "please tell bug-gnulib\@gnu.org)",
-- @url_dir_list, %size, $xd);
-- my @sig_files = map { "$_.sig" } @tarballs;
-- print_locations ("GPG detached signatures[*]", @url_dir_list, %size,
-- @sig_files);
-- }
--
-- if ($url_dir_list[0] =~ "gnu\.org")
-- {
-- print "Use a mirror for higher download bandwidth:\n";
-- if (@tarballs == 1 && $url_dir_list[0] =~ m!http://ftp\.gnu\.org/gnu/!)
-- {
-- (my $m = "$url_dir_list[0]/$tarballs[0]")
-- =~ s!http://ftp\.gnu\.org/gnu/!http://ftpmirror\.gnu\.org/!;
-- print " $m\n"
-- . " $m.sig\n\n";
--
-- }
-- else
-- {
-- print " http://www.gnu.org/order/ftp.html\n\n";
-- }
-- }
--
-- $print_checksums_p
-- and print_checksums (@sizable);
--
-- print <.
-
-@@ -50,7 +50,7 @@
- GNU config.guess ($timestamp)
-
- Originally written by Per Bothner.
--Copyright 1992-2015 Free Software Foundation, Inc.
-+Copyright 1992-2017 Free Software Foundation, Inc.
-
- This is free software; see the source for copying conditions. There is NO
- warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-@@ -186,9 +186,12 @@
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
-- # to ELF recently, or will in the future.
-+ # to ELF recently (or will in the future) and ABI.
- case "${UNAME_MACHINE_ARCH}" in
-- arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
-+ earm*)
-+ os=netbsdelf
-+ ;;
-+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ELF__
-@@ -221,7 +224,7 @@
- release='-gnu'
- ;;
- *)
-- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-@@ -237,6 +240,10 @@
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
- exit ;;
-+ *:LibertyBSD:*:*)
-+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
-+ echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
-+ exit ;;
- *:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit ;;
-@@ -249,6 +256,9 @@
- *:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
-+ *:Sortix:*:*)
-+ echo ${UNAME_MACHINE}-unknown-sortix
-+ exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
-@@ -265,42 +275,42 @@
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
-- UNAME_MACHINE="alpha" ;;
-+ UNAME_MACHINE=alpha ;;
- "EV4.5 (21064)")
-- UNAME_MACHINE="alpha" ;;
-+ UNAME_MACHINE=alpha ;;
- "LCA4 (21066/21068)")
-- UNAME_MACHINE="alpha" ;;
-+ UNAME_MACHINE=alpha ;;
- "EV5 (21164)")
-- UNAME_MACHINE="alphaev5" ;;
-+ UNAME_MACHINE=alphaev5 ;;
- "EV5.6 (21164A)")
-- UNAME_MACHINE="alphaev56" ;;
-+ UNAME_MACHINE=alphaev56 ;;
- "EV5.6 (21164PC)")
-- UNAME_MACHINE="alphapca56" ;;
-+ UNAME_MACHINE=alphapca56 ;;
- "EV5.7 (21164PC)")
-- UNAME_MACHINE="alphapca57" ;;
-+ UNAME_MACHINE=alphapca57 ;;
- "EV6 (21264)")
-- UNAME_MACHINE="alphaev6" ;;
-+ UNAME_MACHINE=alphaev6 ;;
- "EV6.7 (21264A)")
-- UNAME_MACHINE="alphaev67" ;;
-+ UNAME_MACHINE=alphaev67 ;;
- "EV6.8CB (21264C)")
-- UNAME_MACHINE="alphaev68" ;;
-+ UNAME_MACHINE=alphaev68 ;;
- "EV6.8AL (21264B)")
-- UNAME_MACHINE="alphaev68" ;;
-+ UNAME_MACHINE=alphaev68 ;;
- "EV6.8CX (21264D)")
-- UNAME_MACHINE="alphaev68" ;;
-+ UNAME_MACHINE=alphaev68 ;;
- "EV6.9A (21264/EV69A)")
-- UNAME_MACHINE="alphaev69" ;;
-+ UNAME_MACHINE=alphaev69 ;;
- "EV7 (21364)")
-- UNAME_MACHINE="alphaev7" ;;
-+ UNAME_MACHINE=alphaev7 ;;
- "EV7.9 (21364A)")
-- UNAME_MACHINE="alphaev79" ;;
-+ UNAME_MACHINE=alphaev79 ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
-- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
- exitcode=$?
- trap '' 0
-@@ -373,16 +383,16 @@
- exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
-- SUN_ARCH="i386"
-+ SUN_ARCH=i386
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
-- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
-- SUN_ARCH="x86_64"
-+ SUN_ARCH=x86_64
- fi
- fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-@@ -407,7 +417,7 @@
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-+ test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
-@@ -632,13 +642,13 @@
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
-- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
-+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
-- 32) HP_ARCH="hppa2.0n" ;;
-- 64) HP_ARCH="hppa2.0w" ;;
-- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
-+ 32) HP_ARCH=hppa2.0n ;;
-+ 64) HP_ARCH=hppa2.0w ;;
-+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
- esac ;;
- esac
- fi
-@@ -677,11 +687,11 @@
- exit (0);
- }
- EOF
-- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-+ (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
-- if [ ${HP_ARCH} = "hppa2.0w" ]
-+ if [ ${HP_ARCH} = hppa2.0w ]
- then
- eval $set_cc_for_build
-
-@@ -694,12 +704,12 @@
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
-- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
- grep -q __LP64__
- then
-- HP_ARCH="hppa2.0w"
-+ HP_ARCH=hppa2.0w
- else
-- HP_ARCH="hppa64"
-+ HP_ARCH=hppa64
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-@@ -804,14 +814,14 @@
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
-+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
-- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
-+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-@@ -827,10 +837,11 @@
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- case ${UNAME_PROCESSOR} in
- amd64)
-- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-- *)
-- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-+ UNAME_PROCESSOR=x86_64 ;;
-+ i386)
-+ UNAME_PROCESSOR=i586 ;;
- esac
-+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
-@@ -893,7 +904,7 @@
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
-- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
-+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
-@@ -916,7 +927,7 @@
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep -q ld.so.1
-- if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
-+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
- arc:Linux:*:* | arceb:Linux:*:*)
-@@ -962,6 +973,9 @@
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
-+ k1om:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-+ exit ;;
- m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
-@@ -987,6 +1001,9 @@
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
- ;;
-+ mips64el:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-+ exit ;;
- openrisc*:Linux:*:*)
- echo or1k-unknown-linux-${LIBC}
- exit ;;
-@@ -1019,6 +1036,9 @@
- ppcle:Linux:*:*)
- echo powerpcle-unknown-linux-${LIBC}
- exit ;;
-+ riscv32:Linux:*:* | riscv64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-+ exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
- exit ;;
-@@ -1038,7 +1058,7 @@
- echo ${UNAME_MACHINE}-dec-linux-${LIBC}
- exit ;;
- x86_64:Linux:*:*)
-- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
- exit ;;
- xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-@@ -1117,7 +1137,7 @@
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
- # Note: whatever this is, it MUST be the same as what config.sub
-- # prints for the "djgpp" host, or else GDB configury will decide that
-+ # prints for the "djgpp" host, or else GDB configure will decide that
- # this is a cross-build.
- echo i586-pc-msdosdjgpp
- exit ;;
-@@ -1266,6 +1286,9 @@
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
-+ SX-ACE:SUPER-UX:*:*)
-+ echo sxace-nec-superux${UNAME_RELEASE}
-+ exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
-@@ -1279,9 +1302,9 @@
- UNAME_PROCESSOR=powerpc
- fi
- if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
-@@ -1303,7 +1326,7 @@
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
-- if test "$UNAME_PROCESSOR" = "x86"; then
-+ if test "$UNAME_PROCESSOR" = x86; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
-@@ -1312,15 +1335,18 @@
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
-- NEO-?:NONSTOP_KERNEL:*:*)
-+ NEO-*:NONSTOP_KERNEL:*:*)
- echo neo-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSE-*:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
-- NSR-?:NONSTOP_KERNEL:*:*)
-+ NSR-*:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
-+ NSX-*:NONSTOP_KERNEL:*:*)
-+ echo nsx-tandem-nsk${UNAME_RELEASE}
-+ exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
-@@ -1334,7 +1360,7 @@
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
-- if test "$cputype" = "386"; then
-+ if test "$cputype" = 386; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
-@@ -1376,7 +1402,7 @@
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
-- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
- exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
-@@ -1387,23 +1413,25 @@
- x86_64:VMkernel:*:*)
- echo ${UNAME_MACHINE}-unknown-esx
- exit ;;
-+ amd64:Isilon\ OneFS:*:*)
-+ echo x86_64-unknown-onefs
-+ exit ;;
- esac
-
- cat >&2 < in order to provide the needed
--information to handle your system.
-+If $0 has already been updated, send the following data and any
-+information you think might be pertinent to config-patches@gnu.org to
-+provide the necessary information to handle your system.
-
- config.guess timestamp = $timestamp
-
-diff -durN inetutils-1.9.4.orig/build-aux/config.rpath inetutils-1.9.4/build-aux/config.rpath
---- inetutils-1.9.4.orig/build-aux/config.rpath 2015-03-31 15:07:23.000000000 +0800
-+++ inetutils-1.9.4/build-aux/config.rpath 2017-05-15 17:50:55.859375000 +0800
-@@ -2,7 +2,7 @@
- # Output a system dependent set of variables, describing how to set the
- # run time search path of shared libraries in an executable.
- #
--# Copyright 1996-2015 Free Software Foundation, Inc.
-+# Copyright 1996-2017 Free Software Foundation, Inc.
- # Taken from GNU libtool, 2001
- # Originally by Gordon Matzigkeit , 1996
- #
-diff -durN inetutils-1.9.4.orig/build-aux/config.sub inetutils-1.9.4/build-aux/config.sub
---- inetutils-1.9.4.orig/build-aux/config.sub 2015-03-19 23:28:31.000000000 +0800
-+++ inetutils-1.9.4/build-aux/config.sub 2017-05-15 11:01:15.078125000 +0800
-@@ -1,8 +1,8 @@
- #! /bin/sh
- # Configuration validation subroutine script.
--# Copyright 1992-2015 Free Software Foundation, Inc.
-+# Copyright 1992-2017 Free Software Foundation, Inc.
-
--timestamp='2015-03-08'
-+timestamp='2017-04-02'
-
- # This file is free software; you can redistribute it and/or modify it
- # under the terms of the GNU General Public License as published by
-@@ -33,7 +33,7 @@
- # Otherwise, we print the canonical config type on stdout and succeed.
-
- # You can get the latest version of this script from:
--# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
-
- # This file is supposed to be the same for all GNU packages
- # and recognize all the CPU types, system types and aliases
-@@ -53,8 +53,7 @@
- me=`echo "$0" | sed -e 's,.*/,,'`
-
- usage="\
--Usage: $0 [OPTION] CPU-MFR-OPSYS
-- $0 [OPTION] ALIAS
-+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
-
- Canonicalize a configuration name.
-
-@@ -68,7 +67,7 @@
- version="\
- GNU config.sub ($timestamp)
-
--Copyright 1992-2015 Free Software Foundation, Inc.
-+Copyright 1992-2017 Free Software Foundation, Inc.
-
- This is free software; see the source for copying conditions. There is NO
- warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-@@ -118,7 +117,7 @@
- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
-- kopensolaris*-gnu* | \
-+ kopensolaris*-gnu* | cloudabi*-eabi* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-@@ -255,6 +254,7 @@
- | arc | arceb \
- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
- | avr | avr32 \
-+ | ba \
- | be32 | be64 \
- | bfin \
- | c4x | c8051 | clipper \
-@@ -263,7 +263,7 @@
- | fido | fr30 | frv | ft32 \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | hexagon \
-- | i370 | i860 | i960 | ia64 \
-+ | i370 | i860 | i960 | ia16 | ia64 \
- | ip2k | iq2000 \
- | k1om \
- | le32 | le64 \
-@@ -301,11 +301,12 @@
- | open8 | or1k | or1knd | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle \
-+ | pru \
- | pyramid \
- | riscv32 | riscv64 \
- | rl78 | rx \
- | score \
-- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-@@ -314,6 +315,7 @@
- | ubicom32 \
- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
- | visium \
-+ | wasm32 \
- | we32k \
- | x86 | xc16x | xstormy16 | xtensa \
- | z8k | z80)
-@@ -376,6 +378,7 @@
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* | avr32-* \
-+ | ba-* \
- | be32-* | be64-* \
- | bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* \
-@@ -386,7 +389,7 @@
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | hexagon-* \
-- | i*86-* | i860-* | i960-* | ia64-* \
-+ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
- | ip2k-* | iq2000-* \
- | k1om-* \
- | le32-* | le64-* \
-@@ -427,13 +430,15 @@
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
-+ | pru-* \
- | pyramid-* \
-+ | riscv32-* | riscv64-* \
- | rl78-* | romp-* | rs6000-* | rx-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
- | sparclite-* \
-- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
-+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
- | tahoe-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tile*-* \
-@@ -442,6 +447,7 @@
- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
- | vax-* \
- | visium-* \
-+ | wasm32-* \
- | we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* \
- | xstormy16-* | xtensa*-* \
-@@ -518,7 +524,7 @@
- basic_machine=i386-pc
- os=-aros
- ;;
-- asmjs)
-+ asmjs)
- basic_machine=asmjs-unknown
- ;;
- aux)
-@@ -641,6 +647,14 @@
- basic_machine=m68k-bull
- os=-sysv3
- ;;
-+ e500v[12])
-+ basic_machine=powerpc-unknown
-+ os=$os"spe"
-+ ;;
-+ e500v[12]-*)
-+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ os=$os"spe"
-+ ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
-@@ -936,6 +950,9 @@
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
-+ nsx-tandem)
-+ basic_machine=nsx-tandem
-+ ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
-@@ -1020,7 +1037,7 @@
- ppc-* | ppcbe-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
-- ppcle | powerpclittle | ppc-le | powerpc-little)
-+ ppcle | powerpclittle)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
-@@ -1030,7 +1047,7 @@
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
-- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-+ ppc64le | powerpc64little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
-@@ -1231,6 +1248,9 @@
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
-+ wasm32)
-+ basic_machine=wasm32-unknown
-+ ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
-@@ -1376,18 +1396,18 @@
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* | -plan9* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-- | -aos* | -aros* | -cloudabi* \
-+ | -aos* | -aros* | -cloudabi* | -sortix* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-- | -bitrig* | -openbsd* | -solidbsd* \
-+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-- | -chorusos* | -chorusrdb* | -cegcc* \
-+ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
- | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-- | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
-+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-musl* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-@@ -1396,7 +1416,8 @@
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
-+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
-+ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
-@@ -1528,6 +1549,8 @@
- ;;
- -nacl*)
- ;;
-+ -ios)
-+ ;;
- -none)
- ;;
- *)
-@@ -1623,6 +1646,9 @@
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
-+ pru-*)
-+ os=-elf
-+ ;;
- *-be)
- os=-beos
- ;;
-diff -durN inetutils-1.9.4.orig/build-aux/depcomp inetutils-1.9.4/build-aux/depcomp
---- inetutils-1.9.4.orig/build-aux/depcomp 2015-01-08 01:26:56.000000000 +0800
-+++ inetutils-1.9.4/build-aux/depcomp 2017-05-15 11:01:15.093750000 +0800
-@@ -1,9 +1,9 @@
- #! /bin/sh
- # depcomp - compile a program generating dependencies as side-effects
-
--scriptversion=2013-05-30.07; # UTC
-+scriptversion=2016-01-11.22; # UTC
-
--# Copyright (C) 1999-2015 Free Software Foundation, Inc.
-+# Copyright (C) 1999-2017 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
-@@ -751,6 +751,6 @@
- # eval: (add-hook 'write-file-hooks 'time-stamp)
- # time-stamp-start: "scriptversion="
- # time-stamp-format: "%:y-%02m-%02d.%02H"
--# time-stamp-time-zone: "UTC"
-+# time-stamp-time-zone: "UTC0"
- # time-stamp-end: "; # UTC"
- # End:
-diff -durN inetutils-1.9.4.orig/build-aux/gendocs.sh inetutils-1.9.4/build-aux/gendocs.sh
---- inetutils-1.9.4.orig/build-aux/gendocs.sh 2015-05-12 20:15:28.000000000 +0800
-+++ inetutils-1.9.4/build-aux/gendocs.sh 2017-05-15 17:50:56.031250000 +0800
-@@ -2,9 +2,9 @@
- # gendocs.sh -- generate a GNU manual in many formats. This script is
- # mentioned in maintain.texi. See the help message below for usage details.
-
--scriptversion=2015-05-05.16
-+scriptversion=2016-12-31.18
-
--# Copyright 2003-2015 Free Software Foundation, Inc.
-+# Copyright 2003-2017 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
-@@ -52,9 +52,27 @@
- unset CDPATH
- unset use_texi2html
-
-+MANUAL_TITLE=
-+PACKAGE=
-+EMAIL=webmasters@gnu.org # please override with --email
-+commonarg= # passed to all makeinfo/texi2html invcations.
-+dirargs= # passed to all tools (-I dir).
-+dirs= # -I directories.
-+htmlarg="--css-ref=/software/gnulib/manual.css -c TOP_NODE_UP_URL=/manual"
-+infoarg=--no-split
-+generate_ascii=true
-+generate_html=true
-+generate_info=true
-+generate_tex=true
-+outdir=manual
-+source_extra=
-+split=node
-+srcfile=
-+texarg="-t @finalout"
-+
- version="gendocs.sh $scriptversion
-
--Copyright 2015 Free Software Foundation, Inc.
-+Copyright 2017 Free Software Foundation, Inc.
- There is NO warranty. You may redistribute this software
- under the terms of the GNU General Public License.
- For more information about these matters, see the files named COPYING."
-@@ -74,7 +92,7 @@
- -I DIR append DIR to the Texinfo search path.
- --common ARG pass ARG in all invocations.
- --html ARG pass ARG to makeinfo or texi2html for HTML targets,
-- instead of --css-ref=/software/gnulib/manual.css.
-+ instead of '$htmlarg'.
- --info ARG pass ARG to makeinfo for Info, instead of --no-split.
- --no-ascii skip generating the plain text output.
- --no-html skip generating the html output.
-@@ -137,24 +155,6 @@
- Email bug reports or enhancement requests to bug-gnulib@gnu.org.
- "
-
--MANUAL_TITLE=
--PACKAGE=
--EMAIL=webmasters@gnu.org # please override with --email
--commonarg= # passed to all makeinfo/texi2html invcations.
--dirargs= # passed to all tools (-I dir).
--dirs= # -I directories.
--htmlarg=--css-ref=/software/gnulib/manual.css
--infoarg=--no-split
--generate_ascii=true
--generate_html=true
--generate_info=true
--generate_tex=true
--outdir=manual
--source_extra=
--split=node
--srcfile=
--texarg="-t @finalout"
--
- while test $# -gt 0; do
- case $1 in
- -s) shift; srcfile=$1;;
-diff -durN inetutils-1.9.4.orig/build-aux/git-version-gen inetutils-1.9.4/build-aux/git-version-gen
---- inetutils-1.9.4.orig/build-aux/git-version-gen 2015-03-31 15:07:23.000000000 +0800
-+++ inetutils-1.9.4/build-aux/git-version-gen 2017-05-15 17:50:56.187500000 +0800
-@@ -1,8 +1,8 @@
- #!/bin/sh
- # Print a version string.
--scriptversion=2014-12-02.19; # UTC
-+scriptversion=2017-01-09.19; # UTC
-
--# Copyright (C) 2007-2015 Free Software Foundation, Inc.
-+# Copyright (C) 2007-2017 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
-@@ -101,8 +101,8 @@
- case $1 in
- --help) echo "$usage"; exit 0;;
- --version) echo "$version"; exit 0;;
-- --prefix) shift; prefix="$1";;
-- --fallback) shift; fallback="$1";;
-+ --prefix) shift; prefix=${1?};;
-+ --fallback) shift; fallback=${1?};;
- -*)
- echo "$0: Unknown option '$1'." >&2
- echo "$0: Try '--help' for more information." >&2
-@@ -200,7 +200,7 @@
- # string we're using came from git. I.e., skip the test if it's "UNKNOWN"
- # or if it came from .tarball-version.
- if test "x$v_from_git" != x; then
-- # Don't declare a version "dirty" merely because a time stamp has changed.
-+ # Don't declare a version "dirty" merely because a timestamp has changed.
- git update-index --refresh > /dev/null 2>&1
-
- dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty=
-@@ -221,6 +221,6 @@
- # eval: (add-hook 'write-file-hooks 'time-stamp)
- # time-stamp-start: "scriptversion="
- # time-stamp-format: "%:y-%02m-%02d.%02H"
--# time-stamp-time-zone: "UTC"
-+# time-stamp-time-zone: "UTC0"
- # time-stamp-end: "; # UTC"
- # End:
-diff -durN inetutils-1.9.4.orig/build-aux/gnupload inetutils-1.9.4/build-aux/gnupload
---- inetutils-1.9.4.orig/build-aux/gnupload 2015-03-31 15:07:23.000000000 +0800
-+++ inetutils-1.9.4/build-aux/gnupload 2017-05-15 17:50:56.437500000 +0800
-@@ -1,9 +1,9 @@
- #!/bin/sh
- # Sign files and upload them.
-
--scriptversion=2013-03-19.17; # UTC
-+scriptversion=2016-01-11.22; # UTC
-
--# Copyright (C) 2004-2015 Free Software Foundation, Inc.
-+# Copyright (C) 2004-2017 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
-@@ -435,6 +435,6 @@
- # eval: (add-hook 'write-file-hooks 'time-stamp)
- # time-stamp-start: "scriptversion="
- # time-stamp-format: "%:y-%02m-%02d.%02H"
--# time-stamp-time-zone: "UTC"
-+# time-stamp-time-zone: "UTC0"
- # time-stamp-end: "; # UTC"
- # End:
-diff -durN inetutils-1.9.4.orig/build-aux/install-sh inetutils-1.9.4/build-aux/install-sh
---- inetutils-1.9.4.orig/build-aux/install-sh 2014-09-30 18:46:30.000000000 +0800
-+++ inetutils-1.9.4/build-aux/install-sh 2017-05-15 11:01:15.093750000 +0800
-@@ -1,7 +1,7 @@
- #!/bin/sh
- # install - install a program, script, or datafile
-
--scriptversion=2013-12-25.23; # UTC
-+scriptversion=2016-01-11.22; # UTC
-
- # This originates from X11R5 (mit/util/scripts/install.sh), which was
- # later released in X11R6 (xc/config/util/install.sh) with the
-@@ -496,6 +496,6 @@
- # eval: (add-hook 'write-file-hooks 'time-stamp)
- # time-stamp-start: "scriptversion="
- # time-stamp-format: "%:y-%02m-%02d.%02H"
--# time-stamp-time-zone: "UTC"
-+# time-stamp-time-zone: "UTC0"
- # time-stamp-end: "; # UTC"
- # End:
-diff -durN inetutils-1.9.4.orig/build-aux/mdate-sh inetutils-1.9.4/build-aux/mdate-sh
---- inetutils-1.9.4.orig/build-aux/mdate-sh 2015-01-08 01:26:56.000000000 +0800
-+++ inetutils-1.9.4/build-aux/mdate-sh 2017-05-15 11:01:15.109375000 +0800
-@@ -1,9 +1,9 @@
- #!/bin/sh
- # Get modification time of a file or directory and pretty-print it.
-
--scriptversion=2010-08-21.06; # UTC
-+scriptversion=2016-01-11.22; # UTC
-
--# Copyright (C) 1995-2015 Free Software Foundation, Inc.
-+# Copyright (C) 1995-2017 Free Software Foundation, Inc.
- # written by Ulrich Drepper , June 1995
- #
- # This program is free software; you can redistribute it and/or modify
-@@ -219,6 +219,6 @@
- # eval: (add-hook 'write-file-hooks 'time-stamp)
- # time-stamp-start: "scriptversion="
- # time-stamp-format: "%:y-%02m-%02d.%02H"
--# time-stamp-time-zone: "UTC"
-+# time-stamp-time-zone: "UTC0"
- # time-stamp-end: "; # UTC"
- # End:
-diff -durN inetutils-1.9.4.orig/build-aux/snippet/_Noreturn.h inetutils-1.9.4/build-aux/snippet/_Noreturn.h
---- inetutils-1.9.4.orig/build-aux/snippet/_Noreturn.h 2015-05-12 20:14:19.000000000 +0800
-+++ inetutils-1.9.4/build-aux/snippet/_Noreturn.h 1970-01-01 08:00:00.000000000 +0800
-@@ -1,10 +0,0 @@
--#if !defined _Noreturn && __STDC_VERSION__ < 201112
--# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
-- || 0x5110 <= __SUNPRO_C)
--# define _Noreturn __attribute__ ((__noreturn__))
--# elif 1200 <= _MSC_VER
--# define _Noreturn __declspec (noreturn)
--# else
--# define _Noreturn
--# endif
--#endif
-diff -durN inetutils-1.9.4.orig/build-aux/snippet/arg-nonnull.h inetutils-1.9.4/build-aux/snippet/arg-nonnull.h
---- inetutils-1.9.4.orig/build-aux/snippet/arg-nonnull.h 2015-05-12 20:14:19.000000000 +0800
-+++ inetutils-1.9.4/build-aux/snippet/arg-nonnull.h 1970-01-01 08:00:00.000000000 +0800
-@@ -1,26 +0,0 @@
--/* A C macro for declaring that specific arguments must not be NULL.
-- Copyright (C) 2009-2015 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 the Free Software Foundation; either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see . */
--
--/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
-- that the values passed as arguments n, ..., m must be non-NULL pointers.
-- n = 1 stands for the first argument, n = 2 for the second argument etc. */
--#ifndef _GL_ARG_NONNULL
--# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
--# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
--# else
--# define _GL_ARG_NONNULL(params)
--# endif
--#endif
-diff -durN inetutils-1.9.4.orig/build-aux/snippet/c++defs.h inetutils-1.9.4/build-aux/snippet/c++defs.h
---- inetutils-1.9.4.orig/build-aux/snippet/c++defs.h 2015-05-12 20:14:19.000000000 +0800
-+++ inetutils-1.9.4/build-aux/snippet/c++defs.h 1970-01-01 08:00:00.000000000 +0800
-@@ -1,271 +0,0 @@
--/* C++ compatible function declaration macros.
-- Copyright (C) 2010-2015 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 the Free Software Foundation; either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see . */
--
--#ifndef _GL_CXXDEFS_H
--#define _GL_CXXDEFS_H
--
--/* The three most frequent use cases of these macros are:
--
-- * For providing a substitute for a function that is missing on some
-- platforms, but is declared and works fine on the platforms on which
-- it exists:
--
-- #if @GNULIB_FOO@
-- # if !@HAVE_FOO@
-- _GL_FUNCDECL_SYS (foo, ...);
-- # endif
-- _GL_CXXALIAS_SYS (foo, ...);
-- _GL_CXXALIASWARN (foo);
-- #elif defined GNULIB_POSIXCHECK
-- ...
-- #endif
--
-- * For providing a replacement for a function that exists on all platforms,
-- but is broken/insufficient and needs to be replaced on some platforms:
--
-- #if @GNULIB_FOO@
-- # if @REPLACE_FOO@
-- # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-- # undef foo
-- # define foo rpl_foo
-- # endif
-- _GL_FUNCDECL_RPL (foo, ...);
-- _GL_CXXALIAS_RPL (foo, ...);
-- # else
-- _GL_CXXALIAS_SYS (foo, ...);
-- # endif
-- _GL_CXXALIASWARN (foo);
-- #elif defined GNULIB_POSIXCHECK
-- ...
-- #endif
--
-- * For providing a replacement for a function that exists on some platforms
-- but is broken/insufficient and needs to be replaced on some of them and
-- is additionally either missing or undeclared on some other platforms:
--
-- #if @GNULIB_FOO@
-- # if @REPLACE_FOO@
-- # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-- # undef foo
-- # define foo rpl_foo
-- # endif
-- _GL_FUNCDECL_RPL (foo, ...);
-- _GL_CXXALIAS_RPL (foo, ...);
-- # else
-- # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@
-- _GL_FUNCDECL_SYS (foo, ...);
-- # endif
-- _GL_CXXALIAS_SYS (foo, ...);
-- # endif
-- _GL_CXXALIASWARN (foo);
-- #elif defined GNULIB_POSIXCHECK
-- ...
-- #endif
--*/
--
--/* _GL_EXTERN_C declaration;
-- performs the declaration with C linkage. */
--#if defined __cplusplus
--# define _GL_EXTERN_C extern "C"
--#else
--# define _GL_EXTERN_C extern
--#endif
--
--/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
-- declares a replacement function, named rpl_func, with the given prototype,
-- consisting of return type, parameters, and attributes.
-- Example:
-- _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
-- _GL_ARG_NONNULL ((1)));
-- */
--#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
-- _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
--#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
-- _GL_EXTERN_C rettype rpl_func parameters_and_attributes
--
--/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
-- declares the system function, named func, with the given prototype,
-- consisting of return type, parameters, and attributes.
-- Example:
-- _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
-- _GL_ARG_NONNULL ((1)));
-- */
--#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
-- _GL_EXTERN_C rettype func parameters_and_attributes
--
--/* _GL_CXXALIAS_RPL (func, rettype, parameters);
-- declares a C++ alias called GNULIB_NAMESPACE::func
-- that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
-- Example:
-- _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
-- */
--#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
-- _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
--#if defined __cplusplus && defined GNULIB_NAMESPACE
--# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
-- namespace GNULIB_NAMESPACE \
-- { \
-- rettype (*const func) parameters = ::rpl_func; \
-- } \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#else
--# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#endif
--
--/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
-- is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
-- except that the C function rpl_func may have a slightly different
-- declaration. A cast is used to silence the "invalid conversion" error
-- that would otherwise occur. */
--#if defined __cplusplus && defined GNULIB_NAMESPACE
--# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
-- namespace GNULIB_NAMESPACE \
-- { \
-- rettype (*const func) parameters = \
-- reinterpret_cast(::rpl_func); \
-- } \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#else
--# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#endif
--
--/* _GL_CXXALIAS_SYS (func, rettype, parameters);
-- declares a C++ alias called GNULIB_NAMESPACE::func
-- that redirects to the system provided function func, if GNULIB_NAMESPACE
-- is defined.
-- Example:
-- _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
-- */
--#if defined __cplusplus && defined GNULIB_NAMESPACE
-- /* If we were to write
-- rettype (*const func) parameters = ::func;
-- like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
-- better (remove an indirection through a 'static' pointer variable),
-- but then the _GL_CXXALIASWARN macro below would cause a warning not only
-- for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */
--# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
-- namespace GNULIB_NAMESPACE \
-- { \
-- static rettype (*func) parameters = ::func; \
-- } \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#else
--# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#endif
--
--/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
-- is like _GL_CXXALIAS_SYS (func, rettype, parameters);
-- except that the C function func may have a slightly different declaration.
-- A cast is used to silence the "invalid conversion" error that would
-- otherwise occur. */
--#if defined __cplusplus && defined GNULIB_NAMESPACE
--# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
-- namespace GNULIB_NAMESPACE \
-- { \
-- static rettype (*func) parameters = \
-- reinterpret_cast(::func); \
-- } \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#else
--# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#endif
--
--/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
-- is like _GL_CXXALIAS_SYS (func, rettype, parameters);
-- except that the C function is picked among a set of overloaded functions,
-- namely the one with rettype2 and parameters2. Two consecutive casts
-- are used to silence the "cannot find a match" and "invalid conversion"
-- errors that would otherwise occur. */
--#if defined __cplusplus && defined GNULIB_NAMESPACE
-- /* The outer cast must be a reinterpret_cast.
-- The inner cast: When the function is defined as a set of overloaded
-- functions, it works as a static_cast<>, choosing the designated variant.
-- When the function is defined as a single variant, it works as a
-- reinterpret_cast<>. The parenthesized cast syntax works both ways. */
--# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
-- namespace GNULIB_NAMESPACE \
-- { \
-- static rettype (*func) parameters = \
-- reinterpret_cast( \
-- (rettype2(*)parameters2)(::func)); \
-- } \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#else
--# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#endif
--
--/* _GL_CXXALIASWARN (func);
-- causes a warning to be emitted when ::func is used but not when
-- GNULIB_NAMESPACE::func is used. func must be defined without overloaded
-- variants. */
--#if defined __cplusplus && defined GNULIB_NAMESPACE
--# define _GL_CXXALIASWARN(func) \
-- _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
--# define _GL_CXXALIASWARN_1(func,namespace) \
-- _GL_CXXALIASWARN_2 (func, namespace)
--/* To work around GCC bug ,
-- we enable the warning only when not optimizing. */
--# if !__OPTIMIZE__
--# define _GL_CXXALIASWARN_2(func,namespace) \
-- _GL_WARN_ON_USE (func, \
-- "The symbol ::" #func " refers to the system function. " \
-- "Use " #namespace "::" #func " instead.")
--# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
--# define _GL_CXXALIASWARN_2(func,namespace) \
-- extern __typeof__ (func) func
--# else
--# define _GL_CXXALIASWARN_2(func,namespace) \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--# endif
--#else
--# define _GL_CXXALIASWARN(func) \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#endif
--
--/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
-- causes a warning to be emitted when the given overloaded variant of ::func
-- is used but not when GNULIB_NAMESPACE::func is used. */
--#if defined __cplusplus && defined GNULIB_NAMESPACE
--# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
-- _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
-- GNULIB_NAMESPACE)
--# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
-- _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
--/* To work around GCC bug ,
-- we enable the warning only when not optimizing. */
--# if !__OPTIMIZE__
--# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
-- _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
-- "The symbol ::" #func " refers to the system function. " \
-- "Use " #namespace "::" #func " instead.")
--# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
--# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
-- extern __typeof__ (func) func
--# else
--# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--# endif
--#else
--# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
-- _GL_EXTERN_C int _gl_cxxalias_dummy
--#endif
--
--#endif /* _GL_CXXDEFS_H */
-diff -durN inetutils-1.9.4.orig/build-aux/snippet/unused-parameter.h inetutils-1.9.4/build-aux/snippet/unused-parameter.h
---- inetutils-1.9.4.orig/build-aux/snippet/unused-parameter.h 2015-05-12 20:14:19.000000000 +0800
-+++ inetutils-1.9.4/build-aux/snippet/unused-parameter.h 1970-01-01 08:00:00.000000000 +0800
-@@ -1,36 +0,0 @@
--/* A C macro for declaring that specific function parameters are not used.
-- Copyright (C) 2008-2015 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 the Free Software Foundation; either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see . */
--
--/* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter
-- declarations for parameters that are not used. This helps to reduce
-- warnings, such as from GCC -Wunused-parameter. The syntax is as follows:
-- type param _GL_UNUSED_PARAMETER
-- or more generally
-- param_decl _GL_UNUSED_PARAMETER
-- For example:
-- int param _GL_UNUSED_PARAMETER
-- int *(*param)(void) _GL_UNUSED_PARAMETER
-- Other possible, but obscure and discouraged syntaxes:
-- int _GL_UNUSED_PARAMETER *(*param)(void)
-- _GL_UNUSED_PARAMETER int *(*param)(void)
-- */
--#ifndef _GL_UNUSED_PARAMETER
--# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
--# define _GL_UNUSED_PARAMETER __attribute__ ((__unused__))
--# else
--# define _GL_UNUSED_PARAMETER
--# endif
--#endif
-diff -durN inetutils-1.9.4.orig/build-aux/snippet/warn-on-use.h inetutils-1.9.4/build-aux/snippet/warn-on-use.h
---- inetutils-1.9.4.orig/build-aux/snippet/warn-on-use.h 2015-05-12 20:14:19.000000000 +0800
-+++ inetutils-1.9.4/build-aux/snippet/warn-on-use.h 1970-01-01 08:00:00.000000000 +0800
-@@ -1,109 +0,0 @@
--/* A C macro for emitting warnings if a function is used.
-- Copyright (C) 2010-2015 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 the Free Software Foundation; either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see . */
--
--/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
-- for FUNCTION which will then trigger a compiler warning containing
-- the text of "literal string" anywhere that function is called, if
-- supported by the compiler. If the compiler does not support this
-- feature, the macro expands to an unused extern declaration.
--
-- This macro is useful for marking a function as a potential
-- portability trap, with the intent that "literal string" include
-- instructions on the replacement function that should be used
-- instead. However, one of the reasons that a function is a
-- portability trap is if it has the wrong signature. Declaring
-- FUNCTION with a different signature in C is a compilation error, so
-- this macro must use the same type as any existing declaration so
-- that programs that avoid the problematic FUNCTION do not fail to
-- compile merely because they included a header that poisoned the
-- function. But this implies that _GL_WARN_ON_USE is only safe to
-- use if FUNCTION is known to already have a declaration. Use of
-- this macro implies that there must not be any other macro hiding
-- the declaration of FUNCTION; but undefining FUNCTION first is part
-- of the poisoning process anyway (although for symbols that are
-- provided only via a macro, the result is a compilation error rather
-- than a warning containing "literal string"). Also note that in
-- C++, it is only safe to use if FUNCTION has no overloads.
--
-- For an example, it is possible to poison 'getline' by:
-- - adding a call to gl_WARN_ON_USE_PREPARE([[#include ]],
-- [getline]) in configure.ac, which potentially defines
-- HAVE_RAW_DECL_GETLINE
-- - adding this code to a header that wraps the system :
-- #undef getline
-- #if HAVE_RAW_DECL_GETLINE
-- _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
-- "not universally present; use the gnulib module getline");
-- #endif
--
-- It is not possible to directly poison global variables. But it is
-- possible to write a wrapper accessor function, and poison that
-- (less common usage, like &environ, will cause a compilation error
-- rather than issue the nice warning, but the end result of informing
-- the developer about their portability problem is still achieved):
-- #if HAVE_RAW_DECL_ENVIRON
-- static char ***rpl_environ (void) { return &environ; }
-- _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
-- # undef environ
-- # define environ (*rpl_environ ())
-- #endif
-- */
--#ifndef _GL_WARN_ON_USE
--
--# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
--/* A compiler attribute is available in gcc versions 4.3.0 and later. */
--# define _GL_WARN_ON_USE(function, message) \
--extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
--# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
--/* Verify the existence of the function. */
--# define _GL_WARN_ON_USE(function, message) \
--extern __typeof__ (function) function
--# else /* Unsupported. */
--# define _GL_WARN_ON_USE(function, message) \
--_GL_WARN_EXTERN_C int _gl_warn_on_use
--# endif
--#endif
--
--/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
-- is like _GL_WARN_ON_USE (function, "string"), except that the function is
-- declared with the given prototype, consisting of return type, parameters,
-- and attributes.
-- This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
-- not work in this case. */
--#ifndef _GL_WARN_ON_USE_CXX
--# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
--# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
--extern rettype function parameters_and_attributes \
-- __attribute__ ((__warning__ (msg)))
--# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
--/* Verify the existence of the function. */
--# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
--extern rettype function parameters_and_attributes
--# else /* Unsupported. */
--# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
--_GL_WARN_EXTERN_C int _gl_warn_on_use
--# endif
--#endif
--
--/* _GL_WARN_EXTERN_C declaration;
-- performs the declaration with C linkage. */
--#ifndef _GL_WARN_EXTERN_C
--# if defined __cplusplus
--# define _GL_WARN_EXTERN_C extern "C"
--# else
--# define _GL_WARN_EXTERN_C extern
--# endif
--#endif
-diff -durN inetutils-1.9.4.orig/build-aux/texinfo.tex inetutils-1.9.4/build-aux/texinfo.tex
---- inetutils-1.9.4.orig/build-aux/texinfo.tex 2015-06-04 20:31:32.000000000 +0800
-+++ inetutils-1.9.4/build-aux/texinfo.tex 2017-05-15 11:01:15.203125000 +0800
-@@ -3,11 +3,11 @@
- % Load plain if necessary, i.e., if running under initex.
- \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
- %
--\def\texinfoversion{2015-06-01.15}
-+\def\texinfoversion{2017-04-14.11}
- %
- % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
- % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
--% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
-+% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017
- % Free Software Foundation, Inc.
- %
- % This texinfo.tex file is free software: you can redistribute it and/or
-@@ -67,6 +67,10 @@
- \everyjob{\message{[Texinfo version \texinfoversion]}%
- \catcode`+=\active \catcode`\_=\active}
-
-+% LaTeX's \typeout. This ensures that the messages it is used for
-+% are identical in format to the corresponding ones from latex/pdflatex.
-+\def\typeout{\immediate\write17}%
-+
- \chardef\other=12
-
- % We never want plain's \outer definition of \+ in Texinfo.
-@@ -158,22 +162,13 @@
- \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi
- \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi
-
--% Since the category of space is not known, we have to be careful.
--\chardef\spacecat = 10
--\def\spaceisspace{\catcode`\ =\spacecat}
-+% Give the space character the catcode for a space.
-+\def\spaceisspace{\catcode`\ =10\relax}
-+
-+% Likewise for ^^M, the end of line character.
-+\def\endlineisspace{\catcode13=10\relax}
-
--% sometimes characters are active, so we need control sequences.
--\chardef\ampChar = `\&
--\chardef\colonChar = `\:
--\chardef\commaChar = `\,
- \chardef\dashChar = `\-
--\chardef\dotChar = `\.
--\chardef\exclamChar= `\!
--\chardef\hashChar = `\#
--\chardef\lquoteChar= `\`
--\chardef\questChar = `\?
--\chardef\rquoteChar= `\'
--\chardef\semiChar = `\;
- \chardef\slashChar = `\/
- \chardef\underChar = `\_
-
-@@ -196,17 +191,6 @@
- wide-spread wrap-around
- }
-
--% Margin to add to right of even pages, to left of odd pages.
--\newdimen\bindingoffset
--\newdimen\normaloffset
--\newdimen\pagewidth \newdimen\pageheight
--
--% For a final copy, take out the rectangles
--% that mark overfull boxes (in case you have decided
--% that the text looks ok even though it passes the margin).
--%
--\def\finalout{\overfullrule=0pt }
--
- % Sometimes it is convenient to have everything in the transcript file
- % and nothing on the terminal. We don't just call \tracingall here,
- % since that produces some useless output on the terminal. We also make
-@@ -251,6 +235,15 @@
- \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
- \removelastskip\penalty-200\bigskip\fi\fi}
-
-+% Output routine
-+%
-+
-+% For a final copy, take out the rectangles
-+% that mark overfull boxes (in case you have decided
-+% that the text looks ok even though it passes the margin).
-+%
-+\def\finalout{\overfullrule=0pt }
-+
- % Do @cropmarks to get crop marks.
- %
- \newif\ifcropmarks
-@@ -273,10 +266,18 @@
- %
- % Another complication is to let the user choose whether \thischapter
- % (\thissection) refers to the chapter (section) in effect at the top
--% of a page, or that at the bottom of a page. The solution is
--% described on page 260 of The TeXbook. It involves outputting two
--% marks for the sectioning macros, one before the section break, and
--% one after. I won't pretend I can describe this better than DEK...
-+% of a page, or that at the bottom of a page.
-+
-+% \domark is called twice inside \chapmacro, to add one
-+% mark before the section break, and one after.
-+% In the second call \prevchapterdefs is the same as \lastchapterdefs,
-+% and \prevsectiondefs is the same as \lastsectiondefs.
-+% Then if the page is not broken at the mark, some of the previous
-+% section appears on the page, and we can get the name of this section
-+% from \firstmark for @everyheadingmarks top.
-+% @everyheadingmarks bottom uses \botmark.
-+%
-+% See page 260 of The TeXbook.
- \def\domark{%
- \toks0=\expandafter{\lastchapterdefs}%
- \toks2=\expandafter{\lastsectiondefs}%
-@@ -284,11 +285,15 @@
- \toks6=\expandafter{\prevsectiondefs}%
- \toks8=\expandafter{\lastcolordefs}%
- \mark{%
-- \the\toks0 \the\toks2 % 0: top marks (\last...)
-- \noexpand\or \the\toks4 \the\toks6 % 1: bottom marks (default, \prev...)
-+ \the\toks0 \the\toks2 % 0: marks for @everyheadingmarks top
-+ \noexpand\or \the\toks4 \the\toks6 % 1: for @everyheadingmarks bottom
- \noexpand\else \the\toks8 % 2: color marks
- }%
- }
-+
-+% \gettopheadingmarks, \getbottomheadingmarks,
-+% \getcolormarks - extract needed part of mark.
-+%
- % \topmark doesn't work for the very first chapter (after the title
- % page or the contents), so we use \firstmark there -- this gets us
- % the mark with the chapter defs, unless the user sneaks in, e.g.,
-@@ -309,32 +314,62 @@
- \def\prevsectiondefs{}
- \def\lastcolordefs{}
-
-+% Margin to add to right of even pages, to left of odd pages.
-+\newdimen\bindingoffset
-+\newdimen\normaloffset
-+\newdimen\txipagewidth \newdimen\txipageheight
-+
- % Main output routine.
-+%
- \chardef\PAGE = 255
- \output = {\onepageout{\pagecontents\PAGE}}
-
- \newbox\headlinebox
- \newbox\footlinebox
-
--% \onepageout takes a vbox as an argument. Note that \pagecontents
--% does insertions, but you have to call it yourself.
-+% \onepageout takes a vbox as an argument.
-+% \shipout a vbox for a single page, adding an optional header, footer,
-+% cropmarks, and footnote. This also causes index entries for this page
-+% to be written to the auxiliary files.
-+%
- \def\onepageout#1{%
- \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
- %
- \ifodd\pageno \advance\hoffset by \bindingoffset
- \else \advance\hoffset by -\bindingoffset\fi
- %
-+ % Common context changes for both heading and footing.
- % Do this outside of the \shipout so @code etc. will be expanded in
- % the headline as they should be, not taken literally (outputting ''code).
-- \def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars}
-+ \def\commmonheadfootline{\let\hsize=\txipagewidth \texinfochars}
- %
-- \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
-- \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}%
-+ % Retrieve the information for the headings from the marks in the page,
-+ % and call Plain TeX's \makeheadline and \makefootline, which use the
-+ % values in \headline and \footline.
-+ %
-+ % This is used to check if we are on the first page of a chapter.
-+ \ifcase1\topmark\fi
-+ \let\prevchaptername\thischaptername
-+ \ifcase0\firstmark\fi
-+ \let\curchaptername\thischaptername
- %
-+ \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
- \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
-+ %
-+ \ifx\curchaptername\prevchaptername
-+ \let\thischapterheading\thischapter
-+ \else
-+ % \thischapterheading is the same as \thischapter except it is blank
-+ % for the first page of a chapter. This is to prevent the chapter name
-+ % being shown twice.
-+ \def\thischapterheading{}%
-+ \fi
-+ %
-+ \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}%
- \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}%
- %
- {%
-+ % Set context for writing to auxiliary files like index files.
- % Have to do this stuff outside the \shipout because we want it to
- % take effect in \write's, yet the group defined by the \vbox ends
- % before the \shipout runs.
-@@ -343,10 +378,10 @@
- \normalturnoffactive % \ in index entries must not stay \, e.g., if
- % the page break happens to be in the middle of an example.
- % We don't want .vr (or whatever) entries like this:
-- % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
-+ % \entry{{\indexbackslash }acronym}{32}{\code {\acronym}}
- % "\acronym" won't work when it's read back in;
- % it needs to be
-- % {\code {{\tt \backslashcurfont }acronym}
-+ % {\code {{\backslashcurfont }acronym}
- \shipout\vbox{%
- % Do this early so pdf references go to the beginning of the page.
- \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
-@@ -404,7 +439,8 @@
-
- \newinsert\margin \dimen\margin=\maxdimen
-
--\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
-+% Main part of page, including any footnotes
-+\def\pagebody#1{\vbox to\txipageheight{\boxmaxdepth=\maxdepth #1}}
- {\catcode`\@ =11
- \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
- % marginal hacks, juha@viisa.uucp (Juha Takala)
-@@ -426,9 +462,13 @@
- \def\nsbot{\vbox
- {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
-
-+
-+% Argument parsing
-+
- % Parse an argument, then pass it to #1. The argument is the rest of
- % the input line (except we remove a trailing comment). #1 should be a
- % macro which expects an ordinary undelimited TeX argument.
-+% For example, \def\foo{\parsearg\fooxxx}.
- %
- \def\parsearg{\parseargusing{}}
- \def\parseargusing#1#2{%
-@@ -447,9 +487,11 @@
- }%
- }
-
--% First remove any @comment, then any @c comment.
-+% First remove any @comment, then any @c comment. Also remove a @texinfoc
-+% comment (see \scanmacro for details). Pass the result on to \argcheckspaces.
- \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
--\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
-+\def\argremovec#1\c#2\ArgTerm{\argremovetexinfoc #1\texinfoc\ArgTerm}
-+\def\argremovetexinfoc#1\texinfoc#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
-
- % Each occurrence of `\^^M' or `\^^M' is replaced by a single space.
- %
-@@ -484,14 +526,13 @@
- %
- \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}}
-
-+
-+% \parseargdef - define a command taking an argument on the line
-+%
- % \parseargdef\foo{...}
- % is roughly equivalent to
- % \def\foo{\parsearg\Xfoo}
- % \def\Xfoo#1{...}
--%
--% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
--% favourite TeX trick. --kasal, 16nov03
--
- \def\parseargdef#1{%
- \expandafter \doparseargdef \csname\string#1\endcsname #1%
- }
-@@ -681,21 +722,26 @@
- \endgraf % Not \par, as it may have been set to \lisppar.
- \global\dimen1 = \prevdepth
- \egroup % End the \vtop.
-+ \addgroupbox
-+ \prevdepth = \dimen1
-+ \checkinserts
-+}
-+
-+\def\addgroupbox{
- % \dimen0 is the vertical size of the group's box.
- \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox
- % \dimen2 is how much space is left on the page (more or less).
-- \dimen2 = \pageheight \advance\dimen2 by -\pagetotal
-+ \dimen2 = \txipageheight \advance\dimen2 by -\pagetotal
- % if the group doesn't fit on the current page, and it's a big big
- % group, force a page break.
- \ifdim \dimen0 > \dimen2
-- \ifdim \pagetotal < \vfilllimit\pageheight
-+ \ifdim \pagetotal < \vfilllimit\txipageheight
- \page
- \fi
- \fi
- \box\groupbox
-- \prevdepth = \dimen1
-- \checkinserts
- }
-+
- %
- % TeX puts in an \escapechar (i.e., `@') at the beginning of the help
- % message, so this ends up printing `@group can only ...'.
-@@ -819,36 +865,6 @@
- \temp
- }
-
--% @| inserts a changebar to the left of the current line. It should
--% surround any changed text. This approach does *not* work if the
--% change spans more than two lines of output. To handle that, we would
--% have adopt a much more difficult approach (putting marks into the main
--% vertical list for the beginning and end of each change). This command
--% is not documented, not supported, and doesn't work.
--%
--\def\|{%
-- % \vadjust can only be used in horizontal mode.
-- \leavevmode
-- %
-- % Append this vertical mode material after the current line in the output.
-- \vadjust{%
-- % We want to insert a rule with the height and depth of the current
-- % leading; that is exactly what \strutbox is supposed to record.
-- \vskip-\baselineskip
-- %
-- % \vadjust-items are inserted at the left edge of the type. So
-- % the \llap here moves out into the left-hand margin.
-- \llap{%
-- %
-- % For a thicker or thinner bar, change the `1pt'.
-- \vrule height\baselineskip width1pt
-- %
-- % This is the space between the bar and the text.
-- \hskip 12pt
-- }%
-- }%
--}
--
- % @include FILE -- \input text of FILE.
- %
- \def\include{\parseargusing\filenamecatcodes\includezzz}
-@@ -937,13 +953,14 @@
- % @comment ...line which is ignored...
- % @c is the same as @comment
- % @ignore ... @end ignore is another way to write a comment
--%
--\def\comment{\begingroup \catcode`\^^M=\other%
-+
-+
-+\def\c{\begingroup \catcode`\^^M=\active%
- \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
--\commentxxx}
--{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
-+\cxxx}
-+{\catcode`\^^M=\active \gdef\cxxx#1^^M{\endgroup}}
- %
--\let\c=\comment
-+\let\comment\c
-
- % @paragraphindent NCHARS
- % We'll use ems for NCHARS, close enough.
-@@ -1029,45 +1046,8 @@
- % @refill is a no-op.
- \let\refill=\relax
-
--% If working on a large document in chapters, it is convenient to
--% be able to disable indexing, cross-referencing, and contents, for test runs.
--% This is done with @novalidate (before @setfilename).
--%
--\newif\iflinks \linkstrue % by default we want the aux files.
--\let\novalidate = \linksfalse
--
--% @setfilename is done at the beginning of every texinfo file.
--% So open here the files we need to have open while reading the input.
--% This makes it possible to make a .fmt file for texinfo.
--\def\setfilename{%
-- \fixbackslash % Turn off hack to swallow `\input texinfo'.
-- \iflinks
-- \tryauxfile
-- % Open the new aux file. TeX will close it automatically at exit.
-- \immediate\openout\auxfile=\jobname.aux
-- \fi % \openindices needs to do some work in any case.
-- \openindices
-- \let\setfilename=\comment % Ignore extra @setfilename cmds.
-- %
-- % If texinfo.cnf is present on the system, read it.
-- % Useful for site-wide @afourpaper, etc.
-- \openin 1 texinfo.cnf
-- \ifeof 1 \else \input texinfo.cnf \fi
-- \closein 1
-- %
-- \comment % Ignore the actual filename.
--}
--
--% Called from \setfilename.
--%
--\def\openindices{%
-- \newindex{cp}%
-- \newcodeindex{fn}%
-- \newcodeindex{vr}%
-- \newcodeindex{tp}%
-- \newcodeindex{ky}%
-- \newcodeindex{pg}%
--}
-+% @setfilename INFO-FILENAME - ignored
-+\let\setfilename=\comment
-
- % @bye.
- \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
-@@ -1085,10 +1065,91 @@
- \newtoks\toksC
- \newtoks\toksD
- \newbox\boxA
-+\newbox\boxB
- \newcount\countA
- \newif\ifpdf
- \newif\ifpdfmakepagedest
-
-+%
-+% For LuaTeX
-+%
-+
-+\newif\iftxiuseunicodedestname
-+\txiuseunicodedestnamefalse % For pdfTeX etc.
-+
-+\ifx\luatexversion\thisisundefined
-+\else
-+ % Use Unicode destination names
-+ \txiuseunicodedestnametrue
-+ % Escape PDF strings with converting UTF-16 from UTF-8
-+ \begingroup
-+ \catcode`\%=12
-+ \directlua{
-+ function UTF16oct(str)
-+ tex.sprint(string.char(0x5c) .. '376' .. string.char(0x5c) .. '377')
-+ for c in string.utfvalues(str) do
-+ if c < 0x10000 then
-+ tex.sprint(
-+ string.format(string.char(0x5c) .. string.char(0x25) .. '03o' ..
-+ string.char(0x5c) .. string.char(0x25) .. '03o',
-+ (c / 256), (c % 256)))
-+ else
-+ c = c - 0x10000
-+ local c_hi = c / 1024 + 0xd800
-+ local c_lo = c % 1024 + 0xdc00
-+ tex.sprint(
-+ string.format(string.char(0x5c) .. string.char(0x25) .. '03o' ..
-+ string.char(0x5c) .. string.char(0x25) .. '03o' ..
-+ string.char(0x5c) .. string.char(0x25) .. '03o' ..
-+ string.char(0x5c) .. string.char(0x25) .. '03o',
-+ (c_hi / 256), (c_hi % 256),
-+ (c_lo / 256), (c_lo % 256)))
-+ end
-+ end
-+ end
-+ }
-+ \endgroup
-+ \def\pdfescapestrutfsixteen#1{\directlua{UTF16oct('\luaescapestring{#1}')}}
-+ % Escape PDF strings without converting
-+ \begingroup
-+ \directlua{
-+ function PDFescstr(str)
-+ for c in string.bytes(str) do
-+ if c <= 0x20 or c >= 0x80 or c == 0x28 or c == 0x29 or c == 0x5c then
-+ tex.sprint(
-+ string.format(string.char(0x5c) .. string.char(0x25) .. '03o',
-+ c))
-+ else
-+ tex.sprint(string.char(c))
-+ end
-+ end
-+ end
-+ }
-+ \endgroup
-+ \def\pdfescapestring#1{\directlua{PDFescstr('\luaescapestring{#1}')}}
-+ \ifnum\luatexversion>84
-+ % For LuaTeX >= 0.85
-+ \def\pdfdest{\pdfextension dest}
-+ \let\pdfoutput\outputmode
-+ \def\pdfliteral{\pdfextension literal}
-+ \def\pdfcatalog{\pdfextension catalog}
-+ \def\pdftexversion{\numexpr\pdffeedback version\relax}
-+ \let\pdfximage\saveimageresource
-+ \let\pdfrefximage\useimageresource
-+ \let\pdflastximage\lastsavedimageresourceindex
-+ \def\pdfendlink{\pdfextension endlink\relax}
-+ \def\pdfoutline{\pdfextension outline}
-+ \def\pdfstartlink{\pdfextension startlink}
-+ \def\pdffontattr{\pdfextension fontattr}
-+ \def\pdfobj{\pdfextension obj}
-+ \def\pdflastobj{\numexpr\pdffeedback lastobj\relax}
-+ \let\pdfpagewidth\pagewidth
-+ \let\pdfpageheight\pageheight
-+ \edef\pdfhorigin{\pdfvariable horigin}
-+ \edef\pdfvorigin{\pdfvariable vorigin}
-+ \fi
-+\fi
-+
- % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
- % can be set). So we test for \relax and 0 as well as being undefined.
- \ifx\pdfoutput\thisisundefined
-@@ -1119,12 +1180,21 @@
- \ifx\pdfescapestring\thisisundefined
- % No primitive available; should we give a warning or log?
- % Many times it won't matter.
-+ \xdef#1{#1}%
- \else
- % The expandable \pdfescapestring primitive escapes parentheses,
- % backslashes, and other special chars.
- \xdef#1{\pdfescapestring{#1}}%
- \fi
- }
-+\def\txiescapepdfutfsixteen#1{%
-+ \ifx\pdfescapestrutfsixteen\thisisundefined
-+ % No UTF-16 converting macro available.
-+ \txiescapepdf{#1}%
-+ \else
-+ \xdef#1{\pdfescapestrutfsixteen{#1}}%
-+ \fi
-+}
-
- \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
- with PDF output, and none of those formats could be found. (.eps cannot
-@@ -1142,8 +1212,8 @@
- \def\rgbDarkRed{0.50 0.09 0.12}
- \def\rgbBlack{0 0 0}
- %
-- % k sets the color for filling (usual text, etc.);
-- % K sets the color for stroking (thin rules, e.g., normal _'s).
-+ % rg sets the color for filling (usual text, etc.);
-+ % RG sets the color for stroking (thin rules, e.g., normal _'s).
- \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}}
- %
- % Set color, and create a mark which defines \thiscolor accordingly,
-@@ -1234,17 +1304,77 @@
- \pdfrefximage \pdflastximage
- \fi}
- %
-- \def\pdfmkdest#1{{%
-+ \def\setpdfdestname#1{{%
- % We have to set dummies so commands such as @code, and characters
- % such as \, aren't expanded when present in a section title.
- \indexnofonts
-- \turnoffactive
- \makevalueexpandable
-+ \turnoffactive
-+ \iftxiuseunicodedestname
-+ \ifx \declaredencoding \latone
-+ % Pass through Latin-1 characters.
-+ % LuaTeX with byte wise I/O converts Latin-1 characters to Unicode.
-+ \else
-+ \ifx \declaredencoding \utfeight
-+ % Pass through Unicode characters.
-+ \else
-+ % Use ASCII approximations in destination names.
-+ \passthroughcharsfalse
-+ \fi
-+ \fi
-+ \else
-+ % Use ASCII approximations in destination names.
-+ \passthroughcharsfalse
-+ \fi
- \def\pdfdestname{#1}%
- \txiescapepdf\pdfdestname
-- \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
- }}
- %
-+ \def\setpdfoutlinetext#1{{%
-+ \indexnofonts
-+ \makevalueexpandable
-+ \turnoffactive
-+ \ifx \declaredencoding \latone
-+ % The PDF format can use an extended form of Latin-1 in bookmark
-+ % strings. See Appendix D of the PDF Reference, Sixth Edition, for
-+ % the "PDFDocEncoding".
-+ \passthroughcharstrue
-+ % Pass through Latin-1 characters.
-+ % LuaTeX: Convert to Unicode
-+ % pdfTeX: Use Latin-1 as PDFDocEncoding
-+ \def\pdfoutlinetext{#1}%
-+ \else
-+ \ifx \declaredencoding \utfeight
-+ \ifx\luatexversion\thisisundefined
-+ % For pdfTeX with UTF-8.
-+ % TODO: the PDF format can use UTF-16 in bookmark strings,
-+ % but the code for this isn't done yet.
-+ % Use ASCII approximations.
-+ \passthroughcharsfalse
-+ \def\pdfoutlinetext{#1}%
-+ \else
-+ % For LuaTeX with UTF-8.
-+ % Pass through Unicode characters for title texts.
-+ \passthroughcharstrue
-+ \def\pdfoutlinetext{#1}%
-+ \fi
-+ \else
-+ % For non-Latin-1 or non-UTF-8 encodings.
-+ % Use ASCII approximations.
-+ \passthroughcharsfalse
-+ \def\pdfoutlinetext{#1}%
-+ \fi
-+ \fi
-+ % LuaTeX: Convert to UTF-16
-+ % pdfTeX: Use Latin-1 as PDFDocEncoding
-+ \txiescapepdfutfsixteen\pdfoutlinetext
-+ }}
-+ %
-+ \def\pdfmkdest#1{%
-+ \setpdfdestname{#1}%
-+ \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
-+ }
-+ %
- % used to mark target names; must be expandable.
- \def\pdfmkpgn#1{#1}
- %
-@@ -1272,18 +1402,13 @@
- % page number. We could generate a destination for the section
- % text in the case where a section has no node, but it doesn't
- % seem worth the trouble, since most documents are normally structured.
-- \edef\pdfoutlinedest{#3}%
-- \ifx\pdfoutlinedest\empty
-- \def\pdfoutlinedest{#4}%
-- \else
-- \txiescapepdf\pdfoutlinedest
-+ \setpdfoutlinetext{#1}
-+ \setpdfdestname{#3}
-+ \ifx\pdfdestname\empty
-+ \def\pdfdestname{#4}%
- \fi
- %
-- % Also escape PDF chars in the display string.
-- \edef\pdfoutlinetext{#1}%
-- \txiescapepdf\pdfoutlinetext
-- %
-- \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
-+ \pdfoutline goto name{\pdfmkpgn{\pdfdestname}}#2{\pdfoutlinetext}%
- }
- %
- \def\pdfmakeoutlines{%
-@@ -1438,41 +1563,297 @@
- \let\pdfmakeoutlines = \relax
- \fi % \ifx\pdfoutput
-
--
--\message{fonts,}
--
--% Change the current font style to #1, remembering it in \curfontstyle.
--% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
--% italics, not bold italics.
- %
--\def\setfontstyle#1{%
-- \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
-- \csname ten#1\endcsname % change the current font
--}
--
--% Select #1 fonts with the current style.
-+% For XeTeX
- %
--\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
--
--\def\rm{\fam=0 \setfontstyle{rm}}
--\def\it{\fam=\itfam \setfontstyle{it}}
--\def\sl{\fam=\slfam \setfontstyle{sl}}
--\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
--\def\tt{\fam=\ttfam \setfontstyle{tt}}
--
--% Unfortunately, we have to override this for titles and the like, since
--% in those cases "rm" is bold. Sigh.
--\def\rmisbold{\rm\def\curfontstyle{bf}}
-+\ifx\XeTeXrevision\thisisundefined
-+\else
-+ %
-+ % XeTeX version check
-+ %
-+ \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99996}>-1
-+ % TeX Live 2016 contains XeTeX 0.99996 and xdvipdfmx 20160307.
-+ % It can use the `dvipdfmx:config' special (from TeX Live SVN r40941).
-+ % For avoiding PDF destination name replacement, we use this special
-+ % instead of xdvipdfmx's command line option `-C 0x0010'.
-+ \special{dvipdfmx:config C 0x0010}
-+ % XeTeX 0.99995+ comes with xdvipdfmx 20160307+.
-+ % It can handle Unicode destination names for PDF.
-+ \txiuseunicodedestnametrue
-+ \else
-+ % XeTeX < 0.99996 (TeX Live < 2016) cannot use the
-+ % `dvipdfmx:config' special.
-+ % So for avoiding PDF destination name replacement,
-+ % xdvipdfmx's command line option `-C 0x0010' is necessary.
-+ %
-+ % XeTeX < 0.99995 can not handle Unicode destination names for PDF
-+ % because xdvipdfmx 20150315 has a UTF-16 conversion issue.
-+ % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
-+ \txiuseunicodedestnamefalse
-+ \fi
-+ %
-+ % Color support
-+ %
-+ \def\rgbDarkRed{0.50 0.09 0.12}
-+ \def\rgbBlack{0 0 0}
-+ %
-+ \def\pdfsetcolor#1{\special{pdf:scolor [#1]}}
-+ %
-+ % Set color, and create a mark which defines \thiscolor accordingly,
-+ % so that \makeheadline knows which color to restore.
-+ \def\setcolor#1{%
-+ \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}%
-+ \domark
-+ \pdfsetcolor{#1}%
-+ }
-+ %
-+ \def\maincolor{\rgbBlack}
-+ \pdfsetcolor{\maincolor}
-+ \edef\thiscolor{\maincolor}
-+ \def\lastcolordefs{}
-+ %
-+ \def\makefootline{%
-+ \baselineskip24pt
-+ \line{\pdfsetcolor{\maincolor}\the\footline}%
-+ }
-+ %
-+ \def\makeheadline{%
-+ \vbox to 0pt{%
-+ \vskip-22.5pt
-+ \line{%
-+ \vbox to8.5pt{}%
-+ % Extract \thiscolor definition from the marks.
-+ \getcolormarks
-+ % Typeset the headline with \maincolor, then restore the color.
-+ \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
-+ }%
-+ \vss
-+ }%
-+ \nointerlineskip
-+ }
-+ %
-+ % PDF outline support
-+ %
-+ % Emulate pdfTeX primitive
-+ \def\pdfdest name#1 xyz{%
-+ \special{pdf:dest (#1) [@thispage /XYZ @xpos @ypos null]}%
-+ }
-+ %
-+ \def\setpdfdestname#1{{%
-+ % We have to set dummies so commands such as @code, and characters
-+ % such as \, aren't expanded when present in a section title.
-+ \indexnofonts
-+ \makevalueexpandable
-+ \turnoffactive
-+ \iftxiuseunicodedestname
-+ % Pass through Unicode characters.
-+ \else
-+ % Use ASCII approximations in destination names.
-+ \passthroughcharsfalse
-+ \fi
-+ \def\pdfdestname{#1}%
-+ \txiescapepdf\pdfdestname
-+ }}
-+ %
-+ \def\setpdfoutlinetext#1{{%
-+ \turnoffactive
-+ % Always use Unicode characters in title texts.
-+ \def\pdfoutlinetext{#1}%
-+ % For XeTeX, xdvipdfmx converts to UTF-16.
-+ % So we do not convert.
-+ \txiescapepdf\pdfoutlinetext
-+ }}
-+ %
-+ \def\pdfmkdest#1{%
-+ \setpdfdestname{#1}%
-+ \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
-+ }
-+ %
-+ % by default, use black for everything.
-+ \def\urlcolor{\rgbBlack}
-+ \def\linkcolor{\rgbBlack}
-+ \def\endlink{\setcolor{\maincolor}\pdfendlink}
-+ %
-+ \def\dopdfoutline#1#2#3#4{%
-+ \setpdfoutlinetext{#1}
-+ \setpdfdestname{#3}
-+ \ifx\pdfdestname\empty
-+ \def\pdfdestname{#4}%
-+ \fi
-+ %
-+ \special{pdf:out [-] #2 << /Title (\pdfoutlinetext) /A
-+ << /S /GoTo /D (\pdfdestname) >> >> }%
-+ }
-+ %
-+ \def\pdfmakeoutlines{%
-+ \begingroup
-+ %
-+ % For XeTeX, counts of subentries are not necessary.
-+ % Therefore, we read toc only once.
-+ %
-+ % We use node names as destinations.
-+ \def\partentry##1##2##3##4{}% ignore parts in the outlines
-+ \def\numchapentry##1##2##3##4{%
-+ \dopdfoutline{##1}{1}{##3}{##4}}%
-+ \def\numsecentry##1##2##3##4{%
-+ \dopdfoutline{##1}{2}{##3}{##4}}%
-+ \def\numsubsecentry##1##2##3##4{%
-+ \dopdfoutline{##1}{3}{##3}{##4}}%
-+ \def\numsubsubsecentry##1##2##3##4{%
-+ \dopdfoutline{##1}{4}{##3}{##4}}%
-+ %
-+ \let\appentry\numchapentry%
-+ \let\appsecentry\numsecentry%
-+ \let\appsubsecentry\numsubsecentry%
-+ \let\appsubsubsecentry\numsubsubsecentry%
-+ \let\unnchapentry\numchapentry%
-+ \let\unnsecentry\numsecentry%
-+ \let\unnsubsecentry\numsubsecentry%
-+ \let\unnsubsubsecentry\numsubsubsecentry%
-+ %
-+ % For XeTeX, xdvipdfmx converts strings to UTF-16.
-+ % Therefore, the encoding and the language may not be considered.
-+ %
-+ \indexnofonts
-+ \setupdatafile
-+ % We can have normal brace characters in the PDF outlines, unlike
-+ % Texinfo index files. So set that up.
-+ \def\{{\lbracecharliteral}%
-+ \def\}{\rbracecharliteral}%
-+ \catcode`\\=\active \otherbackslash
-+ \input \tocreadfilename
-+ \endgroup
-+ }
-+ {\catcode`[=1 \catcode`]=2
-+ \catcode`{=\other \catcode`}=\other
-+ \gdef\lbracecharliteral[{]%
-+ \gdef\rbracecharliteral[}]%
-+ ]
-
--% Texinfo sort of supports the sans serif font style, which plain TeX does not.
--% So we set up a \sf.
--\newfam\sffam
--\def\sf{\fam=\sffam \setfontstyle{sf}}
--\let\li = \sf % Sometimes we call it \li, not \sf.
-+ \special{pdf:docview << /PageMode /UseOutlines >> }
-+ % ``\special{pdf:tounicode ...}'' is not necessary
-+ % because xdvipdfmx converts strings from UTF-8 to UTF-16 without it.
-+ % However, due to a UTF-16 conversion issue of xdvipdfmx 20150315,
-+ % ``\special{pdf:dest ...}'' cannot handle non-ASCII strings.
-+ % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
-+%
-+ \def\skipspaces#1{\def\PP{#1}\def\D{|}%
-+ \ifx\PP\D\let\nextsp\relax
-+ \else\let\nextsp\skipspaces
-+ \addtokens{\filename}{\PP}%
-+ \advance\filenamelength by 1
-+ \fi
-+ \nextsp}
-+ \def\getfilename#1{%
-+ \filenamelength=0
-+ % If we don't expand the argument now, \skipspaces will get
-+ % snagged on things like "@value{foo}".
-+ \edef\temp{#1}%
-+ \expandafter\skipspaces\temp|\relax
-+ }
-+ % make a live url in pdf output.
-+ \def\pdfurl#1{%
-+ \begingroup
-+ % it seems we really need yet another set of dummies; have not
-+ % tried to figure out what each command should do in the context
-+ % of @url. for now, just make @/ a no-op, that's the only one
-+ % people have actually reported a problem with.
-+ %
-+ \normalturnoffactive
-+ \def\@{@}%
-+ \let\/=\empty
-+ \makevalueexpandable
-+ % do we want to go so far as to use \indexnofonts instead of just
-+ % special-casing \var here?
-+ \def\var##1{##1}%
-+ %
-+ \leavevmode\setcolor{\urlcolor}%
-+ \special{pdf:bann << /Border [0 0 0]
-+ /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
-+ \endgroup}
-+ \def\endlink{\setcolor{\maincolor}\special{pdf:eann}}
-+ \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
-+ \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
-+ \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
-+ \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
-+ \def\maketoks{%
-+ \expandafter\poptoks\the\toksA|ENDTOKS|\relax
-+ \ifx\first0\adn0
-+ \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
-+ \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
-+ \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
-+ \else
-+ \ifnum0=\countA\else\makelink\fi
-+ \ifx\first.\let\next=\done\else
-+ \let\next=\maketoks
-+ \addtokens{\toksB}{\the\toksD}
-+ \ifx\first,\addtokens{\toksB}{\space}\fi
-+ \fi
-+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-+ \next}
-+ \def\makelink{\addtokens{\toksB}%
-+ {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
-+ \def\pdflink#1{%
-+ \special{pdf:bann << /Border [0 0 0]
-+ /Type /Annot /Subtype /Link /A << /S /GoTo /D (#1) >> >>}%
-+ \setcolor{\linkcolor}#1\endlink}
-+ \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
-+%
-+ %
-+ % @image support
-+ %
-+ % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
-+ \def\doxeteximage#1#2#3{%
-+ \def\xeteximagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
-+ \def\xeteximageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
-+ %
-+ % XeTeX (and the PDF format) supports .pdf, .png, .jpg (among
-+ % others). Let's try in that order, PDF first since if
-+ % someone has a scalable image, presumably better to use that than a
-+ % bitmap.
-+ \let\xeteximgext=\empty
-+ \begingroup
-+ \openin 1 #1.pdf \ifeof 1
-+ \openin 1 #1.PDF \ifeof 1
-+ \openin 1 #1.png \ifeof 1
-+ \openin 1 #1.jpg \ifeof 1
-+ \openin 1 #1.jpeg \ifeof 1
-+ \openin 1 #1.JPG \ifeof 1
-+ \errmessage{Could not find image file #1 for XeTeX}%
-+ \else \gdef\xeteximgext{JPG}%
-+ \fi
-+ \else \gdef\xeteximgext{jpeg}%
-+ \fi
-+ \else \gdef\xeteximgext{jpg}%
-+ \fi
-+ \else \gdef\xeteximgext{png}%
-+ \fi
-+ \else \gdef\xeteximgext{PDF}%
-+ \fi
-+ \else \gdef\xeteximgext{pdf}%
-+ \fi
-+ \closein 1
-+ \endgroup
-+ %
-+ \def\xetexpdfext{pdf}%
-+ \ifx\xeteximgext\xetexpdfext
-+ \XeTeXpdffile "#1".\xeteximgext ""
-+ \else
-+ \def\xetexpdfext{PDF}%
-+ \ifx\xeteximgext\xetexpdfext
-+ \XeTeXpdffile "#1".\xeteximgext ""
-+ \else
-+ \XeTeXpicfile "#1".\xeteximgext ""
-+ \fi
-+ \fi
-+ \ifdim \wd0 >0pt width \xeteximagewidth \fi
-+ \ifdim \wd2 >0pt height \xeteximageheight \fi \relax
-+ }
-+\fi
-
--% We don't need math for this font style.
--\def\ttsl{\setfontstyle{ttsl}}
-
-+%
-+\message{fonts,}
-
- % Set the baselineskip to #1, and the lineskip and strut size
- % correspondingly. There is no deep meaning behind these magic numbers
-@@ -1821,8 +2202,10 @@
- % A few fonts for @defun names and args.
- \setfont\defbf\bfshape{10}{\magstep1}{OT1}
- \setfont\deftt\ttshape{10}{\magstep1}{OT1TT}
-+\setfont\defsl\slshape{10}{\magstep1}{OT1TT}
- \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT}
--\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
-+\def\df{\let\ttfont=\deftt \let\bffont = \defbf
-+\let\ttslfont=\defttsl \let\slfont=\defsl \bf}
-
- % Fonts for indices, footnotes, small examples (9pt).
- \def\smallnominalsize{9pt}
-@@ -1883,6 +2266,7 @@
- % Section fonts (14.4pt).
- \def\secnominalsize{14pt}
- \setfont\secrm\rmbshape{12}{\magstep1}{OT1}
-+\setfont\secrmnotbold\rmshape{12}{\magstep1}{OT1}
- \setfont\secit\itbshape{10}{\magstep2}{OT1IT}
- \setfont\secsl\slbshape{10}{\magstep2}{OT1}
- \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT}
-@@ -1908,7 +2292,7 @@
- \font\ssecsy=cmsy10 scaled 1315
- \def\ssececsize{1200}
-
--% Reduced fonts for @acro in text (10pt).
-+% Reduced fonts for @acronym in text (10pt).
- \def\reducednominalsize{10pt}
- \setfont\reducedrm\rmshape{10}{1000}{OT1}
- \setfont\reducedtt\ttshape{10}{1000}{OT1TT}
-@@ -1952,8 +2336,10 @@
- % A few fonts for @defun names and args.
- \setfont\defbf\bfshape{10}{\magstephalf}{OT1}
- \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT}
-+\setfont\defsl\slshape{10}{\magstephalf}{OT1TT}
- \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT}
--\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
-+\def\df{\let\ttfont=\deftt \let\bffont = \defbf
-+\let\slfont=\defsl \let\ttslfont=\defttsl \bf}
-
- % Fonts for indices, footnotes, small examples (9pt).
- \def\smallnominalsize{9pt}
-@@ -2039,7 +2425,7 @@
- \font\ssecsy=cmsy10
- \def\ssececsize{1000}
-
--% Reduced fonts for @acro in text (9pt).
-+% Reduced fonts for @acronym in text (9pt).
- \def\reducednominalsize{9pt}
- \setfont\reducedrm\rmshape{9}{1000}{OT1}
- \setfont\reducedtt\ttshape{9}{1000}{OT1TT}
-@@ -2059,6 +2445,12 @@
- \rm
- } % end of 10pt text font size definitions, \definetextfontsizex
-
-+% Fonts for short table of contents.
-+\setfont\shortcontrm\rmshape{12}{1000}{OT1}
-+\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12
-+\setfont\shortcontsl\slshape{12}{1000}{OT1}
-+\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
-+
-
- % We provide the user-level command
- % @fonttextsize 10
-@@ -2085,20 +2477,47 @@
- \endgroup
- }
-
-+%
-+% Change the current font style to #1, remembering it in \curfontstyle.
-+% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
-+% italics, not bold italics.
-+%
-+\def\setfontstyle#1{%
-+ \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
-+ \csname #1font\endcsname % change the current font
-+}
-+
-+\def\rm{\fam=0 \setfontstyle{rm}}
-+\def\it{\fam=\itfam \setfontstyle{it}}
-+\def\sl{\fam=\slfam \setfontstyle{sl}}
-+\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
-+\def\tt{\fam=\ttfam \setfontstyle{tt}}
-+
-+% Texinfo sort of supports the sans serif font style, which plain TeX does not.
-+% So we set up a \sf.
-+\newfam\sffam
-+\def\sf{\fam=\sffam \setfontstyle{sf}}
-+
-+% We don't need math for this font style.
-+\def\ttsl{\setfontstyle{ttsl}}
-+
-+
- % In order for the font changes to affect most math symbols and letters,
- % we have to define the \textfont of the standard families. We don't
- % bother to reset \scriptfont and \scriptscriptfont; awaiting user need.
- %
- \def\resetmathfonts{%
-- \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
-- \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
-- \textfont\ttfam=\tentt \textfont\sffam=\tensf
-+ \textfont0=\rmfont \textfont1=\ifont \textfont2=\syfont
-+ \textfont\itfam=\itfont \textfont\slfam=\slfont \textfont\bffam=\bffont
-+ \textfont\ttfam=\ttfont \textfont\sffam=\sffont
- }
-
--% The font-changing commands redefine the meanings of \tenSTYLE, instead
--% of just \STYLE. We do this because \STYLE needs to also set the
--% current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire
--% \tenSTYLE to set the current font.
-+%
-+
-+% The font-changing commands (all called \...fonts) redefine the meanings
-+% of \STYLEfont, instead of just \STYLE. We do this because \STYLE needs
-+% to also set the current \fam for math mode. Our \STYLE (e.g., \rm)
-+% commands hardwire \STYLEfont to set the current font.
- %
- % Each font-changing command also sets the names \lsize (one size lower)
- % and \lllsize (three sizes lower). These relative commands are used
-@@ -2106,78 +2525,63 @@
- %
- % This all needs generalizing, badly.
- %
--\def\textfonts{%
-- \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
-- \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
-- \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
-- \let\tenttsl=\textttsl
-- \def\curfontsize{text}%
-- \def\lsize{reduced}\def\lllsize{smaller}%
-- \resetmathfonts \setleading{\textleading}}
--\def\titlefonts{%
-- \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
-- \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
-- \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
-- \let\tenttsl=\titlettsl
-- \def\curfontsize{title}%
-- \def\lsize{chap}\def\lllsize{subsec}%
-- \resetmathfonts \setleading{27pt}}
--\def\titlefont#1{{\titlefonts\rmisbold #1}}
--\def\chapfonts{%
-- \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
-- \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
-- \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
-- \let\tenttsl=\chapttsl
-- \def\curfontsize{chap}%
-- \def\lsize{sec}\def\lllsize{text}%
-- \resetmathfonts \setleading{19pt}}
--\def\secfonts{%
-- \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
-- \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
-- \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
-- \let\tenttsl=\secttsl
-- \def\curfontsize{sec}%
-- \def\lsize{subsec}\def\lllsize{reduced}%
-- \resetmathfonts \setleading{17pt}}
--\def\subsecfonts{%
-- \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
-- \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
-- \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
-- \let\tenttsl=\ssecttsl
-- \def\curfontsize{ssec}%
-- \def\lsize{text}\def\lllsize{small}%
-- \resetmathfonts \setleading{15pt}}
--\let\subsubsecfonts = \subsecfonts
--\def\reducedfonts{%
-- \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
-- \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
-- \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
-- \let\tenttsl=\reducedttsl
-- \def\curfontsize{reduced}%
-- \def\lsize{small}\def\lllsize{smaller}%
-- \resetmathfonts \setleading{10.5pt}}
--\def\smallfonts{%
-- \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
-- \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
-- \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
-- \let\tenttsl=\smallttsl
-- \def\curfontsize{small}%
-- \def\lsize{smaller}\def\lllsize{smaller}%
-- \resetmathfonts \setleading{10.5pt}}
--\def\smallerfonts{%
-- \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
-- \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
-- \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
-- \let\tenttsl=\smallerttsl
-- \def\curfontsize{smaller}%
-- \def\lsize{smaller}\def\lllsize{smaller}%
-- \resetmathfonts \setleading{9.5pt}}
-
--% Fonts for short table of contents.
--\setfont\shortcontrm\rmshape{12}{1000}{OT1}
--\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12
--\setfont\shortcontsl\slshape{12}{1000}{OT1}
--\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
-+\def\assignfonts#1{%
-+ \expandafter\let\expandafter\rmfont\csname #1rm\endcsname
-+ \expandafter\let\expandafter\itfont\csname #1it\endcsname
-+ \expandafter\let\expandafter\slfont\csname #1sl\endcsname
-+ \expandafter\let\expandafter\bffont\csname #1bf\endcsname
-+ \expandafter\let\expandafter\ttfont\csname #1tt\endcsname
-+ \expandafter\let\expandafter\smallcaps\csname #1sc\endcsname
-+ \expandafter\let\expandafter\sffont \csname #1sf\endcsname
-+ \expandafter\let\expandafter\ifont \csname #1i\endcsname
-+ \expandafter\let\expandafter\syfont \csname #1sy\endcsname
-+ \expandafter\let\expandafter\ttslfont\csname #1ttsl\endcsname
-+}
-+
-+\newif\ifrmisbold
-+
-+% Select smaller font size with the current style. Used to change font size
-+% in, e.g., the LaTeX logo and acronyms. If we are using bold fonts for
-+% normal roman text, also use bold fonts for roman text in the smaller size.
-+\def\switchtolllsize{%
-+ \expandafter\assignfonts\expandafter{\lllsize}%
-+ \ifrmisbold
-+ \let\rmfont\bffont
-+ \fi
-+ \csname\curfontstyle\endcsname
-+}%
-+
-+\def\switchtolsize{%
-+ \expandafter\assignfonts\expandafter{\lsize}%
-+ \ifrmisbold
-+ \let\rmfont\bffont
-+ \fi
-+ \csname\curfontstyle\endcsname
-+}%
-+
-+\def\definefontsetatsize#1#2#3#4#5{%
-+\expandafter\def\csname #1fonts\endcsname{%
-+ \def\curfontsize{#1}%
-+ \def\lsize{#2}\def\lllsize{#3}%
-+ \csname rmisbold#5\endcsname
-+ \assignfonts{#1}%
-+ \resetmathfonts
-+ \setleading{#4}%
-+}}
-+
-+\definefontsetatsize{text} {reduced}{smaller}{\textleading}{false}
-+\definefontsetatsize{title} {chap} {subsec} {27pt} {true}
-+\definefontsetatsize{chap} {sec} {text} {19pt} {true}
-+\definefontsetatsize{sec} {subsec} {reduced}{17pt} {true}
-+\definefontsetatsize{ssec} {text} {small} {15pt} {true}
-+\definefontsetatsize{reduced}{small} {smaller}{10.5pt}{false}
-+\definefontsetatsize{small} {smaller}{smaller}{10.5pt}{false}
-+\definefontsetatsize{smaller}{smaller}{smaller}{9.5pt} {false}
-+
-+\def\titlefont#1{{\titlefonts\rm #1}}
-+\let\subsecfonts = \ssecfonts
-+\let\subsubsecfonts = \ssecfonts
-
- % Define these just so they can be easily changed for other fonts.
- \def\angleleft{$\langle$}
-@@ -2424,8 +2828,8 @@
- %
- \catcode`@=11
- \def\plainfrenchspacing{%
-- \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
-- \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
-+ \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m
-+ \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m
- \def\endofsentencespacefactor{1000}% for @. and friends
- }
- \def\plainnonfrenchspacing{%
-@@ -2593,6 +2997,7 @@
- \setbox0 = \hbox{\ignorespaces #2}% look for second arg
- \ifdim\wd0 > 0pt
- \ifpdf
-+ % For pdfTeX and LuaTeX
- \ifurefurlonlylink
- % PDF plus option to not display url, show just arg
- \unhbox0
-@@ -2602,7 +3007,19 @@
- \unhbox0\ (\urefcode{#1})%
- \fi
- \else
-- \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
-+ \ifx\XeTeXrevision\thisisundefined
-+ \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
-+ \else
-+ % For XeTeX
-+ \ifurefurlonlylink
-+ % PDF plus option to not display url, show just arg
-+ \unhbox0
-+ \else
-+ % PDF, normally display both arg and url for consistency,
-+ % visibility, if the pdf is eventually used to print, etc.
-+ \unhbox0\ (\urefcode{#1})%
-+ \fi
-+ \fi
- \fi
- \else
- \urefcode{#1}% only url given, so show it
-@@ -2613,9 +3030,9 @@
-
- % Allow line breaks around only a few characters (only).
- \def\urefcatcodes{%
-- \catcode\ampChar=\active \catcode\dotChar=\active
-- \catcode\hashChar=\active \catcode\questChar=\active
-- \catcode\slashChar=\active
-+ \catcode`\&=\active \catcode`\.=\active
-+ \catcode`\#=\active \catcode`\?=\active
-+ \catcode`\/=\active
- }
- {
- \urefcatcodes
-@@ -2703,7 +3120,18 @@
- \endlink
- \endgroup}
- \else
-- \let\email=\uref
-+ \ifx\XeTeXrevision\thisisundefined
-+ \let\email=\uref
-+ \else
-+ \def\email#1{\doemail#1,,\finish}
-+ \def\doemail#1,#2,#3\finish{\begingroup
-+ \unsepspaces
-+ \pdfurl{mailto:#1}%
-+ \setbox0 = \hbox{\ignorespaces #2}%
-+ \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
-+ \endlink
-+ \endgroup}
-+ \fi
- \fi
-
- % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
-@@ -2772,18 +3200,13 @@
- %
- \def\dmn#1{\thinspace #1}
-
--% @l was never documented to mean ``switch to the Lisp font'',
--% and it is not used as such in any manual I can find. We need it for
--% Polish suppressed-l. --karl, 22sep96.
--%\def\l#1{{\li #1}\null}
--
- % @acronym for "FBI", "NATO", and the like.
- % We print this one point size smaller, since it's intended for
- % all-uppercase.
- %
- \def\acronym#1{\doacronym #1,,\finish}
- \def\doacronym#1,#2,#3\finish{%
-- {\selectfonts\lsize #1}%
-+ {\switchtolsize #1}%
- \def\temp{#2}%
- \ifx\temp\empty \else
- \space ({\unsepspaces \ignorespaces \temp \unskip})%
-@@ -2829,23 +3252,24 @@
- \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
- %
- \def\math{%
-- \tex
-- \mathunderscore
-- \let\\ = \mathbackslash
-- \mathactive
-- % make the texinfo accent commands work in math mode
-- \let\"=\ddot
-- \let\'=\acute
-- \let\==\bar
-- \let\^=\hat
-- \let\`=\grave
-- \let\u=\breve
-- \let\v=\check
-- \let\~=\tilde
-- \let\dotaccent=\dot
-- % have to provide another name for sup operator
-- \let\mathopsup=\sup
-- $\finishmath
-+ \ifmmode\else % only go into math if not in math mode already
-+ \tex
-+ \mathunderscore
-+ \let\\ = \mathbackslash
-+ \mathactive
-+ % make the texinfo accent commands work in math mode
-+ \let\"=\ddot
-+ \let\'=\acute
-+ \let\==\bar
-+ \let\^=\hat
-+ \let\`=\grave
-+ \let\u=\breve
-+ \let\v=\check
-+ \let\~=\tilde
-+ \let\dotaccent=\dot
-+ % have to provide another name for sup operator
-+ \let\mathopsup=\sup
-+ $\expandafter\finishmath\fi
- }
- \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
-
-@@ -2875,13 +3299,10 @@
- % fix it (significant additions to font machinery) until someone notices.
- %
- \def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi}
--\def\finishsub#1{$\sb{\hbox{\selectfonts\lllsize #1}}$}%
-+\def\finishsub#1{$\sb{\hbox{\switchtolllsize #1}}$}%
- %
- \def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi}
--\def\finishsup#1{$\ptexsp{\hbox{\selectfonts\lllsize #1}}$}%
--
--% ctrl is no longer a Texinfo command, but leave this definition for fun.
--\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-+\def\finishsup#1{$\ptexsp{\hbox{\switchtolllsize #1}}$}%
-
- % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
- % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
-@@ -2945,23 +3366,10 @@
- \let\atchar=\@
-
- % @{ @} @lbracechar{} @rbracechar{} all generate brace characters.
--% Unless we're in typewriter, use \ecfont because the CM text fonts do
--% not have braces, and we don't want to switch into math.
--\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}}
--\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
--\let\{=\mylbrace \let\lbracechar=\{
--\let\}=\myrbrace \let\rbracechar=\}
--\begingroup
-- % Definitions to produce \{ and \} commands for indices,
-- % and @{ and @} for the aux/toc files.
-- \catcode`\{ = \other \catcode`\} = \other
-- \catcode`\[ = 1 \catcode`\] = 2
-- \catcode`\! = 0 \catcode`\\ = \other
-- !gdef!lbracecmd[\{]%
-- !gdef!rbracecmd[\}]%
-- !gdef!lbraceatcmd[@{]%
-- !gdef!rbraceatcmd[@}]%
--!endgroup
-+\def\lbracechar{{\ifmonospace\char123\else\ensuremath\lbrace\fi}}
-+\def\rbracechar{{\ifmonospace\char125\else\ensuremath\rbrace\fi}}
-+\let\{=\lbracechar
-+\let\}=\rbracechar
-
- % @comma{} to avoid , parsing problems.
- \let\comma = ,
-@@ -2979,8 +3387,8 @@
- % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
- \def\questiondown{?`}
- \def\exclamdown{!`}
--\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
--\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
-+\def\ordf{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{a}}}
-+\def\ordm{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{o}}}
-
- % Dotless i and dotless j, used for accents.
- \def\imacro{i}
-@@ -3009,12 +3417,12 @@
- {\setbox0=\hbox{T}%
- \vbox to \ht0{\hbox{%
- \ifx\textnominalsize\xwordpt
-- % for 10pt running text, \lllsize (8pt) is too small for the A in LaTeX.
-+ % for 10pt running text, lllsize (8pt) is too small for the A in LaTeX.
- % Revert to plain's \scriptsize, which is 7pt.
- \count255=\the\fam $\fam\count255 \scriptstyle A$%
- \else
- % For 11pt, we can use our lllsize.
-- \selectfonts\lllsize A%
-+ \switchtolllsize A%
- \fi
- }%
- \vss
-@@ -3080,7 +3488,7 @@
- %
- \newbox\errorbox
- %
--{\tentt \global\dimen0 = 3em}% Width of the box.
-+{\ttfont \global\dimen0 = 3em}% Width of the box.
- \dimen2 = .55pt % Thickness of rules
- % The text. (`r' is open on the right, `e' somewhat less so on the left.)
- \setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
-@@ -3196,8 +3604,15 @@
- \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E}
- \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e}
- %
--% Use the ec* fonts (cm-super in outline format) for non-CM glyphs.
--\def\ecfont{%
-+% Use the European Computer Modern fonts (cm-super in outline format)
-+% for non-CM glyphs. That is ec* for regular text and tc* for the text
-+% companion symbols (LaTeX TS1 encoding). Both are part of the ec
-+% package and follow the same conventions.
-+%
-+\def\ecfont{\etcfont{e}}
-+\def\tcfont{\etcfont{t}}
-+%
-+\def\etcfont#1{%
- % We can't distinguish serif/sans and italic/slanted, but this
- % is used for crude hacks anyway (like adding French and German
- % quotes to documents typeset with CM, where we lose kerning), so
-@@ -3206,14 +3621,14 @@
- \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
- \ifmonospace
- % typewriter:
-- \font\thisecfont = ectt\ecsize \space at \nominalsize
-+ \font\thisecfont = #1ctt\ecsize \space at \nominalsize
- \else
- \ifx\curfontstyle\bfstylename
- % bold:
-- \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
-+ \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
- \else
- % regular:
-- \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
-+ \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize
- \fi
- \fi
- \thisecfont
-@@ -3224,7 +3639,7 @@
- % Adapted from the plain.tex definition of \copyright.
- %
- \def\registeredsymbol{%
-- $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
-+ $^{{\ooalign{\hfil\raise.07ex\hbox{\switchtolllsize R}%
- \hfil\crcr\Orb}}%
- }$%
- }
-@@ -3257,13 +3672,16 @@
- \newif\ifseenauthor
- \newif\iffinishedtitlepage
-
--% Do an implicit @contents or @shortcontents after @end titlepage if the
--% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
--%
--\newif\ifsetcontentsaftertitlepage
-- \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
--\newif\ifsetshortcontentsaftertitlepage
-- \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-+% @setcontentsaftertitlepage used to do an implicit @contents or
-+% @shortcontents after @end titlepage, but it is now obsolete.
-+\def\setcontentsaftertitlepage{%
-+ \errmessage{@setcontentsaftertitlepage has been removed as a Texinfo
-+ command; move your @contents command if you want the contents
-+ after the title page.}}%
-+\def\setshortcontentsaftertitlepage{%
-+ \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo
-+ command; move your @shortcontents and @contents commands if you
-+ want the contents after the title page.}}%
-
- \parseargdef\shorttitlepage{%
- \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
-@@ -3305,20 +3723,6 @@
- % Need this before the \...aftertitlepage checks so that if they are
- % in effect the toc pages will come out with page numbers.
- \HEADINGSon
-- %
-- % If they want short, they certainly want long too.
-- \ifsetshortcontentsaftertitlepage
-- \shortcontents
-- \contents
-- \global\let\shortcontents = \relax
-- \global\let\contents = \relax
-- \fi
-- %
-- \ifsetcontentsaftertitlepage
-- \contents
-- \global\let\contents = \relax
-- \global\let\shortcontents = \relax
-- \fi
- }
-
- \def\finishtitlepage{%
-@@ -3329,12 +3733,11 @@
-
- % Settings used for typesetting titles: no hyphenation, no indentation,
- % don't worry much about spacing, ragged right. This should be used
--% inside a \vbox, and fonts need to be set appropriately first. Because
--% it is always used for titles, nothing else, we call \rmisbold. \par
--% should be specified before the end of the \vbox, since a vbox is a group.
-+% inside a \vbox, and fonts need to be set appropriately first. \par should
-+% be specified before the end of the \vbox, since a vbox is a group.
- %
- \def\raggedtitlesettings{%
-- \rmisbold
-+ \rm
- \hyphenpenalty=10000
- \parindent=0pt
- \tolerance=5000
-@@ -3343,7 +3746,7 @@
-
- % Macros to be used within @titlepage:
-
--\let\subtitlerm=\tenrm
-+\let\subtitlerm=\rmfont
- \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
-
- \parseargdef\title{%
-@@ -3369,7 +3772,7 @@
- \else
- \checkenv\titlepage
- \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
-- {\secfonts\rmisbold \leftline{#1}}%
-+ {\secfonts\rm \leftline{#1}}%
- \fi
- }
-
-@@ -3383,7 +3786,7 @@
- \newtoks\evenfootline % footline on even pages
- \newtoks\oddfootline % footline on odd pages
-
--% Now make TeX use those variables
-+% Now make \makeheadline and \makefootline in Plain TeX use those variables
- \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
- \else \the\evenheadline \fi}}
- \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
-@@ -3422,7 +3825,7 @@
- %
- % Leave some space for the footline. Hopefully ok to assume
- % @evenfooting will not be used by itself.
-- \global\advance\pageheight by -12pt
-+ \global\advance\txipageheight by -12pt
- \global\advance\vsize by -12pt
- }
-
-@@ -3439,13 +3842,17 @@
- % @everyheadingmarks
- % @everyfootingmarks
-
-+% These define \getoddheadingmarks, \getevenheadingmarks,
-+% \getoddfootingmarks, and \getevenfootingmarks, each to one of
-+% \gettopheadingmarks, \getbottomheadingmarks.
-+%
- \def\evenheadingmarks{\headingmarks{even}{heading}}
- \def\oddheadingmarks{\headingmarks{odd}{heading}}
- \def\evenfootingmarks{\headingmarks{even}{footing}}
- \def\oddfootingmarks{\headingmarks{odd}{footing}}
--\def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1}
-+\parseargdef\everyheadingmarks{\headingmarks{even}{heading}{#1}
- \headingmarks{odd}{heading}{#1} }
--\def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1}
-+\parseargdef\everyfootingmarks{\headingmarks{even}{footing}{#1}
- \headingmarks{odd}{footing}{#1} }
- % #1 = even/odd, #2 = heading/footing, #3 = top/bottom.
- \def\headingmarks#1#2#3 {%
-@@ -3466,7 +3873,7 @@
- % By default, they are off at the start of a document,
- % and turned `on' after @end titlepage.
-
--\def\headings #1 {\csname HEADINGS#1\endcsname}
-+\parseargdef\headings{\csname HEADINGS#1\endcsname}
-
- \def\headingsoff{% non-global headings elimination
- \evenheadline={\hfil}\evenfootline={\hfil}%
-@@ -3486,7 +3893,7 @@
- \global\evenfootline={\hfil}
- \global\oddfootline={\hfil}
- \global\evenheadline={\line{\folio\hfil\thistitle}}
--\global\oddheadline={\line{\thischapter\hfil\folio}}
-+\global\oddheadline={\line{\thischapterheading\hfil\folio}}
- \global\let\contentsalignmacro = \chapoddpage
- }
- \let\contentsalignmacro = \chappager
-@@ -3497,8 +3904,8 @@
- \global\pageno=1
- \global\evenfootline={\hfil}
- \global\oddfootline={\hfil}
--\global\evenheadline={\line{\thischapter\hfil\folio}}
--\global\oddheadline={\line{\thischapter\hfil\folio}}
-+\global\evenheadline={\line{\thischapterheading\hfil\folio}}
-+\global\oddheadline={\line{\thischapterheading\hfil\folio}}
- \global\let\contentsalignmacro = \chappager
- }
- \def\HEADINGSon{\HEADINGSdouble}
-@@ -3509,7 +3916,7 @@
- \global\evenfootline={\hfil}
- \global\oddfootline={\hfil}
- \global\evenheadline={\line{\folio\hfil\thistitle}}
--\global\oddheadline={\line{\thischapter\hfil\folio}}
-+\global\oddheadline={\line{\thischapterheading\hfil\folio}}
- \global\let\contentsalignmacro = \chapoddpage
- }
-
-@@ -3517,8 +3924,8 @@
- \def\HEADINGSsinglex{%
- \global\evenfootline={\hfil}
- \global\oddfootline={\hfil}
--\global\evenheadline={\line{\thischapter\hfil\folio}}
--\global\oddheadline={\line{\thischapter\hfil\folio}}
-+\global\evenheadline={\line{\thischapterheading\hfil\folio}}
-+\global\oddheadline={\line{\thischapterheading\hfil\folio}}
- \global\let\contentsalignmacro = \chappager
- }
-
-@@ -3728,7 +4135,12 @@
- \noindent
- \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
- %
-- \vadjust{\penalty 1200}}% not good to break after first line of item.
-+ \ifinner\else
-+ \vadjust{\penalty 1200}% not good to break after first line of item.
-+ \fi
-+ % We can be in inner vertical mode in a footnote, although an
-+ % @itemize looks awful there.
-+ }%
- \flushcr
- }
-
-@@ -4275,6 +4687,31 @@
- \fi
- }
-
-+% Like \expandablevalue, but completely expandable (the \message in the
-+% definition above operates at the execution level of TeX). Used when
-+% writing to auxiliary files, due to the expansion that \write does.
-+% If flag is undefined, pass through an unexpanded @value command: maybe it
-+% will be set by the time it is read back in.
-+%
-+% NB flag names containing - or _ may not work here.
-+\def\dummyvalue#1{%
-+ \expandafter\ifx\csname SET#1\endcsname\relax
-+ \noexpand\value{#1}%
-+ \else
-+ \csname SET#1\endcsname
-+ \fi
-+}
-+
-+% Used for @value's in index entries to form the sort key: expand the @value
-+% if possible, otherwise sort late.
-+\def\indexnofontsvalue#1{%
-+ \expandafter\ifx\csname SET#1\endcsname\relax
-+ ZZZZZZZ
-+ \else
-+ \csname SET#1\endcsname
-+ \fi
-+}
-+
- % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
- % with @set.
- %
-@@ -4350,19 +4787,16 @@
- % except not \outer, so it can be used within macros and \if's.
- \edef\newwrite{\makecsname{ptexnewwrite}}
-
--% \newindex {foo} defines an index named foo.
--% It automatically defines \fooindex such that
--% \fooindex ...rest of line... puts an entry in the index foo.
--% It also defines \fooindfile to be the number of the output channel for
--% the file that accumulates this index. The file's extension is foo.
-+% \newindex {foo} defines an index named IX.
-+% It automatically defines \IXindex such that
-+% \IXindex ...rest of line... puts an entry in the index IX.
-+% It also defines \IXindfile to be the number of the output channel for
-+% the file that accumulates this index. The file's extension is IX.
- % The name of an index should be no more than 2 characters long
- % for the sake of vms.
- %
- \def\newindex#1{%
-- \iflinks
-- \expandafter\newwrite \csname#1indfile\endcsname
-- \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
-- \fi
-+ \expandafter\chardef\csname#1indfile\endcsname=0
- \expandafter\xdef\csname#1index\endcsname{% % Define @#1index
- \noexpand\doindex{#1}}
- }
-@@ -4376,14 +4810,19 @@
- \def\defcodeindex{\parsearg\newcodeindex}
- %
- \def\newcodeindex#1{%
-- \iflinks
-- \expandafter\newwrite \csname#1indfile\endcsname
-- \openout \csname#1indfile\endcsname \jobname.#1
-- \fi
-+ \expandafter\chardef\csname#1indfile\endcsname=0
- \expandafter\xdef\csname#1index\endcsname{%
- \noexpand\docodeindex{#1}}%
- }
-
-+% The default indices:
-+\newindex{cp}% concepts,
-+\newcodeindex{fn}% functions,
-+\newcodeindex{vr}% variables,
-+\newcodeindex{tp}% types,
-+\newcodeindex{ky}% keys
-+\newcodeindex{pg}% and programs.
-+
-
- % @synindex foo bar makes index foo feed into index bar.
- % Do this instead of @defindex foo if you don't want it as a separate index.
-@@ -4397,14 +4836,7 @@
- % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
- % #3 the target index (bar).
- \def\dosynindex#1#2#3{%
-- % Only do \closeout if we haven't already done it, else we'll end up
-- % closing the target index.
-- \expandafter \ifx\csname donesynindex#2\endcsname \relax
-- % The \closeout helps reduce unnecessary open files; the limit on the
-- % Acorn RISC OS is a mere 16 files.
-- \expandafter\closeout\csname#2indfile\endcsname
-- \expandafter\let\csname donesynindex#2\endcsname = 1
-- \fi
-+ \requireopenindexfile{#3}%
- % redefine \fooindfile:
- \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
- \expandafter\let\csname#2indfile\endcsname=\temp
-@@ -4412,106 +4844,72 @@
- \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
- }
-
--% Define \doindex, the driver for all \fooindex macros.
-+% Define \doindex, the driver for all index macros.
- % Argument #1 is generated by the calling \fooindex macro,
--% and it is "foo", the name of the index.
--
--% \doindex just uses \parsearg; it calls \doind for the actual work.
--% This is because \doind is more useful to call from other macros.
--
--% There is also \dosubind {index}{topic}{subtopic}
--% which makes an entry in a two-level index such as the operation index.
-+% and it is the two-letter name of the index.
-
--\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
--\def\singleindexer #1{\doind{\indexname}{#1}}
-+\def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx}
-+\def\doindexxxx #1{\doind{\indexname}{#1}}
-
- % like the previous two, but they put @code around the argument.
--\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
--\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
-+\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
-+\def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}}
-
--% Take care of Texinfo commands that can appear in an index entry.
--% Since there are some commands we want to expand, and others we don't,
--% we have to laboriously prevent expansion for those that we don't.
-+
-+% Used when writing an index entry out to an index file to prevent
-+% expansion of Texinfo commands that can appear in an index entry.
- %
- \def\indexdummies{%
- \escapechar = `\\ % use backslash in output files.
-- \def\@{@}% change to @@ when we switch to @ as escape char in index files.
-- \def\ {\realbackslash\space }%
-- %
-- % Need these unexpandable (because we define \tt as a dummy)
-- % definitions when @{ or @} appear in index entry text. Also, more
-- % complicated, when \tex is in effect and \{ is a \delimiter again.
-- % We can't use \lbracecmd and \rbracecmd because texindex assumes
-- % braces and backslashes are used only as delimiters. Perhaps we
-- % should use @lbracechar and @rbracechar?
-- \def\{{{\tt\char123}}%
-- \def\}{{\tt\char125}}%
-- %
-- % I don't entirely understand this, but when an index entry is
-- % generated from a macro call, the \endinput which \scanmacro inserts
-- % causes processing to be prematurely terminated. This is,
-- % apparently, because \indexsorttmp is fully expanded, and \endinput
-- % is an expandable command. The redefinition below makes \endinput
-- % disappear altogether for that purpose -- although logging shows that
-- % processing continues to some further point. On the other hand, it
-- % seems \endinput does not hurt in the printed index arg, since that
-- % is still getting written without apparent harm.
-- %
-- % Sample source (mac-idx3.tex, reported by Graham Percival to
-- % help-texinfo, 22may06):
-- % @macro funindex {WORD}
-- % @findex xyz
-- % @end macro
-- % ...
-- % @funindex commtest
-- % This is not enough to reproduce the bug, but it gives the flavor.
-- %
-- % Sample whatsit resulting:
-- % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
-+ \definedummyletter\@%
-+ \definedummyletter\ %
- %
-- % So:
-- \let\endinput = \empty
-+ % For texindex which always views { and } as separators.
-+ \def\{{\lbracechar{}}%
-+ \def\}{\rbracechar{}}%
- %
- % Do the redefinitions.
-- \commondummies
-+ \definedummies
- }
-
--% For the aux and toc files, @ is the escape character. So we want to
--% redefine everything using @ as the escape character (instead of
--% \realbackslash, still used for index files). When everything uses @,
--% this will be simpler.
-+% Used for the aux and toc files, where @ is the escape character.
- %
- \def\atdummies{%
-- \def\@{@@}%
-- \def\ {@ }%
-- \let\{ = \lbraceatcmd
-- \let\} = \rbraceatcmd
-+ \definedummyletter\@%
-+ \definedummyletter\ %
-+ \definedummyletter\{%
-+ \definedummyletter\}%
- %
- % Do the redefinitions.
-- \commondummies
-+ \definedummies
- \otherbackslash
- }
-
--% Called from \indexdummies and \atdummies.
-+% \definedummyword defines \#1 as \string\#1\space, thus effectively
-+% preventing its expansion. This is used only for control words,
-+% not control letters, because the \space would be incorrect for
-+% control characters, but is needed to separate the control word
-+% from whatever follows.
- %
--\def\commondummies{%
-- % \definedummyword defines \#1 as \string\#1\space, thus effectively
-- % preventing its expansion. This is used only for control words,
-- % not control letters, because the \space would be incorrect for
-- % control characters, but is needed to separate the control word
-- % from whatever follows.
-- %
-- % For control letters, we have \definedummyletter, which omits the
-- % space.
-- %
-- % These can be used both for control words that take an argument and
-- % those that do not. If it is followed by {arg} in the input, then
-- % that will dutifully get written to the index (or wherever).
-- %
-- \def\definedummyword ##1{\def##1{\string##1\space}}%
-- \def\definedummyletter##1{\def##1{\string##1}}%
-- \let\definedummyaccent\definedummyletter
-+% These can be used both for control words that take an argument and
-+% those that do not. If it is followed by {arg} in the input, then
-+% that will dutifully get written to the index (or wherever).
-+%
-+% For control letters, we have \definedummyletter, which omits the
-+% space.
-+%
-+\def\definedummyword #1{\def#1{\string#1\space}}%
-+\def\definedummyletter#1{\def#1{\string#1}}%
-+\let\definedummyaccent\definedummyletter
-+
-+% Called from \indexdummies and \atdummies, to effectively prevent
-+% the expansion of commands.
-+%
-+\def\definedummies{%
- %
-+ \let\commondummyword\definedummyword
-+ \let\commondummyletter\definedummyletter
-+ \let\commondummyaccent\definedummyaccent
- \commondummiesnofonts
- %
- \definedummyletter\_%
-@@ -4552,6 +4950,7 @@
- \definedummyword\TeX
- %
- % Assorted special characters.
-+ \definedummyword\atchar
- \definedummyword\arrow
- \definedummyword\bullet
- \definedummyword\comma
-@@ -4591,98 +4990,130 @@
- %
- % We want to disable all macros so that they are not expanded by \write.
- \macrolist
-+ \let\value\dummyvalue
- %
- \normalturnoffactive
-- %
-- % Handle some cases of @value -- where it does not contain any
-- % (non-fully-expandable) commands.
-- \makevalueexpandable
- }
-
--% \commondummiesnofonts: common to \commondummies and \indexnofonts.
-+% \commondummiesnofonts: common to \definedummies and \indexnofonts.
-+% Define \commondummyletter, \commondummyaccent and \commondummyword before
-+% using. Used for accents, font commands, and various control letters.
- %
- \def\commondummiesnofonts{%
- % Control letters and accents.
-- \definedummyletter\!%
-- \definedummyaccent\"%
-- \definedummyaccent\'%
-- \definedummyletter\*%
-- \definedummyaccent\,%
-- \definedummyletter\.%
-- \definedummyletter\/%
-- \definedummyletter\:%
-- \definedummyaccent\=%
-- \definedummyletter\?%
-- \definedummyaccent\^%
-- \definedummyaccent\`%
-- \definedummyaccent\~%
-- \definedummyword\u
-- \definedummyword\v
-- \definedummyword\H
-- \definedummyword\dotaccent
-- \definedummyword\ogonek
-- \definedummyword\ringaccent
-- \definedummyword\tieaccent
-- \definedummyword\ubaraccent
-- \definedummyword\udotaccent
-- \definedummyword\dotless
-+ \commondummyletter\!%
-+ \commondummyaccent\"%
-+ \commondummyaccent\'%
-+ \commondummyletter\*%
-+ \commondummyaccent\,%
-+ \commondummyletter\.%
-+ \commondummyletter\/%
-+ \commondummyletter\:%
-+ \commondummyaccent\=%
-+ \commondummyletter\?%
-+ \commondummyaccent\^%
-+ \commondummyaccent\`%
-+ \commondummyaccent\~%
-+ \commondummyword\u
-+ \commondummyword\v
-+ \commondummyword\H
-+ \commondummyword\dotaccent
-+ \commondummyword\ogonek
-+ \commondummyword\ringaccent
-+ \commondummyword\tieaccent
-+ \commondummyword\ubaraccent
-+ \commondummyword\udotaccent
-+ \commondummyword\dotless
- %
- % Texinfo font commands.
-- \definedummyword\b
-- \definedummyword\i
-- \definedummyword\r
-- \definedummyword\sansserif
-- \definedummyword\sc
-- \definedummyword\slanted
-- \definedummyword\t
-+ \commondummyword\b
-+ \commondummyword\i
-+ \commondummyword\r
-+ \commondummyword\sansserif
-+ \commondummyword\sc
-+ \commondummyword\slanted
-+ \commondummyword\t
- %
- % Commands that take arguments.
-- \definedummyword\abbr
-- \definedummyword\acronym
-- \definedummyword\anchor
-- \definedummyword\cite
-- \definedummyword\code
-- \definedummyword\command
-- \definedummyword\dfn
-- \definedummyword\dmn
-- \definedummyword\email
-- \definedummyword\emph
-- \definedummyword\env
-- \definedummyword\file
-- \definedummyword\image
-- \definedummyword\indicateurl
-- \definedummyword\inforef
-- \definedummyword\kbd
-- \definedummyword\key
-- \definedummyword\math
-- \definedummyword\option
-- \definedummyword\pxref
-- \definedummyword\ref
-- \definedummyword\samp
-- \definedummyword\strong
-- \definedummyword\tie
-- \definedummyword\U
-- \definedummyword\uref
-- \definedummyword\url
-- \definedummyword\var
-- \definedummyword\verb
-- \definedummyword\w
-- \definedummyword\xref
-- %
-- % Consider:
-- % @macro mkind{arg1,arg2}
-- % @cindex \arg2\
-- % @end macro
-- % @mkind{foo, bar}
-- % The space after the comma will end up in the temporary definition
-- % that we make for arg2 (see \parsemargdef ff.). We want all this to be
-- % expanded for the sake of the index, so we end up just seeing "bar".
-- \let\xeatspaces = \eatspaces
-+ \commondummyword\abbr
-+ \commondummyword\acronym
-+ \commondummyword\anchor
-+ \commondummyword\cite
-+ \commondummyword\code
-+ \commondummyword\command
-+ \commondummyword\dfn
-+ \commondummyword\dmn
-+ \commondummyword\email
-+ \commondummyword\emph
-+ \commondummyword\env
-+ \commondummyword\file
-+ \commondummyword\image
-+ \commondummyword\indicateurl
-+ \commondummyword\inforef
-+ \commondummyword\kbd
-+ \commondummyword\key
-+ \commondummyword\math
-+ \commondummyword\option
-+ \commondummyword\pxref
-+ \commondummyword\ref
-+ \commondummyword\samp
-+ \commondummyword\strong
-+ \commondummyword\tie
-+ \commondummyword\U
-+ \commondummyword\uref
-+ \commondummyword\url
-+ \commondummyword\var
-+ \commondummyword\verb
-+ \commondummyword\w
-+ \commondummyword\xref
- }
-
- % For testing: output @{ and @} in index sort strings as \{ and \}.
- \newif\ifusebracesinindexes
-
-+\let\indexlbrace\relax
-+\let\indexrbrace\relax
-+
-+{\catcode`\@=0
-+\catcode`\\=13
-+ @gdef@backslashdisappear{@def\{}}
-+}
-+
-+{
-+\catcode`\<=13
-+\catcode`\-=13
-+\catcode`\`=13
-+ \gdef\indexnonalnumdisappear{%
-+ \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax\else
-+ % @set txiindexlquoteignore makes us ignore left quotes in the sort term.
-+ % (Introduced for FSFS 2nd ed.)
-+ \let`=\empty
-+ \fi
-+ %
-+ \expandafter\ifx\csname SETtxiindexbackslashignore\endcsname\relax\else
-+ \backslashdisappear
-+ \fi
-+ %
-+ \expandafter\ifx\csname SETtxiindexhyphenignore\endcsname\relax\else
-+ \def-{}%
-+ \fi
-+ \expandafter\ifx\csname SETtxiindexlessthanignore\endcsname\relax\else
-+ \def<{}%
-+ \fi
-+ \expandafter\ifx\csname SETtxiindexatsignignore\endcsname\relax\else
-+ \def\@{}%
-+ \fi
-+ }
-+
-+ \gdef\indexnonalnumreappear{%
-+ \useindexbackslash
-+ \let-\normaldash
-+ \let<\normalless
-+ \def\@{@}%
-+ }
-+}
-+
-+
- % \indexnofonts is used when outputting the strings to sort the index
- % by, and when constructing control sequence names. It eliminates all
- % control sequences and just writes whatever the best ASCII sort string
-@@ -4690,12 +5121,11 @@
- %
- \def\indexnofonts{%
- % Accent commands should become @asis.
-- \def\definedummyaccent##1{\let##1\asis}%
-+ \def\commondummyaccent##1{\let##1\asis}%
- % We can just ignore other control letters.
-- \def\definedummyletter##1{\let##1\empty}%
-+ \def\commondummyletter##1{\let##1\empty}%
- % All control words become @asis by default; overrides below.
-- \let\definedummyword\definedummyaccent
-- %
-+ \let\commondummyword\commondummyaccent
- \commondummiesnofonts
- %
- % Don't no-op \tt, since it isn't a user-level command
-@@ -4708,19 +5138,10 @@
- \def\_{\normalunderscore}%
- \def\-{}% @- shouldn't affect sorting
- %
-- % Unfortunately, texindex is not prepared to handle braces in the
-- % content at all. So for index sorting, we map @{ and @} to strings
-- % starting with |, since that ASCII character is between ASCII { and }.
-- \ifusebracesinindexes
-- \def\lbracechar{\lbracecmd}%
-- \def\rbracechar{\rbracecmd}%
-- \else
-- \def\lbracechar{|a}%
-- \def\rbracechar{|b}%
-- \fi
-- \let\{=\lbracechar
-- \let\}=\rbracechar
-- %
-+ \uccode`\1=`\{ \uppercase{\def\{{1}}%
-+ \uccode`\1=`\} \uppercase{\def\}{1}}%
-+ \let\lbracechar\{%
-+ \let\rbracechar\}%
- %
- % Non-English letters.
- \def\AA{AA}%
-@@ -4729,7 +5150,7 @@
- \def\L{L}%
- \def\OE{OE}%
- \def\O{O}%
-- \def\TH{ZZZ}%
-+ \def\TH{TH}%
- \def\aa{aa}%
- \def\ae{ae}%
- \def\dh{dzz}%
-@@ -4741,45 +5162,45 @@
- \def\o{o}%
- \def\questiondown{?}%
- \def\ss{ss}%
-- \def\th{zzz}%
-+ \def\th{th}%
- %
- \def\LaTeX{LaTeX}%
- \def\TeX{TeX}%
- %
-- % Assorted special characters.
-- % (The following {} will end up in the sort string, but that's ok.)
-- \def\arrow{->}%
-- \def\bullet{bullet}%
-- \def\comma{,}%
-- \def\copyright{copyright}%
-- \def\dots{...}%
-- \def\enddots{...}%
-- \def\equiv{==}%
-- \def\error{error}%
-- \def\euro{euro}%
-- \def\expansion{==>}%
-- \def\geq{>=}%
-- \def\guillemetleft{<<}%
-- \def\guillemetright{>>}%
-- \def\guilsinglleft{<}%
-- \def\guilsinglright{>}%
-- \def\leq{<=}%
-- \def\minus{-}%
-- \def\point{.}%
-- \def\pounds{pounds}%
-- \def\print{-|}%
-- \def\quotedblbase{"}%
-- \def\quotedblleft{"}%
-- \def\quotedblright{"}%
-- \def\quoteleft{`}%
-- \def\quoteright{'}%
-- \def\quotesinglbase{,}%
-- \def\registeredsymbol{R}%
-- \def\result{=>}%
-- \def\textdegree{o}%
-- %
-- \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax
-- \else \indexlquoteignore \fi
-+ % Assorted special characters. \defglyph gives the control sequence a
-+ % definition that removes the {} that follows its use.
-+ \defglyph\atchar{@}%
-+ \defglyph\arrow{->}%
-+ \defglyph\bullet{bullet}%
-+ \defglyph\comma{,}%
-+ \defglyph\copyright{copyright}%
-+ \defglyph\dots{...}%
-+ \defglyph\enddots{...}%
-+ \defglyph\equiv{==}%
-+ \defglyph\error{error}%
-+ \defglyph\euro{euro}%
-+ \defglyph\expansion{==>}%
-+ \defglyph\geq{>=}%
-+ \defglyph\guillemetleft{<<}%
-+ \defglyph\guillemetright{>>}%
-+ \defglyph\guilsinglleft{<}%
-+ \defglyph\guilsinglright{>}%
-+ \defglyph\leq{<=}%
-+ \defglyph\lbracechar{\{}%
-+ \defglyph\minus{-}%
-+ \defglyph\point{.}%
-+ \defglyph\pounds{pounds}%
-+ \defglyph\print{-|}%
-+ \defglyph\quotedblbase{"}%
-+ \defglyph\quotedblleft{"}%
-+ \defglyph\quotedblright{"}%
-+ \defglyph\quoteleft{`}%
-+ \defglyph\quoteright{'}%
-+ \defglyph\quotesinglbase{,}%
-+ \defglyph\rbracechar{\}}%
-+ \defglyph\registeredsymbol{R}%
-+ \defglyph\result{=>}%
-+ \defglyph\textdegree{o}%
- %
- % We need to get rid of all macros, leaving only the arguments (if present).
- % Of course this is not nearly correct, but it is the best we can do for now.
-@@ -4792,21 +5213,24 @@
- % goes to end-of-line is not handled.
- %
- \macrolist
-+ \let\value\indexnofontsvalue
- }
-+\def\defglyph#1#2{\def#1##1{#2}} % see above
-+
-+
-
--% Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us
--% ignore left quotes in the sort term.
--{\catcode`\`=\active
-- \gdef\indexlquoteignore{\let`=\empty}}
-
--\let\indexbackslash=0 %overridden during \printindex.
- \let\SETmarginindex=\relax % put index entries in margin (undocumented)?
-
- % Most index entries go through here, but \dosubind is the general case.
- % #1 is the index name, #2 is the entry text.
- \def\doind#1#2{\dosubind{#1}{#2}{}}
-
--% Workhorse for all \fooindexes.
-+% There is also \dosubind {index}{topic}{subtopic}
-+% which makes an entry in a two-level index such as the operation index.
-+% TODO: Two-level index? Operation index?
-+
-+% Workhorse for all indexes.
- % #1 is name of index, #2 is stuff to put there, #3 is subentry --
- % empty if called from \doind, as we usually are (the main exception
- % is with most defuns, which call us directly).
-@@ -4814,6 +5238,7 @@
- \def\dosubind#1#2#3{%
- \iflinks
- {%
-+ \requireopenindexfile{#1}%
- % Store the main index entry text (including the third arg).
- \toks0 = {#2}%
- % If third arg is present, precede it with a space.
-@@ -4829,7 +5254,50 @@
- \fi
- }
-
--% Write the entry in \toks0 to the index file:
-+% Check if an index file has been opened, and if not, open it.
-+\def\requireopenindexfile#1{%
-+\ifnum\csname #1indfile\endcsname=0
-+ \expandafter\newwrite \csname#1indfile\endcsname
-+ \edef\suffix{#1}%
-+ % A .fls suffix would conflict with the file extension for the output
-+ % of -recorder, so use .f1s instead.
-+ \ifx\suffix\indexisfl\def\suffix{f1}\fi
-+ % Open the file
-+ \immediate\openout\csname#1indfile\endcsname \jobname.\suffix
-+ % Using \immediate above here prevents an object entering into the current
-+ % box, which could confound checks such as those in \safewhatsit for
-+ % preceding skips.
-+ \typeout{Writing index file \jobname.\suffix}%
-+\fi}
-+\def\indexisfl{fl}
-+
-+% Output \ as {\indexbackslash}, because \ is an escape character in
-+% the index files.
-+\let\indexbackslash=\relax
-+{\catcode`\@=0 \catcode`\\=\active
-+ @gdef@useindexbackslash{@def\{{@indexbackslash}}}
-+}
-+
-+% Definition for writing index entry text.
-+\def\sortas#1{\ignorespaces}%
-+
-+% Definition for writing index entry sort key. Should occur at the at
-+% the beginning of the index entry, like
-+% @cindex @sortas{september} \september
-+% The \ignorespaces takes care of following space, but there's no way
-+% to remove space before it.
-+{
-+\catcode`\-=13
-+\gdef\indexwritesortas{%
-+ \begingroup
-+ \indexnonalnumreappear
-+ \indexwritesortasxxx}
-+\gdef\indexwritesortasxxx#1{%
-+ \xdef\indexsortkey{#1}\endgroup}
-+}
-+
-+
-+% Write the entry in \toks0 to the index file.
- %
- \def\dosubindwrite{%
- % Put the index entry in the margin if desired.
-@@ -4839,14 +5307,26 @@
- %
- % Remember, we are within a group.
- \indexdummies % Must do this here, since \bf, etc expand at this stage
-- \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
-- % so it will be output as is; and it will print as backslash.
-+ \useindexbackslash % \indexbackslash isn't defined now so it will be output
-+ % as is; and it will print as backslash.
-+ % The braces around \indexbrace are recognized by texindex.
- %
-- % Process the index entry with all font commands turned off, to
-- % get the string to sort by.
-+ % Get the string to sort by, by processing the index entry with all
-+ % font commands turned off.
- {\indexnofonts
-- \edef\temp{\the\toks0}% need full expansion
-- \xdef\indexsorttmp{\temp}%
-+ \def\lbracechar{{\indexlbrace}}%
-+ \def\rbracechar{{\indexrbrace}}%
-+ \let\{=\lbracechar
-+ \let\}=\rbracechar
-+ \indexnonalnumdisappear
-+ \xdef\indexsortkey{}%
-+ \let\sortas=\indexwritesortas
-+ \edef\temp{\the\toks0}%
-+ \setbox\dummybox = \hbox{\temp}% Make sure to execute any \sortas
-+ \ifx\indexsortkey\empty
-+ \xdef\indexsortkey{\temp}%
-+ \ifx\indexsortkey\empty\xdef\indexsortkey{ }\fi
-+ \fi
- }%
- %
- % Set up the complete index entry, with both the sort key and
-@@ -4856,10 +5336,11 @@
- % sorted result.
- \edef\temp{%
- \write\writeto{%
-- \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
-+ \string\entry{\indexsortkey}{\noexpand\folio}{\the\toks0}}%
- }%
- \temp
- }
-+\newbox\dummybox % used above
-
- % Take care of unwanted page breaks/skips around a whatsit:
- %
-@@ -4984,52 +5465,107 @@
- % \initial {@}
- % as its first line, TeX doesn't complain about mismatched braces
- % (because it thinks @} is a control sequence).
-- \catcode`\@ = 11
-- \openin 1 \jobname.#1s
-+ \catcode`\@ = 12
-+ % See comment in \requireopenindexfile.
-+ \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi
-+ \openin 1 \jobname.\indexname s
- \ifeof 1
- % \enddoublecolumns gets confused if there is no text in the index,
- % and it loses the chapter title and the aux file entries for the
- % index. The easiest way to prevent this problem is to make sure
- % there is some text.
- \putwordIndexNonexistent
-+ \typeout{No file \jobname.\indexname s.}%
- \else
-+ \catcode`\\ = 0
- %
- % If the index file exists but is empty, then \openin leaves \ifeof
- % false. We have to make TeX try to read something from the file, so
- % it can discover if there is anything in it.
-- \read 1 to \temp
-+ \read 1 to \thisline
- \ifeof 1
- \putwordIndexIsEmpty
- \else
- % Index files are almost Texinfo source, but we use \ as the escape
- % character. It would be better to use @, but that's too big a change
- % to make right now.
-- \def\indexbackslash{\backslashcurfont}%
-- \catcode`\\ = 0
-- \escapechar = `\\
-+ \def\indexbackslash{\ttbackslash}%
-+ \let\indexlbrace\{ % Likewise, set these sequences for braces
-+ \let\indexrbrace\} % used in the sort key.
- \begindoublecolumns
-- \input \jobname.#1s
-+ \let\entrywidowpenalty=\indexwidowpenalty
-+ %
-+ % Read input from the index file line by line.
-+ \loopdo
-+ \ifeof1
-+ \let\firsttoken\relax
-+ \else
-+ \read 1 to \nextline
-+ \edef\act{\gdef\noexpand\firsttoken{\getfirsttoken\nextline}}%
-+ \act
-+ \fi
-+ \thisline
-+ %
-+ \ifeof1\else
-+ \let\thisline\nextline
-+ \repeat
-+ %%
- \enddoublecolumns
- \fi
- \fi
- \closein 1
- \endgroup}
-
-+\def\getfirsttoken#1{\expandafter\getfirsttokenx#1\endfirsttoken}
-+\long\def\getfirsttokenx#1#2\endfirsttoken{\noexpand#1}
-+
-+\def\loopdo#1\repeat{\def\body{#1}\loopdoxxx}
-+\def\loopdoxxx{\let\next=\relax\body\let\next=\loopdoxxx\fi\next}
-+
- % These macros are used by the sorted index file itself.
- % Change them to control the appearance of the index.
-
--\def\initial#1{{%
-- % Some minor font changes for the special characters.
-- \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
-+{\catcode`\/=13 \catcode`\-=13 \catcode`\^=13 \catcode`\~=13 \catcode`\_=13
-+\catcode`\|=13 \catcode`\<=13 \catcode`\>=13 \catcode`\+=13 \catcode`\"=13
-+\catcode`\$=3
-+\gdef\initialglyphs{%
-+ % Some changes for non-alphabetic characters. Using the glyphs from the
-+ % math fonts looks more consistent than the typewriter font used elsewhere
-+ % for these characters.
-+ \def\indexbackslash{\math{\backslash}}%
-+ \let\\=\indexbackslash
- %
-+ % Can't get bold backslash so don't use bold forward slash
-+ \catcode`\/=13
-+ \def/{{\secrmnotbold \normalslash}}%
-+ \def-{{\normaldash\normaldash}}% en dash `--'
-+ \def^{{\chapbf \normalcaret}}%
-+ \def~{{\chapbf \normaltilde}}%
-+ \def\_{%
-+ \leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }%
-+ \def|{$\vert$}%
-+ \def<{$\less$}%
-+ \def>{$\gtr$}%
-+ \def+{$\normalplus$}%
-+}}
-+
-+\def\initial{%
-+ \bgroup
-+ \initialglyphs
-+ \initialx
-+}
-+
-+\def\initialx#1{%
- % Remove any glue we may have, we'll be inserting our own.
- \removelastskip
- %
- % We like breaks before the index initials, so insert a bonus.
-+ % The glue before the bonus allows a little bit of space at the
-+ % bottom of a column to reduce an increase in inter-line spacing.
- \nobreak
-- \vskip 0pt plus 3\baselineskip
-- \penalty 0
-- \vskip 0pt plus -3\baselineskip
-+ \vskip 0pt plus 5\baselineskip
-+ \penalty -300
-+ \vskip 0pt plus -5\baselineskip
- %
- % Typeset the initial. Making this add up to a whole number of
- % baselineskips increases the chance of the dots lining up from column
-@@ -5037,63 +5573,45 @@
- % we need before each entry, but it's better.
- %
- % No shrink because it confuses \balancecolumns.
-- \vskip 1.67\baselineskip plus .5\baselineskip
-- \leftline{\secbf #1}%
-+ \vskip 1.67\baselineskip plus 1\baselineskip
-+ \leftline{\secfonts \kern-0.05em \secbf #1}%
-+ % \secfonts is inside the argument of \leftline so that the change of
-+ % \baselineskip will not affect any glue inserted before the vbox that
-+ % \leftline creates.
- % Do our best not to break after the initial.
- \nobreak
- \vskip .33\baselineskip plus .1\baselineskip
--}}
-+ \egroup % \initialglyphs
-+}
-+
-+\newdimen\entryrightmargin
-+\entryrightmargin=0pt
-
- % \entry typesets a paragraph consisting of the text (#1), dot leaders, and
- % then page number (#2) flushed to the right margin. It is used for index
- % and table of contents entries. The paragraph is indented by \leftskip.
- %
--% A straightforward implementation would start like this:
--% \def\entry#1#2{...
--% But this freezes the catcodes in the argument, and can cause problems to
--% @code, which sets - active. This problem was fixed by a kludge---
--% ``-'' was active throughout whole index, but this isn't really right.
--% The right solution is to prevent \entry from swallowing the whole text.
--% --kasal, 21nov03
- \def\entry{%
- \begingroup
- %
-+ % For pdfTeX and XeTeX.
-+ % The redefinition of \domark stops marks being added in \pdflink to
-+ % preserve coloured links across page boundaries. Otherwise the marks
-+ % would get in the way of \lastbox in \insertindexentrybox.
-+ \let\domark\relax
-+ %
- % Start a new paragraph if necessary, so our assignments below can't
- % affect previous text.
- \par
- %
-- % Do not fill out the last line with white space.
-- \parfillskip = 0in
-- %
- % No extra space above this paragraph.
- \parskip = 0in
- %
-- % Do not prefer a separate line ending with a hyphen to fewer lines.
-- \finalhyphendemerits = 0
-- %
-- % \hangindent is only relevant when the entry text and page number
-- % don't both fit on one line. In that case, bob suggests starting the
-- % dots pretty far over on the line. Unfortunately, a large
-- % indentation looks wrong when the entry text itself is broken across
-- % lines. So we use a small indentation and put up with long leaders.
-- %
-- % \hangafter is reset to 1 (which is the value we want) at the start
-- % of each paragraph, so we need not do anything with that.
-- \hangindent = 2em
-- %
-- % When the entry text needs to be broken, just fill out the first line
-- % with blank space.
-- \rightskip = 0pt plus1fil
-- %
-- % A bit of stretch before each entry for the benefit of balancing
-- % columns.
-- \vskip 0pt plus1pt
-- %
- % When reading the text of entry, convert explicit line breaks
- % from @* into spaces. The user might give these in long section
- % titles, for instance.
- \def\*{\unskip\space\ignorespaces}%
-- \def\entrybreak{\hfil\break}%
-+ \def\entrybreak{\hfil\break}% An undocumented command
- %
- % Swallow the left brace of the text (first parameter):
- \afterassignment\doentry
-@@ -5101,45 +5619,166 @@
- }
- \def\entrybreak{\unskip\space\ignorespaces}%
- \def\doentry{%
-+ % Save the text of the entry
-+ \global\setbox\boxA=\hbox\bgroup
- \bgroup % Instead of the swallowed brace.
- \noindent
- \aftergroup\finishentry
- % And now comes the text of the entry.
-+ % Not absorbing as a macro argument reduces the chance of problems
-+ % with catcodes occurring.
- }
--\def\finishentry#1{%
-+{\catcode`\@=11
-+\gdef\finishentry#1{%
-+ \egroup % end box A
-+ \dimen@ = \wd\boxA % Length of text of entry
-+ \global\setbox\boxA=\hbox\bgroup\unhbox\boxA
- % #1 is the page number.
- %
-- % The following is kludged to not output a line of dots in the index if
-- % there are no page numbers. The next person who breaks this will be
-- % cursed by a Unix daemon.
-- \setbox\boxA = \hbox{#1}%
-- \ifdim\wd\boxA = 0pt
-- \ %
-+ % Get the width of the page numbers, and only use
-+ % leaders if they are present.
-+ \global\setbox\boxB = \hbox{#1}%
-+ \ifdim\wd\boxB = 0pt
-+ \null\nobreak\hfill\ %
- \else
- %
-- % If we must, put the page number on a line of its own, and fill out
-- % this line with blank space. (The \hfil is overwhelmed with the
-- % fill leaders glue in \indexdotfill if the page number does fit.)
-- \hfil\penalty50
- \null\nobreak\indexdotfill % Have leaders before the page number.
- %
-- % The `\ ' here is removed by the implicit \unskip that TeX does as
-- % part of (the primitive) \par. Without it, a spurious underfull
-- % \hbox ensues.
- \ifpdf
-- \pdfgettoks#1.%
-- \ \the\toksA
-+ \pdfgettoks#1.%
-+ \hskip\skip\thinshrinkable\the\toksA
- \else
-- \ #1%
-+ \ifx\XeTeXrevision\thisisundefined
-+ \hskip\skip\thinshrinkable #1%
-+ \else
-+ \pdfgettoks#1.%
-+ \hskip\skip\thinshrinkable\the\toksA
-+ \fi
- \fi
- \fi
-- \par
-+ \egroup % end \boxA
-+ \ifdim\wd\boxB = 0pt
-+ \global\setbox\entryindexbox=\vbox{\unhbox\boxA}%
-+ \else
-+ \global\setbox\entryindexbox=\vbox\bgroup
-+ % We want the text of the entries to be aligned to the left, and the
-+ % page numbers to be aligned to the right.
-+ %
-+ \parindent = 0pt
-+ \advance\leftskip by 0pt plus 1fil
-+ \advance\leftskip by 0pt plus -1fill
-+ \rightskip = 0pt plus -1fil
-+ \advance\rightskip by 0pt plus 1fill
-+ % Cause last line, which could consist of page numbers on their own
-+ % if the list of page numbers is long, to be aligned to the right.
-+ \parfillskip=0pt plus -1fill
-+ %
-+ \advance\rightskip by \entryrightmargin
-+ % Determine how far we can stretch into the margin.
-+ % This allows, e.g., "Appendix H GNU Free Documentation License" to
-+ % fit on one line in @letterpaper format.
-+ \ifdim\entryrightmargin>2.1em
-+ \dimen@i=2.1em
-+ \else
-+ \dimen@i=0em
-+ \fi
-+ \advance \parfillskip by 0pt minus 1\dimen@i
-+ %
-+ \dimen@ii = \hsize
-+ \advance\dimen@ii by -1\leftskip
-+ \advance\dimen@ii by -1\entryrightmargin
-+ \advance\dimen@ii by 1\dimen@i
-+ \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line
-+ \ifdim\dimen@ > 0.8\dimen@ii % due to long index text
-+ \dimen@ = 0.7\dimen@ % Try to split the text roughly evenly
-+ \dimen@ii = \hsize
-+ \ifnum\dimen@>\dimen@ii
-+ % If the entry is too long, use the whole line
-+ \dimen@ = \dimen@ii
-+ \fi
-+ \advance\leftskip by 0pt plus 1fill % ragged right
-+ \advance \dimen@ by 1\rightskip
-+ \parshape = 2 0pt \dimen@ 0em \dimen@ii
-+ % Ideally we'd add a finite glue at the end of the first line only,
-+ % instead of using \parshape with explicit line lengths, but TeX
-+ % doesn't seem to provide a way to do such a thing.
-+ %
-+ \leftskip = 1em
-+ \parindent = -1em
-+ \fi\fi
-+ \indent % start paragraph
-+ \unhbox\boxA
-+ %
-+ % Do not prefer a separate line ending with a hyphen to fewer lines.
-+ \finalhyphendemerits = 0
-+ %
-+ % Word spacing - no stretch
-+ \spaceskip=\fontdimen2\font minus \fontdimen4\font
-+ %
-+ \linepenalty=1000 % Discourage line breaks.
-+ \hyphenpenalty=5000 % Discourage hyphenation.
-+ %
-+ \par % format the paragraph
-+ \egroup % The \vbox
-+ \fi
- \endgroup
-+ % delay text of entry until after penalty
-+ \bgroup\aftergroup\insertindexentrybox
-+ \entrywidowpenalty
-+}}
-+
-+\newskip\thinshrinkable
-+\skip\thinshrinkable=.15em minus .15em
-+
-+\newbox\entryindexbox
-+\def\insertindexentrybox{%
-+ \ourunvbox\entryindexbox
-+}
-+
-+% Use \lastbox to take apart vbox box by box, and add each sub-box
-+% to the current vertical list.
-+\def\ourunvbox#1{%
-+\bgroup % for local binding of \delayedbox
-+ % Remove the last box from box #1
-+ \global\setbox#1=\vbox{%
-+ \unvbox#1%
-+ \unskip % remove any glue
-+ \unpenalty
-+ \global\setbox\interbox=\lastbox
-+ }%
-+ \setbox\delayedbox=\box\interbox
-+ \ifdim\ht#1=0pt\else
-+ \ourunvbox#1 % Repeat on what's left of the box
-+ \nobreak
-+ \fi
-+ \box\delayedbox
-+\egroup
-+}
-+\newbox\delayedbox
-+\newbox\interbox
-+
-+% Default is no penalty
-+\let\entrywidowpenalty\egroup
-+
-+% Used from \printindex. \firsttoken should be the first token
-+% after the \entry. If it's not another \entry, we are at the last
-+% line of a group of index entries, so insert a penalty to discourage
-+% widowed index entries.
-+\long\def\indexwidowpenalty{%
-+ \def\isentry{\entry}%
-+ \ifx\firsttoken\isentry
-+ \else
-+ \penalty 9000
-+ \fi
-+ \egroup % now comes the box added with \aftergroup
- }
-
- % Like plain.tex's \dotfill, except uses up at least 1 em.
-+% The filll stretch here overpowers both the fil and fill stretch to push
-+% the page number to the right.
- \def\indexdotfill{\cleaders
-- \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill}
-+ \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1filll}
-+
-
- \def\primary #1{\line{#1\hfil}}
-
-@@ -5153,7 +5792,11 @@
- \ifpdf
- \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
- \else
-- #2
-+ \ifx\XeTeXrevision\thisisundefined
-+ #2
-+ \else
-+ \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
-+ \fi
- \fi
- \par
- }}
-@@ -5161,12 +5804,37 @@
- % Define two-column mode, which we use to typeset indexes.
- % Adapted from the TeXbook, page 416, which is to say,
- % the manmac.tex format used to print the TeXbook itself.
--\catcode`\@=11
-+\catcode`\@=11 % private names
-
- \newbox\partialpage
- \newdimen\doublecolumnhsize
-
-+% Use inside an output routine to save \topmark and \firstmark
-+\def\savemarks{%
-+ \global\savedtopmark=\expandafter{\topmark }%
-+ \global\savedfirstmark=\expandafter{\firstmark }%
-+}
-+\newtoks\savedtopmark
-+\newtoks\savedfirstmark
-+
-+% Set \topmark and \firstmark for next time \output runs.
-+% Can't be run from withinside \output (because any material
-+% added while an output routine is active, including
-+% penalties, is saved for after it finishes). The page so far
-+% should be empty, otherwise what's on it will be thrown away.
-+\def\restoremarks{%
-+ \mark{\the\savedtopmark}%
-+ \bgroup\output = {%
-+ \setbox\dummybox=\box\PAGE
-+ }abc\eject\egroup
-+ % "abc" because output routine doesn't fire for a completely empty page.
-+ \mark{\the\savedfirstmark}%
-+}
-+
- \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
-+ % If not much space left on page, start a new page.
-+ \ifdim\pagetotal>0.8\vsize\vfill\eject\fi
-+ %
- % Grab any single-column material above us.
- \output = {%
- %
-@@ -5186,8 +5854,15 @@
- \unvbox\PAGE
- \kern-\topskip \kern\baselineskip
- }%
-+ \savemarks
- }%
- \eject % run that output routine to set \partialpage
-+ \restoremarks
-+ %
-+ % We recover the two marks that the last output routine saved in order
-+ % to propagate the information in marks added around a chapter heading,
-+ % which could be otherwise be lost by the time the final page is output.
-+ %
- %
- % Use the double-column output routine for subsequent pages.
- \output = {\doublecolumnout}%
-@@ -5213,27 +5888,31 @@
- \divide\doublecolumnhsize by 2
- \hsize = \doublecolumnhsize
- %
-- % Double the \vsize as well. (We don't need a separate register here,
-- % since nobody clobbers \vsize.)
-+ % Double the \vsize as well.
-+ \advance\vsize by -\ht\partialpage
- \vsize = 2\vsize
-+ %
-+ % For the benefit of balancing columns
-+ \advance\baselineskip by 0pt plus 0.5pt
- }
-
- % The double-column output routine for all double-column pages except
--% the last.
-+% the last, which is done by \balancecolumns.
- %
- \def\doublecolumnout{%
-+ %
- \splittopskip=\topskip \splitmaxdepth=\maxdepth
- % Get the available space for the double columns -- the normal
- % (undoubled) page height minus any material left over from the
- % previous page.
- \dimen@ = \vsize
- \divide\dimen@ by 2
-- \advance\dimen@ by -\ht\partialpage
- %
- % box0 will be the left-hand column, box2 the right.
-- \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
-+ \setbox0=\vsplit\PAGE to\dimen@ \setbox2=\vsplit\PAGE to\dimen@
-+ \global\advance\vsize by 2\ht\partialpage
- \onepageout\pagesofar
-- \unvbox255
-+ \unvbox\PAGE
- \penalty\outputpenalty
- }
- %
-@@ -5244,10 +5923,11 @@
- %
- \hsize = \doublecolumnhsize
- \wd0=\hsize \wd2=\hsize
-- \hbox to\pagewidth{\box0\hfil\box2}%
-+ \hbox to\txipagewidth{\box0\hfil\box2}%
- }
--%
--% All done with double columns.
-+
-+
-+% Finished with with double columns.
- \def\enddoublecolumns{%
- % The following penalty ensures that the page builder is exercised
- % _before_ we change the output routine. This is necessary in the
-@@ -5270,7 +5950,7 @@
- % goal. When TeX sees \eject from below which follows the final
- % section, it invokes the new output routine that we've set after
- % \balancecolumns below; \onepageout will try to fit the two columns
-- % and the final section into the vbox of \pageheight (see
-+ % and the final section into the vbox of \txipageheight (see
- % \pagebody), causing an overfull box.
- %
- % Note that glue won't work here, because glue does not exercise the
-@@ -5278,53 +5958,81 @@
- \penalty0
- %
- \output = {%
-- % Split the last of the double-column material. Leave it on the
-- % current page, no automatic page break.
-+ % Split the last of the double-column material.
-+ \savemarks
- \balancecolumns
- %
-- % If we end up splitting too much material for the current page,
-- % though, there will be another page break right after this \output
-- % invocation ends. Having called \balancecolumns once, we do not
-+ % Having called \balancecolumns once, we do not
- % want to call it again. Therefore, reset \output to its normal
-- % definition right away. (We hope \balancecolumns will never be
-- % called on to balance too much material, but if it is, this makes
-- % the output somewhat more palatable.)
-+ % definition right away.
- \global\output = {\onepageout{\pagecontents\PAGE}}%
- }%
- \eject
- \endgroup % started in \begindoublecolumns
-+ \restoremarks
-+ % Leave the double-column material on the current page, no automatic
-+ % page break.
-+ \box\balancedcolumns
- %
- % \pagegoal was set to the doubled \vsize above, since we restarted
- % the current page. We're now back to normal single-column
-- % typesetting, so reset \pagegoal to the normal \vsize (after the
-- % \endgroup where \vsize got restored).
-- \pagegoal = \vsize
-+ % typesetting, so reset \pagegoal to the normal \vsize.
-+ \global\vsize = \txipageheight %
-+ \pagegoal = \txipageheight %
- }
-+\newbox\balancedcolumns
-+\setbox\balancedcolumns=\vbox{shouldnt see this}%
- %
--% Called at the end of the double column material.
-+% Only called for the last of the double column material. \doublecolumnout
-+% does the others.
- \def\balancecolumns{%
-- \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
-+ \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120.
- \dimen@ = \ht0
- \advance\dimen@ by \topskip
- \advance\dimen@ by-\baselineskip
-- \divide\dimen@ by 2 % target to split to
-- %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
-- \splittopskip = \topskip
-- % Loop until we get a decent breakpoint.
-- {%
-- \vbadness = 10000
-- \loop
-- \global\setbox3 = \copy0
-- \global\setbox1 = \vsplit3 to \dimen@
-- \ifdim\ht3>\dimen@
-- \global\advance\dimen@ by 1pt
-- \repeat
-- }%
-- %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
-- \setbox0=\vbox to\dimen@{\unvbox1}%
-- \setbox2=\vbox to\dimen@{\unvbox3}%
-+ \ifdim\dimen@<5\baselineskip
-+ % Don't split a short final column in two.
-+ \setbox2=\vbox{}%
-+ \else
-+ \divide\dimen@ by 2 % target to split to
-+ \dimen@ii = \dimen@
-+ \splittopskip = \topskip
-+ % Loop until left column is at least as high as the right column.
-+ {%
-+ \vbadness = 10000
-+ \loop
-+ \global\setbox3 = \copy0
-+ \global\setbox1 = \vsplit3 to \dimen@
-+ \ifdim\ht1<\ht3
-+ \global\advance\dimen@ by 1pt
-+ \repeat
-+ }%
-+ % Now the left column is in box 1, and the right column in box 3.
-+ % Check whether the left column has come out higher than the page itself.
-+ % (Note that we have doubled \vsize for the double columns, so
-+ % the actual height of the page is 0.5\vsize).
-+ \ifdim2\ht1>\vsize
-+ % Just split the last of the double column material roughly in half.
-+ \setbox2=\box0
-+ \setbox0 = \vsplit2 to \dimen@ii
-+ \setbox0=\vbox to \dimen@ii {\unvbox0\vfill}%
-+ \setbox2=\vbox to \dimen@ii {\unvbox2\vfill}%
-+ \else
-+ % Compare the heights of the two columns.
-+ \ifdim4\ht1>5\ht3
-+ % Column heights are too different, so don't make their bottoms
-+ % flush with each other.
-+ \setbox2=\vbox to \ht1 {\unvbox3\vfill}%
-+ \setbox0=\vbox to \ht1 {\unvbox1\vfill}%
-+ \else
-+ % Make column bottoms flush with each other.
-+ \setbox2=\vbox to\ht1{\unvbox3\unskip}%
-+ \setbox0=\vbox to\ht1{\unvbox1\unskip}%
-+ \fi
-+ \fi
-+ \fi
- %
-- \pagesofar
-+ \global\setbox\balancedcolumns=\vbox{\pagesofar}%
- }
- \catcode`\@ = \other
-
-@@ -5339,10 +6047,14 @@
- \null
- \vskip.3\vsize % move it down on the page a bit
- \begingroup
-- \noindent \titlefonts\rmisbold #1\par % the text
-+ \noindent \titlefonts\rm #1\par % the text
- \let\lastnode=\empty % no node to associate with
- \writetocentry{part}{#1}{}% but put it in the toc
- \headingsoff % no headline or footline on the part page
-+ % This outputs a mark at the end of the page that clears \thischapter
-+ % and \thissection, as is done in \startcontents.
-+ \let\pchapsepmacro\relax
-+ \chapmacro{}{Yomitfromtoc}{}%
- \chapoddpage
- \endgroup
- }
-@@ -5587,9 +6299,6 @@
-
- % @centerchap is like @unnumbered, but the heading is centered.
- \outer\parseargdef\centerchap{%
-- % Well, we could do the following in a group, but that would break
-- % an assumption that \chapmacro is called at the outermost level.
-- % Thus we are safer this way: --kasal, 24feb04
- \let\centerparametersmaybe = \centerparameters
- \unnmhead0{#1}%
- \let\centerparametersmaybe = \relax
-@@ -5713,7 +6422,11 @@
-
- % Define plain chapter starts, and page on/off switching for it.
- \def\chapbreak{\dobreak \chapheadingskip {-4000}}
-+
-+% Start a new page
- \def\chappager{\par\vfill\supereject}
-+
-+% \chapoddpage - start on an odd page for a new chapter
- % Because \domark is called before \chapoddpage, the filler page will
- % get the headings for the next chapter, which is wrong. But we don't
- % care -- we just disable all headings on the filler page.
-@@ -5728,7 +6441,7 @@
- \fi
- }
-
--\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
-+\parseargdef\setchapternewpage{\csname CHAPPAG#1\endcsname}
-
- \def\CHAPPAGoff{%
- \global\let\contentsalignmacro = \chappager
-@@ -5749,7 +6462,7 @@
-
- \CHAPPAGon
-
--% Chapter opening.
-+% \chapmacro - Chapter opening.
- %
- % #1 is the text, #2 is the section type (Ynumbered, Ynothing,
- % Yappendix, Yomitfromtoc), #3 the chapter number.
-@@ -5761,7 +6474,13 @@
- \def\Yomitfromtockeyword{Yomitfromtoc}
- %
- \def\chapmacro#1#2#3{%
-- \checkenv{}% chapters, etc., should not start inside an environment.
-+ \expandafter\ifx\thisenv\titlepage\else
-+ \checkenv{}% chapters, etc., should not start inside an environment.
-+ \fi
-+ % FIXME: \chapmacro is currently called from inside \titlepage when
-+ % \setcontentsaftertitlepage to print the "Table of Contents" heading, but
-+ % this should probably be done by \sectionheading with an option to print
-+ % in chapter size.
- %
- % Insert the first mark before the heading break (see notes for \domark).
- \let\prevchapterdefs=\lastchapterdefs
-@@ -5814,7 +6533,7 @@
- \domark
- %
- {%
-- \chapfonts \rmisbold
-+ \chapfonts \rm
- \let\footnote=\errfootnoteheading % give better error message
- %
- % Have to define \lastsection before calling \donoderef, because the
-@@ -5868,30 +6587,6 @@
- }
-
-
--% I don't think this chapter style is supported any more, so I'm not
--% updating it with the new noderef stuff. We'll see. --karl, 11aug03.
--%
--\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
--%
--\def\unnchfopen #1{%
-- \chapoddpage
-- \vbox{\chapfonts \raggedtitlesettings #1\par}%
-- \nobreak\bigskip\nobreak
--}
--\def\chfopen #1#2{\chapoddpage {\chapfonts
--\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
--\par\penalty 5000 %
--}
--\def\centerchfopen #1{%
-- \chapoddpage
-- \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
-- \nobreak\bigskip \nobreak
--}
--\def\CHAPFopen{%
-- \global\let\chapmacro=\chfopen
-- \global\let\centerchapmacro=\centerchfopen}
--
--
- % Section titles. These macros combine the section number parts and
- % call the generic \sectionheading to do the printing.
- %
-@@ -5930,7 +6625,7 @@
- \let\footnote=\errfootnoteheading
- %
- % Switch to the right set of fonts.
-- \csname #2fonts\endcsname \rmisbold
-+ \csname #2fonts\endcsname \rm
- %
- % Insert first mark before the heading break (see notes for \domark).
- \let\prevsectiondefs=\lastsectiondefs
-@@ -6094,7 +6789,14 @@
- % 1 and 2 (the page numbers aren't printed), and so are the first
- % two pages of the document. Thus, we'd have two destinations named
- % `1', and two named `2'.
-- \ifpdf \global\pdfmakepagedesttrue \fi
-+ \ifpdf
-+ \global\pdfmakepagedesttrue
-+ \else
-+ \ifx\XeTeXrevision\thisisundefined
-+ \else
-+ \global\pdfmakepagedesttrue
-+ \fi
-+ \fi
- }
-
-
-@@ -6143,7 +6845,7 @@
- \savepageno = \pageno
- \begingroup % Set up to handle contents files properly.
- \raggedbottom % Worry more about breakpoints than the bottom.
-- \advance\hsize by -\contentsrightmargin % Don't use the full line length.
-+ \entryrightmargin=\contentsrightmargin % Don't use the full line length.
- %
- % Roman numerals for page numbers.
- \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
-@@ -6248,7 +6950,7 @@
-
- % Chapters, in the main contents.
- \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
--%
-+
- % Chapters, in the short toc.
- % See comments in \dochapentry re vbox and related settings.
- \def\shortchapentry#1#2#3#4{%
-@@ -6263,7 +6965,7 @@
- \setbox0 = \hbox{\putwordAppendix{} M}%
- \hbox to \wd0{\putwordAppendix{} #1\hss}}
- %
--\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
-+\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\hskip.7em#1}{#4}}
-
- % Unnumbered chapters.
- \def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
-@@ -6296,6 +6998,8 @@
- \def\dochapentry#1#2{%
- \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
- \begingroup
-+ % Move the page numbers slightly to the right
-+ \advance\entryrightmargin by -0.05em
- \chapentryfonts
- \tocentry{#1}{\dopageno\bgroup#2\egroup}%
- \endgroup
-@@ -6352,7 +7056,6 @@
- \catcode `\>=\other
- \catcode `\`=\other
- \catcode `\'=\other
-- \escapechar=`\\
- %
- % ' is active in math mode (mathcode"8000). So reset it, and all our
- % other math active characters (just in case), to plain's definitions.
-@@ -6415,6 +7118,24 @@
- \endgraf
- \ifdim\lastskip<\envskipamount
- \removelastskip
-+ \ifnum\lastpenalty<10000
-+ % Penalize breaking before the environment, because preceding text
-+ % often leads into it.
-+ \penalty100
-+ \fi
-+ \vskip\envskipamount
-+ \fi
-+ \fi
-+}}
-+
-+\def\afterenvbreak{{%
-+ % =10000 instead of <10000 because of a special case in \itemzzz and
-+ % \sectionheading, q.v.
-+ \ifnum \lastpenalty=10000 \else
-+ \advance\envskipamount by \parskip
-+ \endgraf
-+ \ifdim\lastskip<\envskipamount
-+ \removelastskip
- % it's not a good place to break if the last penalty was \nobreak
- % or better ...
- \ifnum\lastpenalty<10000 \penalty-50 \fi
-@@ -6423,8 +7144,6 @@
- \fi
- }}
-
--\let\afterenvbreak = \aboveenvbreak
--
- % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will
- % also clear it, so that its embedded environments do the narrowing again.
- \let\nonarrowing=\relax
-@@ -6468,7 +7187,7 @@
- % collide with the section heading.
- \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi
- %
-- \vbox\bgroup
-+ \setbox\groupbox=\vbox\bgroup
- \baselineskip=0pt\parskip=0pt\lineskip=0pt
- \carttop
- \hbox\bgroup
-@@ -6492,6 +7211,7 @@
- \egroup
- \cartbot
- \egroup
-+ \addgroupbox
- \checkinserts
- }
-
-@@ -6874,7 +7594,7 @@
- % typesetting commands (@smallbook, font changes, etc.) have to be done
- % beforehand -- and a) we want @copying to be done first in the source
- % file; b) letting users define the frontmatter in as flexible order as
--% possible is very desirable.
-+% possible is desirable.
- %
- \def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
- \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
-@@ -6969,7 +7689,7 @@
- \temp
- }
-
--% \domakedefun \deffn \deffnx \deffnheader
-+% \domakedefun \deffn \deffnx \deffnheader { (defn. of \deffnheader) }
- %
- % Define \deffn and \deffnx, without parameters.
- % \deffnheader has to be defined explicitly.
-@@ -7178,7 +7898,7 @@
- \fi % no return type
- #3% output function name
- }%
-- {\rm\enskip}% hskip 0.5 em of \tenrm
-+ {\rm\enskip}% hskip 0.5 em of \rmfont
- %
- \boldbrax
- % arguments will be output next, if any.
-@@ -7307,34 +8027,41 @@
- }
- \fi
-
--\def\scanmacro#1{\begingroup
-+% alias because \c means cedilla in @tex or @math
-+\let\texinfoc=\c
-+
-+\newcount\savedcatcodeone
-+\newcount\savedcatcodetwo
-+
-+% Used at the time of macro expansion.
-+% Argument is macro body with arguments substituted
-+\def\scanmacro#1{%
- \newlinechar`\^^M
-- \let\xeatspaces\eatspaces
-+ \def\xeatspaces{\eatspaces}%
- %
-- % Undo catcode changes of \startcontents and \doprintindex
-- % When called from @insertcopying or (short)caption, we need active
-- % backslash to get it printed correctly. Previously, we had
-- % \catcode`\\=\other instead. We'll see whether a problem appears
-- % with macro expansion. --kasal, 19aug04
-- \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
-+ % Temporarily undo catcode changes of \printindex. Set catcode of @ to
-+ % 0 so that @-commands in macro expansions aren't printed literally when
-+ % formatting an index file, where \ is used as the escape character.
-+ \savedcatcodeone=\catcode`\@
-+ \savedcatcodetwo=\catcode`\\
-+ \catcode`\@=0
-+ \catcode`\\=\active
- %
-- % ... and for \example:
-- \spaceisspace
-+ % Process the macro body under the current catcode regime.
-+ \scantokens{#1@texinfoc}%
- %
-- % The \empty here causes a following catcode 5 newline to be eaten as
-- % part of reading whitespace after a control sequence. It does not
-- % eat a catcode 13 newline. There's no good way to handle the two
-- % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX
-- % would then have different behavior). See the Macro Details node in
-- % the manual for the workaround we recommend for macros and
-- % line-oriented commands.
-- %
-- \scantokens{#1\empty}%
--\endgroup}
-+ \catcode`\@=\savedcatcodeone
-+ \catcode`\\=\savedcatcodetwo
-+ %
-+ % The \texinfoc is to remove the \newlinechar added by \scantokens, and
-+ % can be noticed by \parsearg.
-+ % We avoid surrounding the call to \scantokens with \bgroup and \egroup
-+ % to allow macros to open or close groups themselves.
-+}
-
-+% Used for copying and captions
- \def\scanexp#1{%
-- \edef\temp{\noexpand\scanmacro{#1}}%
-- \temp
-+ \expandafter\scanmacro\expandafter{#1}%
- }
-
- \newcount\paramno % Count of parameters
-@@ -7342,7 +8069,7 @@
- \newif\ifrecursive % Is it recursive?
-
- % List of all defined macros in the form
--% \definedummyword\macro1\definedummyword\macro2...
-+% \commondummyword\macro1\commondummyword\macro2...
- % Currently is also contains all @aliases; the list can be split
- % if there is a need.
- \def\macrolist{}
-@@ -7350,7 +8077,7 @@
- % Add the macro to \macrolist
- \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
- \def\addtomacrolistxxx#1{%
-- \toks0 = \expandafter{\macrolist\definedummyword#1}%
-+ \toks0 = \expandafter{\macrolist\commondummyword#1}%
- \xdef\macrolist{\the\toks0}%
- }
-
-@@ -7400,47 +8127,45 @@
- \catcode`\+=\other
- \catcode`\<=\other
- \catcode`\>=\other
-- \catcode`\@=\other
- \catcode`\^=\other
- \catcode`\_=\other
- \catcode`\|=\other
- \catcode`\~=\other
-- \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi
-+ \passthroughcharstrue
- }
-
- \def\scanargctxt{% used for copying and captions, not macros.
- \scanctxt
-+ \catcode`\@=\other
- \catcode`\\=\other
- \catcode`\^^M=\other
- }
-
- \def\macrobodyctxt{% used for @macro definitions
- \scanctxt
-+ \catcode`\ =\other
-+ \catcode`\@=\other
- \catcode`\{=\other
- \catcode`\}=\other
- \catcode`\^^M=\other
- \usembodybackslash
- }
-
--\def\macroargctxt{% used when scanning invocations
-+% Used when scanning braced macro arguments. Note, however, that catcode
-+% changes here are ineffectual if the macro invocation was nested inside
-+% an argument to another Texinfo command.
-+\def\macroargctxt{%
- \scanctxt
-- \catcode`\\=0
-+ \catcode`\ =\active
-+ \catcode`\^^M=\other
-+ \catcode`\\=\active
-+}
-+
-+\def\macrolineargctxt{% used for whole-line arguments without braces
-+ \scanctxt
-+ \catcode`\{=\other
-+ \catcode`\}=\other
- }
--% why catcode 0 for \ in the above? To recognize \\ \{ \} as "escapes"
--% for the single characters \ { }. Thus, we end up with the "commands"
--% that would be written @\ @{ @} in a Texinfo document.
--%
--% We already have @{ and @}. For @\, we define it here, and only for
--% this purpose, to produce a typewriter backslash (so, the @\ that we
--% define for @math can't be used with @macro calls):
--%
--\def\\{\normalbackslash}%
--%
--% We would like to do this for \, too, since that is what makeinfo does.
--% But it is not possible, because Texinfo already has a command @, for a
--% cedilla accent. Documents must use @comma{} instead.
--%
--% \anythingelse will almost certainly be an error of some kind.
-
- % \mbodybackslash is the definition of \ in @macro bodies.
- % It maps \foo\ => \csname macarg.foo\endcsname => #N
-@@ -7493,7 +8218,7 @@
- % Remove the macro name from \macrolist:
- \begingroup
- \expandafter\let\csname#1\endcsname \relax
-- \let\definedummyword\unmacrodo
-+ \let\commondummyword\unmacrodo
- \xdef\macrolist{\macrolist}%
- \endgroup
- \else
-@@ -7508,60 +8233,40 @@
- \ifx #1\relax
- % remove this
- \else
-- \noexpand\definedummyword \noexpand#1%
-+ \noexpand\commondummyword \noexpand#1%
- \fi
- }
-
--% This makes use of the obscure feature that if the last token of a
--% is #, then the preceding argument is delimited by
--% an opening brace, and that opening brace is not consumed.
-+% \getargs -- Parse the arguments to a @macro line. Set \macname to
-+% the name of the macro, and \argl to the braced argument list.
- \def\getargs#1{\getargsxxx#1{}}
- \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
- \def\getmacname#1 #2\relax{\macname={#1}}
- \def\getmacargs#1{\def\argl{#1}}
-+% This made use of the feature that if the last token of a
-+% is #, then the preceding argument is delimited by
-+% an opening brace, and that opening brace is not consumed.
-
--% For macro processing make @ a letter so that we can make Texinfo private macro names.
--\edef\texiatcatcode{\the\catcode`\@}
--\catcode `@=11\relax
--
--% Parse the optional {params} list. Set up \paramno and \paramlist
--% so \defmacro knows what to do. Define \macarg.BLAH for each BLAH
--% in the params list to some hook where the argument is to be expanded. If
--% there are less than 10 arguments that hook is to be replaced by ##N where N
-+% Parse the optional {params} list to @macro or @rmacro.
-+% Set \paramno to the number of arguments,
-+% and \paramlist to a parameter text for the macro (e.g. #1,#2,#3 for a
-+% three-param macro.) Define \macarg.BLAH for each BLAH in the params
-+% list to some hook where the argument is to be expanded. If there are
-+% less than 10 arguments that hook is to be replaced by ##N where N
- % is the position in that list, that is to say the macro arguments are to be
- % defined `a la TeX in the macro body.
- %
- % That gets used by \mbodybackslash (above).
- %
--% We need to get `macro parameter char #' into several definitions.
--% The technique used is stolen from LaTeX: let \hash be something
--% unexpandable, insert that wherever you need a #, and then redefine
--% it to # just before using the token list produced.
--%
--% The same technique is used to protect \eatspaces till just before
--% the macro is used.
--%
--% If there are 10 or more arguments, a different technique is used, where the
--% hook remains in the body, and when macro is to be expanded the body is
--% processed again to replace the arguments.
--%
--% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
--% argument N value and then \edef the body (nothing else will expand because of
--% the catcode regime underwhich the body was input).
-+% If there are 10 or more arguments, a different technique is used: see
-+% \parsemmanyargdef.
- %
--% If you compile with TeX (not eTeX), and you have macros with 10 or more
--% arguments, no macro can have more than 256 arguments (else error).
- \def\parsemargdef#1;{%
- \paramno=0\def\paramlist{}%
- \let\hash\relax
-+ % \hash is redefined to `#' later to get it into definitions
- \let\xeatspaces\relax
- \parsemargdefxxx#1,;,%
-- % In case that there are 10 or more arguments we parse again the arguments
-- % list to set new definitions for the \macarg.BLAH macros corresponding to
-- % each BLAH argument. It was anyhow needed to parse already once this list
-- % in order to count the arguments, and as macros with at most 9 arguments
-- % are by far more frequent than macro with 10 or more arguments, defining
-- % twice the \macarg.BLAH macros does not cost too much processing power.
- \ifnum\paramno<10\relax\else
- \paramno0\relax
- \parsemmanyargdef@@#1,;,% 10 or more arguments
-@@ -7576,6 +8281,43 @@
- \edef\paramlist{\paramlist\hash\the\paramno,}%
- \fi\next}
-
-+% \parsemacbody, \parsermacbody
-+%
-+% Read recursive and nonrecursive macro bodies. (They're different since
-+% rec and nonrec macros end differently.)
-+%
-+% We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro
-+% body to be transformed.
-+% Set \macrobody to the body of the macro, and call \defmacro.
-+%
-+{\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{%
-+\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}%
-+{\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{%
-+\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}%
-+
-+% Make @ a letter, so that we can make private-to-Texinfo macro names.
-+\edef\texiatcatcode{\the\catcode`\@}
-+\catcode `@=11\relax
-+
-+%%%%%%%%%%%%%% Code for > 10 arguments only %%%%%%%%%%%%%%%%%%
-+
-+% If there are 10 or more arguments, a different technique is used, where the
-+% hook remains in the body, and when macro is to be expanded the body is
-+% processed again to replace the arguments.
-+%
-+% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
-+% argument N value and then \edef the body (nothing else will expand because of
-+% the catcode regime under which the body was input).
-+%
-+% If you compile with TeX (not eTeX), and you have macros with 10 or more
-+% arguments, no macro can have more than 256 arguments (else error).
-+%
-+% In case that there are 10 or more arguments we parse again the arguments
-+% list to set new definitions for the \macarg.BLAH macros corresponding to
-+% each BLAH argument. It was anyhow needed to parse already once this list
-+% in order to count the arguments, and as macros with at most 9 arguments
-+% are by far more frequent than macro with 10 or more arguments, defining
-+% twice the \macarg.BLAH macros does not cost too much processing power.
- \def\parsemmanyargdef@@#1,{%
- \if#1;\let\next=\relax
- \else
-@@ -7591,16 +8333,6 @@
- \advance\paramno by 1\relax
- \fi\next}
-
--% These two commands read recursive and nonrecursive macro bodies.
--% (They're different since rec and nonrec macros end differently.)
--%
--
--\catcode `\@\texiatcatcode
--\long\def\parsemacbody#1@end macro%
--{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
--\long\def\parsermacbody#1@end rmacro%
--{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
--\catcode `\@=11\relax
-
- \let\endargs@\relax
- \let\nil@\relax
-@@ -7629,8 +8361,6 @@
- \getargvals@@
- \fi
- }
--
--%
- \def\getargvals@@{%
- \ifx\paramlist\nilm@
- % Some sanity check needed here that \argvaluelist is also empty.
-@@ -7674,7 +8404,8 @@
- }
-
- % Replace arguments by their values in the macro body, and place the result
--% in macro \@tempa
-+% in macro \@tempa.
-+%
- \def\macvalstoargs@{%
- % To do this we use the property that token registers that are \the'ed
- % within an \edef expand only once. So we are going to place all argument
-@@ -7698,8 +8429,9 @@
- \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
- }
-
-+% Define the named-macro outside of this group and then close this group.
-+%
- \def\macargexpandinbody@{%
-- %% Define the named-macro outside of this group and then close this group.
- \expandafter
- \endgroup
- \macargdeflist@
-@@ -7736,14 +8468,8 @@
- \next
- }
-
--% Save the token stack pointer into macro #1
--\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}}
--% Restore the token stack pointer from number in macro #1
--\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax}
--% newtoks that can be used non \outer .
--\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi}
--
--% Tailing missing arguments are set to empty
-+% Trailing missing arguments are set to empty.
-+%
- \def\setemptyargvalues@{%
- \ifx\paramlist\nilm@
- \let\next\macargexpandinbody@
-@@ -7773,99 +8499,191 @@
- \long\def#2{#4}%
- }
-
--% This defines a Texinfo @macro. There are eight cases: recursive and
--% nonrecursive macros of zero, one, up to nine, and many arguments.
--% Much magic with \expandafter here.
-+
-+%%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%%
-+
-+
-+% This defines a Texinfo @macro or @rmacro, called by \parsemacbody.
-+% \macrobody has the body of the macro in it, with placeholders for
-+% its parameters, looking like "\xeatspaces{\hash 1}".
-+% \paramno is the number of parameters
-+% \paramlist is a TeX parameter text, e.g. "#1,#2,#3,"
-+% There are four cases: macros of zero, one, up to nine, and many arguments.
- % \xdef is used so that macro definitions will survive the file
--% they're defined in; @include reads the file inside a group.
-+% they're defined in: @include reads the file inside a group.
- %
- \def\defmacro{%
- \let\hash=##% convert placeholders to macro parameter chars
-- \ifrecursive
-- \ifcase\paramno
-- % 0
-- \expandafter\xdef\csname\the\macname\endcsname{%
-- \noexpand\scanmacro{\temp}}%
-- \or % 1
-- \expandafter\xdef\csname\the\macname\endcsname{%
-- \bgroup\noexpand\macroargctxt
-- \noexpand\braceorline
-- \expandafter\noexpand\csname\the\macname xxx\endcsname}%
-- \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
-- \egroup\noexpand\scanmacro{\temp}}%
-- \else
-- \ifnum\paramno<10\relax % at most 9
-- \expandafter\xdef\csname\the\macname\endcsname{%
-- \bgroup\noexpand\macroargctxt
-- \noexpand\csname\the\macname xx\endcsname}%
-- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-- \expandafter\expandafter
-- \expandafter\xdef
-- \expandafter\expandafter
-- \csname\the\macname xxx\endcsname
-- \paramlist{\egroup\noexpand\scanmacro{\temp}}%
-- \else % 10 or more
-- \expandafter\xdef\csname\the\macname\endcsname{%
-- \noexpand\getargvals@{\the\macname}{\argl}%
-- }%
-- \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
-- \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
-- \fi
-- \fi
-+ \ifnum\paramno=1
-+ \def\xeatspaces##1{##1}%
-+ % This removes the pair of braces around the argument. We don't
-+ % use \eatspaces, because this can cause ends of lines to be lost
-+ % when the argument to \eatspaces is read, leading to line-based
-+ % commands like "@itemize" not being read correctly.
- \else
-- \ifcase\paramno
-- % 0
-+ \let\xeatspaces\relax % suppress expansion
-+ \fi
-+ \ifcase\paramno
-+ % 0
-+ \expandafter\xdef\csname\the\macname\endcsname{%
-+ \bgroup
-+ \noexpand\spaceisspace
-+ \noexpand\endlineisspace
-+ \noexpand\expandafter % skip any whitespace after the macro name.
-+ \expandafter\noexpand\csname\the\macname @@@\endcsname}%
-+ \expandafter\xdef\csname\the\macname @@@\endcsname{%
-+ \egroup
-+ \noexpand\scanmacro{\macrobody}}%
-+ \or % 1
-+ \expandafter\xdef\csname\the\macname\endcsname{%
-+ \bgroup
-+ \noexpand\braceorline
-+ \expandafter\noexpand\csname\the\macname @@@\endcsname}%
-+ \expandafter\xdef\csname\the\macname @@@\endcsname##1{%
-+ \egroup
-+ \noexpand\scanmacro{\macrobody}%
-+ }%
-+ \else % at most 9
-+ \ifnum\paramno<10\relax
-+ % @MACNAME sets the context for reading the macro argument
-+ % @MACNAME@@ gets the argument, processes backslashes and appends a
-+ % comma.
-+ % @MACNAME@@@ removes braces surrounding the argument list.
-+ % @MACNAME@@@@ scans the macro body with arguments substituted.
- \expandafter\xdef\csname\the\macname\endcsname{%
-- \noexpand\norecurse{\the\macname}%
-- \noexpand\scanmacro{\temp}\egroup}%
-- \or % 1
-+ \bgroup
-+ \noexpand\expandafter % This \expandafter skip any spaces after the
-+ \noexpand\macroargctxt % macro before we change the catcode of space.
-+ \noexpand\expandafter
-+ \expandafter\noexpand\csname\the\macname @@\endcsname}%
-+ \expandafter\xdef\csname\the\macname @@\endcsname##1{%
-+ \noexpand\passargtomacro
-+ \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}%
-+ \expandafter\xdef\csname\the\macname @@@\endcsname##1{%
-+ \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}%
-+ \expandafter\expandafter
-+ \expandafter\xdef
-+ \expandafter\expandafter
-+ \csname\the\macname @@@@\endcsname\paramlist{%
-+ \egroup\noexpand\scanmacro{\macrobody}}%
-+ \else % 10 or more:
- \expandafter\xdef\csname\the\macname\endcsname{%
-- \bgroup\noexpand\macroargctxt
-- \noexpand\braceorline
-- \expandafter\noexpand\csname\the\macname xxx\endcsname}%
-- \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
-- \egroup
-- \noexpand\norecurse{\the\macname}%
-- \noexpand\scanmacro{\temp}\egroup}%
-- \else % at most 9
-- \ifnum\paramno<10\relax
-- \expandafter\xdef\csname\the\macname\endcsname{%
-- \bgroup\noexpand\macroargctxt
-- \expandafter\noexpand\csname\the\macname xx\endcsname}%
-- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-- \expandafter\expandafter
-- \expandafter\xdef
-- \expandafter\expandafter
-- \csname\the\macname xxx\endcsname
-- \paramlist{%
-- \egroup
-- \noexpand\norecurse{\the\macname}%
-- \noexpand\scanmacro{\temp}\egroup}%
-- \else % 10 or more:
-- \expandafter\xdef\csname\the\macname\endcsname{%
-- \noexpand\getargvals@{\the\macname}{\argl}%
-- }%
-- \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
-- \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse
-- \fi
-+ \noexpand\getargvals@{\the\macname}{\argl}%
-+ }%
-+ \global\expandafter\let\csname mac.\the\macname .body\endcsname\macrobody
-+ \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
- \fi
- \fi}
-
--\catcode `\@\texiatcatcode\relax
-+\catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes
-
- \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
-
--% \braceorline decides whether the next nonwhitespace character is a
--% {. If so it reads up to the closing }, if not, it reads the whole
--% line. Whatever was read is then fed to the next control sequence
--% as an argument (by \parsebrace or \parsearg).
-+
-+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-+%
-+{\catcode`\@=0 \catcode`\\=13 % We need to manipulate \ so use @ as escape
-+@catcode`@_=11 % private names
-+@catcode`@!=11 % used as argument separator
-+
-+% \passargtomacro#1#2 -
-+% Call #1 with a list of tokens #2, with any doubled backslashes in #2
-+% compressed to one.
-+%
-+% This implementation works by expansion, and not execution (so we cannot use
-+% \def or similar). This reduces the risk of this failing in contexts where
-+% complete expansion is done with no execution (for example, in writing out to
-+% an auxiliary file for an index entry).
-+%
-+% State is kept in the input stream: the argument passed to
-+% @look_ahead, @gobble_and_check_finish and @add_segment is
-+%
-+% THE_MACRO ARG_RESULT ! {PENDING_BS} NEXT_TOKEN (... rest of input)
-+%
-+% where:
-+% THE_MACRO - name of the macro we want to call
-+% ARG_RESULT - argument list we build to pass to that macro
-+% PENDING_BS - either a backslash or nothing
-+% NEXT_TOKEN - used to look ahead in the input stream to see what's coming next
-+
-+@gdef@passargtomacro#1#2{%
-+ @add_segment #1!{}@relax#2\@_finish\%
-+}
-+@gdef@_finish{@_finishx} @global@let@_finishx@relax
-+
-+% #1 - THE_MACRO ARG_RESULT
-+% #2 - PENDING_BS
-+% #3 - NEXT_TOKEN
-+% #4 used to look ahead
-+%
-+% If the next token is not a backslash, process the rest of the argument;
-+% otherwise, remove the next token.
-+@gdef@look_ahead#1!#2#3#4{%
-+ @ifx#4\%
-+ @expandafter@gobble_and_check_finish
-+ @else
-+ @expandafter@add_segment
-+ @fi#1!{#2}#4#4%
-+}
-+
-+% #1 - THE_MACRO ARG_RESULT
-+% #2 - PENDING_BS
-+% #3 - NEXT_TOKEN
-+% #4 should be a backslash, which is gobbled.
-+% #5 looks ahead
-+%
-+% Double backslash found. Add a single backslash, and look ahead.
-+@gdef@gobble_and_check_finish#1!#2#3#4#5{%
-+ @add_segment#1\!{}#5#5%
-+}
-+
-+@gdef@is_fi{@fi}
-+
-+% #1 - THE_MACRO ARG_RESULT
-+% #2 - PENDING_BS
-+% #3 - NEXT_TOKEN
-+% #4 is input stream until next backslash
-+%
-+% Input stream is either at the start of the argument, or just after a
-+% backslash sequence, either a lone backslash, or a doubled backslash.
-+% NEXT_TOKEN contains the first token in the input stream: if it is \finish,
-+% finish; otherwise, append to ARG_RESULT the segment of the argument up until
-+% the next backslash. PENDING_BACKSLASH contains a backslash to represent
-+% a backslash just before the start of the input stream that has not been
-+% added to ARG_RESULT.
-+@gdef@add_segment#1!#2#3#4\{%
-+@ifx#3@_finish
-+ @call_the_macro#1!%
-+@else
-+ % append the pending backslash to the result, followed by the next segment
-+ @expandafter@is_fi@look_ahead#1#2#4!{\}@fi
-+ % this @fi is discarded by @look_ahead.
-+ % we can't get rid of it with \expandafter because we don't know how
-+ % long #4 is.
-+}
-+
-+% #1 - THE_MACRO
-+% #2 - ARG_RESULT
-+% #3 discards the res of the conditional in @add_segment, and @is_fi ends the
-+% conditional.
-+@gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}}
-+
-+}
-+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-+
-+% \braceorline MAC is used for a one-argument macro MAC. It checks
-+% whether the next non-whitespace character is a {. It sets the context
-+% for reading the argument (slightly different in the two cases). Then,
-+% to read the argument, in the whole-line case, it then calls the regular
-+% \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC.
- %
- \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
- \def\braceorlinexxx{%
-- \ifx\nchar\bgroup\else
-- \expandafter\parsearg
-+ \ifx\nchar\bgroup
-+ \macroargctxt
-+ \expandafter\passargtomacro
-+ \else
-+ \macrolineargctxt\expandafter\parsearg
- \fi \macnamexxx}
-
-
-@@ -7947,7 +8765,10 @@
- \pdfmkdest{#1}%
- \iflinks
- {%
-+ \requireauxfile
- \atdummies % preserve commands, but don't expand them
-+ % match definition in \xrdef, \refx, \xrefX.
-+ \def\value##1{##1}%
- \edef\writexrdef##1##2{%
- \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
- ##1}{##2}}% these are parameters of \writexrdef
-@@ -7986,9 +8807,12 @@
- % node name, #4 the name of the Info file, #5 the name of the printed
- % manual. All but the node name can be omitted.
- %
--\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
--\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
--\def\ref#1{\xrefX[#1,,,,,,,]}
-+\def\pxref{\putwordsee{} \xrefXX}
-+\def\xref{\putwordSee{} \xrefXX}
-+\def\ref{\xrefXX}
-+
-+\def\xrefXX#1{\def\xrefXXarg{#1}\futurelet\tokenafterxref\xrefXXX}
-+\def\xrefXXX{\expandafter\xrefX\expandafter[\xrefXXarg,,,,,,,]}
- %
- \newbox\toprefbox
- \newbox\printedrefnamebox
-@@ -8035,9 +8859,10 @@
- %
- % Make link in pdf output.
- \ifpdf
-+ % For pdfTeX and LuaTeX
- {\indexnofonts
-- \turnoffactive
- \makevalueexpandable
-+ \turnoffactive
- % This expands tokens, so do it after making catcode changes, so _
- % etc. don't get their TeX definitions. This ignores all spaces in
- % #4, including (wrongly) those in the middle of the filename.
-@@ -8045,35 +8870,74 @@
- %
- % This (wrongly) does not take account of leading or trailing
- % spaces in #1, which should be ignored.
-- \edef\pdfxrefdest{#1}%
-- \ifx\pdfxrefdest\empty
-- \def\pdfxrefdest{Top}% no empty targets
-- \else
-- \txiescapepdf\pdfxrefdest % escape PDF special chars
-+ \setpdfdestname{#1}%
-+ %
-+ \ifx\pdfdestname\empty
-+ \def\pdfdestname{Top}% no empty targets
- \fi
- %
- \leavevmode
- \startlink attr{/Border [0 0 0]}%
- \ifnum\filenamelength>0
-- goto file{\the\filename.pdf} name{\pdfxrefdest}%
-+ goto file{\the\filename.pdf} name{\pdfdestname}%
- \else
-- goto name{\pdfmkpgn{\pdfxrefdest}}%
-+ goto name{\pdfmkpgn{\pdfdestname}}%
- \fi
- }%
- \setcolor{\linkcolor}%
-+ \else
-+ \ifx\XeTeXrevision\thisisundefined
-+ \else
-+ % For XeTeX
-+ {\indexnofonts
-+ \makevalueexpandable
-+ \turnoffactive
-+ % This expands tokens, so do it after making catcode changes, so _
-+ % etc. don't get their TeX definitions. This ignores all spaces in
-+ % #4, including (wrongly) those in the middle of the filename.
-+ \getfilename{#4}%
-+ %
-+ % This (wrongly) does not take account of leading or trailing
-+ % spaces in #1, which should be ignored.
-+ \setpdfdestname{#1}%
-+ %
-+ \ifx\pdfdestname\empty
-+ \def\pdfdestname{Top}% no empty targets
-+ \fi
-+ %
-+ \leavevmode
-+ \ifnum\filenamelength>0
-+ % With default settings,
-+ % XeTeX (xdvipdfmx) replaces link destination names with integers.
-+ % In this case, the replaced destination names of
-+ % remote PDFs are no longer known. In order to avoid a replacement,
-+ % you can use xdvipdfmx's command line option `-C 0x0010'.
-+ % If you use XeTeX 0.99996+ (TeX Live 2016+),
-+ % this command line option is no longer necessary
-+ % because we can use the `dvipdfmx:config' special.
-+ \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A
-+ << /S /GoToR /F (\the\filename.pdf) /D (\pdfdestname) >> >>}%
-+ \else
-+ \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A
-+ << /S /GoTo /D (\pdfdestname) >> >>}%
-+ \fi
-+ }%
-+ \setcolor{\linkcolor}%
-+ \fi
- \fi
-- %
-- % Float references are printed completely differently: "Figure 1.2"
-- % instead of "[somenode], p.3". We distinguish them by the
-- % LABEL-title being set to a magic string.
- {%
- % Have to otherify everything special to allow the \csname to
- % include an _ in the xref name, etc.
- \indexnofonts
- \turnoffactive
-+ \def\value##1{##1}%
- \expandafter\global\expandafter\let\expandafter\Xthisreftitle
- \csname XR#1-title\endcsname
- }%
-+ %
-+ % Float references are printed completely differently: "Figure 1.2"
-+ % instead of "[somenode], p.3". \iffloat distinguishes them by
-+ % \Xthisreftitle being set to a magic string.
- \iffloat\Xthisreftitle
- % If the user specified the print name (third arg) to the ref,
- % print it instead of our usual "Figure 1.2".
-@@ -8132,6 +8996,15 @@
- %
- % output the `page 3'.
- \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
-+ % Add a , if xref followed by a space
-+ \if\space\noexpand\tokenafterxref ,%
-+ \else\ifx\ \tokenafterxref ,% @TAB
-+ \else\ifx\*\tokenafterxref ,% @*
-+ \else\ifx\ \tokenafterxref ,% @SPACE
-+ \else\ifx\
-+ \tokenafterxref ,% @NL
-+ \else\ifx\tie\tokenafterxref ,% @tie
-+ \fi\fi\fi\fi\fi\fi
- \fi\fi
- \fi
- \endlink
-@@ -8198,13 +9071,14 @@
- \fi\fi\fi
- }
-
--% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
--% If its value is nonempty, SUFFIX is output afterward.
--%
-+% \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME. SUFFIX
-+% is output afterwards if non-empty.
- \def\refx#1#2{%
-+ \requireauxfile
- {%
- \indexnofonts
- \otherbackslash
-+ \def\value##1{##1}%
- \expandafter\global\expandafter\let\expandafter\thisrefX
- \csname XR#1\endcsname
- }%
-@@ -8229,16 +9103,18 @@
- #2% Output the suffix in any case.
- }
-
--% This is the macro invoked by entries in the aux file. Usually it's
--% just a \def (we prepend XR to the control sequence name to avoid
--% collisions). But if this is a float type, we have more work to do.
-+% This is the macro invoked by entries in the aux file. Define a control
-+% sequence for a cross-reference target (we prepend XR to the control sequence
-+% name to avoid collisions). The value is the page number. If this is a float
-+% type, we have more work to do.
- %
- \def\xrdef#1#2{%
-- {% The node name might contain 8-bit characters, which in our current
-- % implementation are changed to commands like @'e. Don't let these
-- % mess up the control sequence name.
-+ {% Expand the node or anchor name to remove control sequences.
-+ % \turnoffactive stops 8-bit characters being changed to commands
-+ % like @'e. \refx does the same to retrieve the value in the definition.
- \indexnofonts
- \turnoffactive
-+ \def\value##1{##1}%
- \xdef\safexrefname{#1}%
- }%
- %
-@@ -8265,6 +9141,23 @@
- \fi
- }
-
-+% If working on a large document in chapters, it is convenient to
-+% be able to disable indexing, cross-referencing, and contents, for test runs.
-+% This is done with @novalidate at the beginning of the file.
-+%
-+\newif\iflinks \linkstrue % by default we want the aux files.
-+\let\novalidate = \linksfalse
-+
-+% Used when writing to the aux file, or when using data from it.
-+\def\requireauxfile{%
-+ \iflinks
-+ \tryauxfile
-+ % Open the new aux file. TeX will close it automatically at exit.
-+ \immediate\openout\auxfile=\jobname.aux
-+ \fi
-+ \global\let\requireauxfile=\relax % Only do this once.
-+}
-+
- % Read the last existing aux file, if any. No error if none exists.
- %
- \def\tryauxfile{%
-@@ -8343,9 +9236,6 @@
- % now. --karl, 15jan04.
- \catcode`\\=\other
- %
-- % Make the characters 128-255 be printing characters.
-- {\setnonasciicharscatcodenonglobal\other}%
-- %
- % @ is our escape character in .aux files, and we need braces.
- \catcode`\{=1
- \catcode`\}=2
-@@ -8409,7 +9299,7 @@
- % We want to typeset this text as a normal paragraph, even if the
- % footnote reference occurs in (for example) a display environment.
- % So reset some parameters.
-- \hsize=\pagewidth
-+ \hsize=\txipagewidth
- \interlinepenalty\interfootnotelinepenalty
- \splittopskip\ht\strutbox % top baseline for broken footnotes
- \splitmaxdepth\dp\strutbox
-@@ -8558,6 +9448,7 @@
- \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
- \catcode`\^^M = 5 % in case we're inside an example
- \normalturnoffactive % allow _ et al. in names
-+ \def\xprocessmacroarg{\eatspaces}% in case we are being used via a macro
- % If the image is by itself, center it.
- \ifvmode
- \imagevmodetrue
-@@ -8587,12 +9478,21 @@
- %
- % Output the image.
- \ifpdf
-+ % For pdfTeX and LuaTeX <= 0.80
- \dopdfimage{#1}{#2}{#3}%
- \else
-- % \epsfbox itself resets \epsf?size at each figure.
-- \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
-- \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
-- \epsfbox{#1.eps}%
-+ \ifx\XeTeXrevision\thisisundefined
-+ % For epsf.tex
-+ % \epsfbox itself resets \epsf?size at each figure.
-+ \setbox0 = \hbox{\ignorespaces #2}%
-+ \ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
-+ \setbox0 = \hbox{\ignorespaces #3}%
-+ \ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
-+ \epsfbox{#1.eps}%
-+ \else
-+ % For XeTeX
-+ \doxeteximage{#1}{#2}{#3}%
-+ \fi
- \fi
- %
- \ifimagevmode
-@@ -8714,7 +9614,7 @@
- %
- \ifx\thiscaption\empty \else
- \ifx\floatident\empty \else
-- \appendtomacro\captionline{: }% had ident, so need a colon between
-+ \appendtomacro\captionline{: }% had ident, so need a colon between
- \fi
- %
- % caption text.
-@@ -8738,32 +9638,20 @@
- % \floatlabel-lof. Besides \floatident, we include the short
- % caption if specified, else the full caption if specified, else nothing.
- {%
-+ \requireauxfile
- \atdummies
- %
-- % since we read the caption text in the macro world, where ^^M
-- % is turned into a normal character, we have to scan it back, so
-- % we don't write the literal three characters "^^M" into the aux file.
-- \scanexp{%
-- \xdef\noexpand\gtemp{%
-- \ifx\thisshortcaption\empty
-- \thiscaption
-- \else
-- \thisshortcaption
-- \fi
-- }%
-- }%
-+ \ifx\thisshortcaption\empty
-+ \def\gtemp{\thiscaption}%
-+ \else
-+ \def\gtemp{\thisshortcaption}%
-+ \fi
- \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
-- \ifx\gtemp\empty \else : \gtemp \fi}}%
-+ \ifx\gtemp\empty \else : \gtemp \fi}}%
- }%
- \fi
- \egroup % end of \vtop
- %
-- % place the captured inserts
-- %
-- % BEWARE: when the floats start floating, we have to issue warning
-- % whenever an insert appears inside a float which could possibly
-- % float. --kasal, 26may04
-- %
- \checkinserts
- }
-
-@@ -8938,6 +9826,70 @@
- \global\righthyphenmin = #3\relax
- }
-
-+% XeTeX and LuaTeX can handle Unicode natively.
-+% Their default I/O uses UTF-8 sequences instead of a byte-wise operation.
-+% Other TeX engines' I/O (pdfTeX, etc.) is byte-wise.
-+%
-+\newif\iftxinativeunicodecapable
-+\newif\iftxiusebytewiseio
-+
-+\ifx\XeTeXrevision\thisisundefined
-+ \ifx\luatexversion\thisisundefined
-+ \txinativeunicodecapablefalse
-+ \txiusebytewiseiotrue
-+ \else
-+ \txinativeunicodecapabletrue
-+ \txiusebytewiseiofalse
-+ \fi
-+\else
-+ \txinativeunicodecapabletrue
-+ \txiusebytewiseiofalse
-+\fi
-+
-+% Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex
-+% for non-UTF-8 (byte-wise) encodings.
-+%
-+\def\setbytewiseio{%
-+ \ifx\XeTeXrevision\thisisundefined
-+ \else
-+ \XeTeXdefaultencoding "bytes" % For subsequent files to be read
-+ \XeTeXinputencoding "bytes" % For document root file
-+ % Unfortunately, there seems to be no corresponding XeTeX command for
-+ % output encoding. This is a problem for auxiliary index and TOC files.
-+ % The only solution would be perhaps to write out @U{...} sequences in
-+ % place of non-ASCII characters.
-+ \fi
-+
-+ \ifx\luatexversion\thisisundefined
-+ \else
-+ \directlua{
-+ local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub
-+ local function convert_char (char)
-+ return utf8_char(byte(char))
-+ end
-+
-+ local function convert_line (line)
-+ return gsub(line, ".", convert_char)
-+ end
-+
-+ callback.register("process_input_buffer", convert_line)
-+
-+ local function convert_line_out (line)
-+ local line_out = ""
-+ for c in string.utfvalues(line) do
-+ line_out = line_out .. string.char(c)
-+ end
-+ return line_out
-+ end
-+
-+ callback.register("process_output_buffer", convert_line_out)
-+ }
-+ \fi
-+
-+ \txiusebytewiseiotrue
-+}
-+
-+
- % Helpers for encodings.
- % Set the catcode of characters 128 through 255 to the specified number.
- %
-@@ -8960,7 +9912,9 @@
- % @documentencoding sets the definition of non-ASCII characters
- % according to the specified encoding.
- %
--\parseargdef\documentencoding{%
-+\def\documentencoding{\parseargusing\filenamecatcodes\documentencodingzzz}
-+\def\documentencodingzzz#1{%
-+ %
- % Encoding being declared for the document.
- \def\declaredencoding{\csname #1.enc\endcsname}%
- %
-@@ -8976,22 +9930,38 @@
- \asciichardefs
- %
- \else \ifx \declaredencoding \lattwo
-+ \iftxinativeunicodecapable
-+ \setbytewiseio
-+ \fi
- \setnonasciicharscatcode\active
- \lattwochardefs
- %
- \else \ifx \declaredencoding \latone
-+ \iftxinativeunicodecapable
-+ \setbytewiseio
-+ \fi
- \setnonasciicharscatcode\active
- \latonechardefs
- %
- \else \ifx \declaredencoding \latnine
-+ \iftxinativeunicodecapable
-+ \setbytewiseio
-+ \fi
- \setnonasciicharscatcode\active
- \latninechardefs
- %
- \else \ifx \declaredencoding \utfeight
-- \setnonasciicharscatcode\active
-- % since we already invoked \utfeightchardefs at the top level
-- % (below), do not re-invoke it, then our check for duplicated
-- % definitions triggers. Making non-ascii chars active is enough.
-+ \iftxinativeunicodecapable
-+ % For native Unicode handling (XeTeX and LuaTeX)
-+ \nativeunicodechardefs
-+ \else
-+ % For treating UTF-8 as byte sequences (TeX, eTeX and pdfTeX)
-+ \setnonasciicharscatcode\active
-+ % since we already invoked \utfeightchardefs at the top level
-+ % (below), do not re-invoke it, otherwise our check for duplicated
-+ % definitions gets triggered. Making non-ascii chars active is
-+ % sufficient.
-+ \fi
- %
- \else
- \message{Ignoring unknown document encoding: #1.}%
-@@ -9001,6 +9971,18 @@
- \fi % latone
- \fi % lattwo
- \fi % ascii
-+ %
-+ \ifx\XeTeXrevision\thisisundefined
-+ \else
-+ \ifx \declaredencoding \utfeight
-+ \else
-+ \ifx \declaredencoding \ascii
-+ \else
-+ \message{Warning: XeTeX with non-UTF-8 encodings cannot handle %
-+ non-ASCII characters in auxiliary files.}%
-+ \fi
-+ \fi
-+ \fi
- }
-
- % emacs-page
-@@ -9017,109 +9999,119 @@
- % macros containing the character definitions.
- \setnonasciicharscatcode\active
- %
-+
-+\def\gdefchar#1#2{%
-+\gdef#1{%
-+ \ifpassthroughchars
-+ \string#1%
-+ \else
-+ #2%
-+ \fi
-+}}
-+
- % Latin1 (ISO-8859-1) character definitions.
- \def\latonechardefs{%
-- \gdef^^a0{\tie}
-- \gdef^^a1{\exclamdown}
-- \gdef^^a2{\missingcharmsg{CENT SIGN}}
-- \gdef^^a3{{\pounds}}
-- \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
-- \gdef^^a5{\missingcharmsg{YEN SIGN}}
-- \gdef^^a6{\missingcharmsg{BROKEN BAR}}
-- \gdef^^a7{\S}
-- \gdef^^a8{\"{}}
-- \gdef^^a9{\copyright}
-- \gdef^^aa{\ordf}
-- \gdef^^ab{\guillemetleft}
-- \gdef^^ac{$\lnot$}
-- \gdef^^ad{\-}
-- \gdef^^ae{\registeredsymbol}
-- \gdef^^af{\={}}
-+ \gdefchar^^a0{\tie}
-+ \gdefchar^^a1{\exclamdown}
-+ \gdefchar^^a2{{\tcfont \char162}} % cent
-+ \gdefchar^^a3{\pounds{}}
-+ \gdefchar^^a4{{\tcfont \char164}} % currency
-+ \gdefchar^^a5{{\tcfont \char165}} % yen
-+ \gdefchar^^a6{{\tcfont \char166}} % broken bar
-+ \gdefchar^^a7{\S}
-+ \gdefchar^^a8{\"{}}
-+ \gdefchar^^a9{\copyright{}}
-+ \gdefchar^^aa{\ordf}
-+ \gdefchar^^ab{\guillemetleft{}}
-+ \gdefchar^^ac{\ensuremath\lnot}
-+ \gdefchar^^ad{\-}
-+ \gdefchar^^ae{\registeredsymbol{}}
-+ \gdefchar^^af{\={}}
- %
-- \gdef^^b0{\textdegree}
-- \gdef^^b1{$\pm$}
-- \gdef^^b2{$^2$}
-- \gdef^^b3{$^3$}
-- \gdef^^b4{\'{}}
-- \gdef^^b5{$\mu$}
-- \gdef^^b6{\P}
-- \gdef^^b7{\ensuremath\cdot}
-- \gdef^^b8{\cedilla\ }
-- \gdef^^b9{$^1$}
-- \gdef^^ba{\ordm}
-- \gdef^^bb{\guillemetright}
-- \gdef^^bc{$1\over4$}
-- \gdef^^bd{$1\over2$}
-- \gdef^^be{$3\over4$}
-- \gdef^^bf{\questiondown}
-+ \gdefchar^^b0{\textdegree}
-+ \gdefchar^^b1{$\pm$}
-+ \gdefchar^^b2{$^2$}
-+ \gdefchar^^b3{$^3$}
-+ \gdefchar^^b4{\'{}}
-+ \gdefchar^^b5{$\mu$}
-+ \gdefchar^^b6{\P}
-+ \gdefchar^^b7{\ensuremath\cdot}
-+ \gdefchar^^b8{\cedilla\ }
-+ \gdefchar^^b9{$^1$}
-+ \gdefchar^^ba{\ordm}
-+ \gdefchar^^bb{\guillemetright{}}
-+ \gdefchar^^bc{$1\over4$}
-+ \gdefchar^^bd{$1\over2$}
-+ \gdefchar^^be{$3\over4$}
-+ \gdefchar^^bf{\questiondown}
- %
-- \gdef^^c0{\`A}
-- \gdef^^c1{\'A}
-- \gdef^^c2{\^A}
-- \gdef^^c3{\~A}
-- \gdef^^c4{\"A}
-- \gdef^^c5{\ringaccent A}
-- \gdef^^c6{\AE}
-- \gdef^^c7{\cedilla C}
-- \gdef^^c8{\`E}
-- \gdef^^c9{\'E}
-- \gdef^^ca{\^E}
-- \gdef^^cb{\"E}
-- \gdef^^cc{\`I}
-- \gdef^^cd{\'I}
-- \gdef^^ce{\^I}
-- \gdef^^cf{\"I}
-+ \gdefchar^^c0{\`A}
-+ \gdefchar^^c1{\'A}
-+ \gdefchar^^c2{\^A}
-+ \gdefchar^^c3{\~A}
-+ \gdefchar^^c4{\"A}
-+ \gdefchar^^c5{\ringaccent A}
-+ \gdefchar^^c6{\AE}
-+ \gdefchar^^c7{\cedilla C}
-+ \gdefchar^^c8{\`E}
-+ \gdefchar^^c9{\'E}
-+ \gdefchar^^ca{\^E}
-+ \gdefchar^^cb{\"E}
-+ \gdefchar^^cc{\`I}
-+ \gdefchar^^cd{\'I}
-+ \gdefchar^^ce{\^I}
-+ \gdefchar^^cf{\"I}
- %
-- \gdef^^d0{\DH}
-- \gdef^^d1{\~N}
-- \gdef^^d2{\`O}
-- \gdef^^d3{\'O}
-- \gdef^^d4{\^O}
-- \gdef^^d5{\~O}
-- \gdef^^d6{\"O}
-- \gdef^^d7{$\times$}
-- \gdef^^d8{\O}
-- \gdef^^d9{\`U}
-- \gdef^^da{\'U}
-- \gdef^^db{\^U}
-- \gdef^^dc{\"U}
-- \gdef^^dd{\'Y}
-- \gdef^^de{\TH}
-- \gdef^^df{\ss}
-+ \gdefchar^^d0{\DH}
-+ \gdefchar^^d1{\~N}
-+ \gdefchar^^d2{\`O}
-+ \gdefchar^^d3{\'O}
-+ \gdefchar^^d4{\^O}
-+ \gdefchar^^d5{\~O}
-+ \gdefchar^^d6{\"O}
-+ \gdefchar^^d7{$\times$}
-+ \gdefchar^^d8{\O}
-+ \gdefchar^^d9{\`U}
-+ \gdefchar^^da{\'U}
-+ \gdefchar^^db{\^U}
-+ \gdefchar^^dc{\"U}
-+ \gdefchar^^dd{\'Y}
-+ \gdefchar^^de{\TH}
-+ \gdefchar^^df{\ss}
- %
-- \gdef^^e0{\`a}
-- \gdef^^e1{\'a}
-- \gdef^^e2{\^a}
-- \gdef^^e3{\~a}
-- \gdef^^e4{\"a}
-- \gdef^^e5{\ringaccent a}
-- \gdef^^e6{\ae}
-- \gdef^^e7{\cedilla c}
-- \gdef^^e8{\`e}
-- \gdef^^e9{\'e}
-- \gdef^^ea{\^e}
-- \gdef^^eb{\"e}
-- \gdef^^ec{\`{\dotless i}}
-- \gdef^^ed{\'{\dotless i}}
-- \gdef^^ee{\^{\dotless i}}
-- \gdef^^ef{\"{\dotless i}}
-+ \gdefchar^^e0{\`a}
-+ \gdefchar^^e1{\'a}
-+ \gdefchar^^e2{\^a}
-+ \gdefchar^^e3{\~a}
-+ \gdefchar^^e4{\"a}
-+ \gdefchar^^e5{\ringaccent a}
-+ \gdefchar^^e6{\ae}
-+ \gdefchar^^e7{\cedilla c}
-+ \gdefchar^^e8{\`e}
-+ \gdefchar^^e9{\'e}
-+ \gdefchar^^ea{\^e}
-+ \gdefchar^^eb{\"e}
-+ \gdefchar^^ec{\`{\dotless i}}
-+ \gdefchar^^ed{\'{\dotless i}}
-+ \gdefchar^^ee{\^{\dotless i}}
-+ \gdefchar^^ef{\"{\dotless i}}
- %
-- \gdef^^f0{\dh}
-- \gdef^^f1{\~n}
-- \gdef^^f2{\`o}
-- \gdef^^f3{\'o}
-- \gdef^^f4{\^o}
-- \gdef^^f5{\~o}
-- \gdef^^f6{\"o}
-- \gdef^^f7{$\div$}
-- \gdef^^f8{\o}
-- \gdef^^f9{\`u}
-- \gdef^^fa{\'u}
-- \gdef^^fb{\^u}
-- \gdef^^fc{\"u}
-- \gdef^^fd{\'y}
-- \gdef^^fe{\th}
-- \gdef^^ff{\"y}
-+ \gdefchar^^f0{\dh}
-+ \gdefchar^^f1{\~n}
-+ \gdefchar^^f2{\`o}
-+ \gdefchar^^f3{\'o}
-+ \gdefchar^^f4{\^o}
-+ \gdefchar^^f5{\~o}
-+ \gdefchar^^f6{\"o}
-+ \gdefchar^^f7{$\div$}
-+ \gdefchar^^f8{\o}
-+ \gdefchar^^f9{\`u}
-+ \gdefchar^^fa{\'u}
-+ \gdefchar^^fb{\^u}
-+ \gdefchar^^fc{\"u}
-+ \gdefchar^^fd{\'y}
-+ \gdefchar^^fe{\th}
-+ \gdefchar^^ff{\"y}
- }
-
- % Latin9 (ISO-8859-15) encoding character definitions.
-@@ -9127,119 +10119,119 @@
- % Encoding is almost identical to Latin1.
- \latonechardefs
- %
-- \gdef^^a4{\euro}
-- \gdef^^a6{\v S}
-- \gdef^^a8{\v s}
-- \gdef^^b4{\v Z}
-- \gdef^^b8{\v z}
-- \gdef^^bc{\OE}
-- \gdef^^bd{\oe}
-- \gdef^^be{\"Y}
-+ \gdefchar^^a4{\euro{}}
-+ \gdefchar^^a6{\v S}
-+ \gdefchar^^a8{\v s}
-+ \gdefchar^^b4{\v Z}
-+ \gdefchar^^b8{\v z}
-+ \gdefchar^^bc{\OE}
-+ \gdefchar^^bd{\oe}
-+ \gdefchar^^be{\"Y}
- }
-
- % Latin2 (ISO-8859-2) character definitions.
- \def\lattwochardefs{%
-- \gdef^^a0{\tie}
-- \gdef^^a1{\ogonek{A}}
-- \gdef^^a2{\u{}}
-- \gdef^^a3{\L}
-- \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
-- \gdef^^a5{\v L}
-- \gdef^^a6{\'S}
-- \gdef^^a7{\S}
-- \gdef^^a8{\"{}}
-- \gdef^^a9{\v S}
-- \gdef^^aa{\cedilla S}
-- \gdef^^ab{\v T}
-- \gdef^^ac{\'Z}
-- \gdef^^ad{\-}
-- \gdef^^ae{\v Z}
-- \gdef^^af{\dotaccent Z}
-+ \gdefchar^^a0{\tie}
-+ \gdefchar^^a1{\ogonek{A}}
-+ \gdefchar^^a2{\u{}}
-+ \gdefchar^^a3{\L}
-+ \gdefchar^^a4{\missingcharmsg{CURRENCY SIGN}}
-+ \gdefchar^^a5{\v L}
-+ \gdefchar^^a6{\'S}
-+ \gdefchar^^a7{\S}
-+ \gdefchar^^a8{\"{}}
-+ \gdefchar^^a9{\v S}
-+ \gdefchar^^aa{\cedilla S}
-+ \gdefchar^^ab{\v T}
-+ \gdefchar^^ac{\'Z}
-+ \gdefchar^^ad{\-}
-+ \gdefchar^^ae{\v Z}
-+ \gdefchar^^af{\dotaccent Z}
- %
-- \gdef^^b0{\textdegree}
-- \gdef^^b1{\ogonek{a}}
-- \gdef^^b2{\ogonek{ }}
-- \gdef^^b3{\l}
-- \gdef^^b4{\'{}}
-- \gdef^^b5{\v l}
-- \gdef^^b6{\'s}
-- \gdef^^b7{\v{}}
-- \gdef^^b8{\cedilla\ }
-- \gdef^^b9{\v s}
-- \gdef^^ba{\cedilla s}
-- \gdef^^bb{\v t}
-- \gdef^^bc{\'z}
-- \gdef^^bd{\H{}}
-- \gdef^^be{\v z}
-- \gdef^^bf{\dotaccent z}
-+ \gdefchar^^b0{\textdegree{}}
-+ \gdefchar^^b1{\ogonek{a}}
-+ \gdefchar^^b2{\ogonek{ }}
-+ \gdefchar^^b3{\l}
-+ \gdefchar^^b4{\'{}}
-+ \gdefchar^^b5{\v l}
-+ \gdefchar^^b6{\'s}
-+ \gdefchar^^b7{\v{}}
-+ \gdefchar^^b8{\cedilla\ }
-+ \gdefchar^^b9{\v s}
-+ \gdefchar^^ba{\cedilla s}
-+ \gdefchar^^bb{\v t}
-+ \gdefchar^^bc{\'z}
-+ \gdefchar^^bd{\H{}}
-+ \gdefchar^^be{\v z}
-+ \gdefchar^^bf{\dotaccent z}
- %
-- \gdef^^c0{\'R}
-- \gdef^^c1{\'A}
-- \gdef^^c2{\^A}
-- \gdef^^c3{\u A}
-- \gdef^^c4{\"A}
-- \gdef^^c5{\'L}
-- \gdef^^c6{\'C}
-- \gdef^^c7{\cedilla C}
-- \gdef^^c8{\v C}
-- \gdef^^c9{\'E}
-- \gdef^^ca{\ogonek{E}}
-- \gdef^^cb{\"E}
-- \gdef^^cc{\v E}
-- \gdef^^cd{\'I}
-- \gdef^^ce{\^I}
-- \gdef^^cf{\v D}
-+ \gdefchar^^c0{\'R}
-+ \gdefchar^^c1{\'A}
-+ \gdefchar^^c2{\^A}
-+ \gdefchar^^c3{\u A}
-+ \gdefchar^^c4{\"A}
-+ \gdefchar^^c5{\'L}
-+ \gdefchar^^c6{\'C}
-+ \gdefchar^^c7{\cedilla C}
-+ \gdefchar^^c8{\v C}
-+ \gdefchar^^c9{\'E}
-+ \gdefchar^^ca{\ogonek{E}}
-+ \gdefchar^^cb{\"E}
-+ \gdefchar^^cc{\v E}
-+ \gdefchar^^cd{\'I}
-+ \gdefchar^^ce{\^I}
-+ \gdefchar^^cf{\v D}
- %
-- \gdef^^d0{\DH}
-- \gdef^^d1{\'N}
-- \gdef^^d2{\v N}
-- \gdef^^d3{\'O}
-- \gdef^^d4{\^O}
-- \gdef^^d5{\H O}
-- \gdef^^d6{\"O}
-- \gdef^^d7{$\times$}
-- \gdef^^d8{\v R}
-- \gdef^^d9{\ringaccent U}
-- \gdef^^da{\'U}
-- \gdef^^db{\H U}
-- \gdef^^dc{\"U}
-- \gdef^^dd{\'Y}
-- \gdef^^de{\cedilla T}
-- \gdef^^df{\ss}
-+ \gdefchar^^d0{\DH}
-+ \gdefchar^^d1{\'N}
-+ \gdefchar^^d2{\v N}
-+ \gdefchar^^d3{\'O}
-+ \gdefchar^^d4{\^O}
-+ \gdefchar^^d5{\H O}
-+ \gdefchar^^d6{\"O}
-+ \gdefchar^^d7{$\times$}
-+ \gdefchar^^d8{\v R}
-+ \gdefchar^^d9{\ringaccent U}
-+ \gdefchar^^da{\'U}
-+ \gdefchar^^db{\H U}
-+ \gdefchar^^dc{\"U}
-+ \gdefchar^^dd{\'Y}
-+ \gdefchar^^de{\cedilla T}
-+ \gdefchar^^df{\ss}
- %
-- \gdef^^e0{\'r}
-- \gdef^^e1{\'a}
-- \gdef^^e2{\^a}
-- \gdef^^e3{\u a}
-- \gdef^^e4{\"a}
-- \gdef^^e5{\'l}
-- \gdef^^e6{\'c}
-- \gdef^^e7{\cedilla c}
-- \gdef^^e8{\v c}
-- \gdef^^e9{\'e}
-- \gdef^^ea{\ogonek{e}}
-- \gdef^^eb{\"e}
-- \gdef^^ec{\v e}
-- \gdef^^ed{\'{\dotless{i}}}
-- \gdef^^ee{\^{\dotless{i}}}
-- \gdef^^ef{\v d}
-+ \gdefchar^^e0{\'r}
-+ \gdefchar^^e1{\'a}
-+ \gdefchar^^e2{\^a}
-+ \gdefchar^^e3{\u a}
-+ \gdefchar^^e4{\"a}
-+ \gdefchar^^e5{\'l}
-+ \gdefchar^^e6{\'c}
-+ \gdefchar^^e7{\cedilla c}
-+ \gdefchar^^e8{\v c}
-+ \gdefchar^^e9{\'e}
-+ \gdefchar^^ea{\ogonek{e}}
-+ \gdefchar^^eb{\"e}
-+ \gdefchar^^ec{\v e}
-+ \gdefchar^^ed{\'{\dotless{i}}}
-+ \gdefchar^^ee{\^{\dotless{i}}}
-+ \gdefchar^^ef{\v d}
- %
-- \gdef^^f0{\dh}
-- \gdef^^f1{\'n}
-- \gdef^^f2{\v n}
-- \gdef^^f3{\'o}
-- \gdef^^f4{\^o}
-- \gdef^^f5{\H o}
-- \gdef^^f6{\"o}
-- \gdef^^f7{$\div$}
-- \gdef^^f8{\v r}
-- \gdef^^f9{\ringaccent u}
-- \gdef^^fa{\'u}
-- \gdef^^fb{\H u}
-- \gdef^^fc{\"u}
-- \gdef^^fd{\'y}
-- \gdef^^fe{\cedilla t}
-- \gdef^^ff{\dotaccent{}}
-+ \gdefchar^^f0{\dh}
-+ \gdefchar^^f1{\'n}
-+ \gdefchar^^f2{\v n}
-+ \gdefchar^^f3{\'o}
-+ \gdefchar^^f4{\^o}
-+ \gdefchar^^f5{\H o}
-+ \gdefchar^^f6{\"o}
-+ \gdefchar^^f7{$\div$}
-+ \gdefchar^^f8{\v r}
-+ \gdefchar^^f9{\ringaccent u}
-+ \gdefchar^^fa{\'u}
-+ \gdefchar^^fb{\H u}
-+ \gdefchar^^fc{\"u}
-+ \gdefchar^^fd{\'y}
-+ \gdefchar^^fe{\cedilla t}
-+ \gdefchar^^ff{\dotaccent{}}
- }
-
- % UTF-8 character definitions.
-@@ -9269,35 +10261,56 @@
- \fi
- }
-
-+% Give non-ASCII bytes the active definitions for processing UTF-8 sequences
- \begingroup
- \catcode`\~13
-+ \catcode`\$12
- \catcode`\"12
-
-+ % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp
-+ % substituting ~ and $ with a character token of that value.
- \def\UTFviiiLoop{%
- \global\catcode\countUTFx\active
- \uccode`\~\countUTFx
-+ \uccode`\$\countUTFx
- \uppercase\expandafter{\UTFviiiTmp}%
- \advance\countUTFx by 1
- \ifnum\countUTFx < \countUTFy
- \expandafter\UTFviiiLoop
- \fi}
-
-+ % For bytes other than the first in a UTF-8 sequence. Not expected to
-+ % be expanded except when writing to auxiliary files.
-+ \countUTFx = "80
-+ \countUTFy = "C2
-+ \def\UTFviiiTmp{%
-+ \gdef~{%
-+ \ifpassthroughchars $\fi}}%
-+ \UTFviiiLoop
-+
- \countUTFx = "C2
- \countUTFy = "E0
- \def\UTFviiiTmp{%
-- \xdef~{\noexpand\UTFviiiTwoOctets\string~}}
-+ \gdef~{%
-+ \ifpassthroughchars $%
-+ \else\expandafter\UTFviiiTwoOctets\expandafter$\fi}}%
- \UTFviiiLoop
-
- \countUTFx = "E0
- \countUTFy = "F0
- \def\UTFviiiTmp{%
-- \xdef~{\noexpand\UTFviiiThreeOctets\string~}}
-+ \gdef~{%
-+ \ifpassthroughchars $%
-+ \else\expandafter\UTFviiiThreeOctets\expandafter$\fi}}%
- \UTFviiiLoop
-
- \countUTFx = "F0
- \countUTFy = "F4
- \def\UTFviiiTmp{%
-- \xdef~{\noexpand\UTFviiiFourOctets\string~}}
-+ \gdef~{%
-+ \ifpassthroughchars $%
-+ \else\expandafter\UTFviiiFourOctets\expandafter$\fi
-+ }}%
- \UTFviiiLoop
- \endgroup
-
-@@ -9306,13 +10319,36 @@
- % @U{xxxx} to produce U+xxxx, if we support it.
- \def\U#1{%
- \expandafter\ifx\csname uni:#1\endcsname \relax
-- \errhelp = \EMsimple
-- \errmessage{Unicode character U+#1 not supported, sorry}%
-+ \iftxinativeunicodecapable
-+ % All Unicode characters can be used if native Unicode handling is
-+ % active. However, if the font does not have the glyph,
-+ % letters are missing.
-+ \begingroup
-+ \uccode`\.="#1\relax
-+ \uppercase{.}
-+ \endgroup
-+ \else
-+ \errhelp = \EMsimple
-+ \errmessage{Unicode character U+#1 not supported, sorry}%
-+ \fi
- \else
- \csname uni:#1\endcsname
- \fi
- }
-
-+% These macros are used here to construct the name of a control
-+% sequence to be defined.
-+\def\UTFviiiTwoOctetsName#1#2{%
-+ \csname u8:#1\string #2\endcsname}%
-+\def\UTFviiiThreeOctetsName#1#2#3{%
-+ \csname u8:#1\string #2\string #3\endcsname}%
-+\def\UTFviiiFourOctetsName#1#2#3#4{%
-+ \csname u8:#1\string #2\string #3\string #4\endcsname}%
-+
-+% For UTF-8 byte sequences (TeX, e-TeX and pdfTeX),
-+% provide a definition macro to replace a Unicode character;
-+% this gets used by the @U command
-+%
- \begingroup
- \catcode`\"=12
- \catcode`\<=12
-@@ -9321,64 +10357,91 @@
- \catcode`\;=12
- \catcode`\!=12
- \catcode`\~=13
-- \gdef\DeclareUnicodeCharacter#1#2{%
-+ \gdef\DeclareUnicodeCharacterUTFviii#1#2{%
- \countUTFz = "#1\relax
-- %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
- \begingroup
- \parseXMLCharref
-- \def\UTFviiiTwoOctets##1##2{%
-- \csname u8:##1\string ##2\endcsname}%
-- \def\UTFviiiThreeOctets##1##2##3{%
-- \csname u8:##1\string ##2\string ##3\endcsname}%
-- \def\UTFviiiFourOctets##1##2##3##4{%
-- \csname u8:##1\string ##2\string ##3\string ##4\endcsname}%
-- \expandafter\expandafter\expandafter\expandafter
-- \expandafter\expandafter\expandafter
-- \gdef\UTFviiiTmp{#2}%
-+
-+ % Give \u8:... its definition. The sequence of seven \expandafter's
-+ % expands after the \gdef three times, e.g.
-+ %
-+ % 1. \UTFviiTwoOctetsName B1 B2
-+ % 2. \csname u8:B1 \string B2 \endcsname
-+ % 3. \u8: B1 B2 (a single control sequence token)
-+ %
-+ \expandafter\expandafter
-+ \expandafter\expandafter
-+ \expandafter\expandafter
-+ \expandafter\gdef \UTFviiiTmp{#2}%
- %
- \expandafter\ifx\csname uni:#1\endcsname \relax \else
-- \errmessage{Internal error, already defined: #1}%
-+ \message{Internal error, already defined: #1}%
- \fi
- %
- % define an additional control sequence for this code point.
- \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
- \endgroup}
--
-+ %
-+ % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp
-+ % to the corresponding UTF-8 sequence.
- \gdef\parseXMLCharref{%
- \ifnum\countUTFz < "A0\relax
- \errhelp = \EMsimple
- \errmessage{Cannot define Unicode char value < 00A0}%
- \else\ifnum\countUTFz < "800\relax
- \parseUTFviiiA,%
-- \parseUTFviiiB C\UTFviiiTwoOctets.,%
-+ \parseUTFviiiB C\UTFviiiTwoOctetsName.,%
- \else\ifnum\countUTFz < "10000\relax
- \parseUTFviiiA;%
- \parseUTFviiiA,%
-- \parseUTFviiiB E\UTFviiiThreeOctets.{,;}%
-+ \parseUTFviiiB E\UTFviiiThreeOctetsName.{,;}%
- \else
- \parseUTFviiiA;%
- \parseUTFviiiA,%
- \parseUTFviiiA!%
-- \parseUTFviiiB F\UTFviiiFourOctets.{!,;}%
-+ \parseUTFviiiB F\UTFviiiFourOctetsName.{!,;}%
- \fi\fi\fi
- }
-
-+ % Extract a byte from the end of the UTF-8 representation of \countUTFx.
-+ % It must be a non-initial byte in the sequence.
-+ % Change \uccode of #1 for it to be used in \parseUTFviiiB as one
-+ % of the bytes.
- \gdef\parseUTFviiiA#1{%
- \countUTFx = \countUTFz
- \divide\countUTFz by 64
-- \countUTFy = \countUTFz
-+ \countUTFy = \countUTFz % Save to be the future value of \countUTFz.
- \multiply\countUTFz by 64
-+
-+ % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract
-+ % in order to get the last five bits.
- \advance\countUTFx by -\countUTFz
-+
-+ % Convert this to the byte in the UTF-8 sequence.
- \advance\countUTFx by 128
- \uccode `#1\countUTFx
- \countUTFz = \countUTFy}
-
-+ % Used to put a UTF-8 byte sequence into \UTFviiiTmp
-+ % #1 is the increment for \countUTFz to yield a the first byte of the UTF-8
-+ % sequence.
-+ % #2 is one of the \UTFviii*OctetsName macros.
-+ % #3 is always a full stop (.)
-+ % #4 is a template for the other bytes in the sequence. The values for these
-+ % bytes is substituted in here with \uppercase using the \uccode's.
- \gdef\parseUTFviiiB#1#2#3#4{%
- \advance\countUTFz by "#10\relax
- \uccode `#3\countUTFz
- \uppercase{\gdef\UTFviiiTmp{#2#3#4}}}
- \endgroup
-
-+% For native Unicode handling (XeTeX and LuaTeX),
-+% provide a definition macro that sets a catcode to `other' non-globally
-+%
-+\def\DeclareUnicodeCharacterNativeOther#1#2{%
-+ \catcode"#1=\other
-+}
-+
- % https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M
- % U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block)
- % U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)
-@@ -9393,502 +10456,748 @@
- % We won't be doing that here in this simple file. But we can try to at
- % least make most of the characters not bomb out.
- %
--\def\utfeightchardefs{%
-- \DeclareUnicodeCharacter{00A0}{\tie}
-- \DeclareUnicodeCharacter{00A1}{\exclamdown}
-- \DeclareUnicodeCharacter{00A3}{\pounds}
-- \DeclareUnicodeCharacter{00A7}{\S}
-- \DeclareUnicodeCharacter{00A8}{\"{ }}
-- \DeclareUnicodeCharacter{00A9}{\copyright}
-- \DeclareUnicodeCharacter{00AA}{\ordf}
-- \DeclareUnicodeCharacter{00AB}{\guillemetleft}
-- \DeclareUnicodeCharacter{00AC}{\ensuremath\lnot}
-- \DeclareUnicodeCharacter{00AD}{\-}
-- \DeclareUnicodeCharacter{00AE}{\registeredsymbol}
-- \DeclareUnicodeCharacter{00AF}{\={ }}
--
-- \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}
-- \DeclareUnicodeCharacter{00B1}{\ensuremath\pm}
-- \DeclareUnicodeCharacter{00B2}{$^2$}
-- \DeclareUnicodeCharacter{00B3}{$^3$}
-- \DeclareUnicodeCharacter{00B4}{\'{ }}
-- \DeclareUnicodeCharacter{00B5}{$\mu$}
-- \DeclareUnicodeCharacter{00B6}{\P}
-- \DeclareUnicodeCharacter{00B7}{\ensuremath\cdot}
-- \DeclareUnicodeCharacter{00B8}{\cedilla{ }}
-- \DeclareUnicodeCharacter{00B9}{$^1$}
-- \DeclareUnicodeCharacter{00BA}{\ordm}
-- \DeclareUnicodeCharacter{00BB}{\guillemetright}
-- \DeclareUnicodeCharacter{00BC}{$1\over4$}
-- \DeclareUnicodeCharacter{00BD}{$1\over2$}
-- \DeclareUnicodeCharacter{00BE}{$3\over4$}
-- \DeclareUnicodeCharacter{00BF}{\questiondown}
--
-- \DeclareUnicodeCharacter{00C0}{\`A}
-- \DeclareUnicodeCharacter{00C1}{\'A}
-- \DeclareUnicodeCharacter{00C2}{\^A}
-- \DeclareUnicodeCharacter{00C3}{\~A}
-- \DeclareUnicodeCharacter{00C4}{\"A}
-- \DeclareUnicodeCharacter{00C5}{\AA}
-- \DeclareUnicodeCharacter{00C6}{\AE}
-- \DeclareUnicodeCharacter{00C7}{\cedilla{C}}
-- \DeclareUnicodeCharacter{00C8}{\`E}
-- \DeclareUnicodeCharacter{00C9}{\'E}
-- \DeclareUnicodeCharacter{00CA}{\^E}
-- \DeclareUnicodeCharacter{00CB}{\"E}
-- \DeclareUnicodeCharacter{00CC}{\`I}
-- \DeclareUnicodeCharacter{00CD}{\'I}
-- \DeclareUnicodeCharacter{00CE}{\^I}
-- \DeclareUnicodeCharacter{00CF}{\"I}
--
-- \DeclareUnicodeCharacter{00D0}{\DH}
-- \DeclareUnicodeCharacter{00D1}{\~N}
-- \DeclareUnicodeCharacter{00D2}{\`O}
-- \DeclareUnicodeCharacter{00D3}{\'O}
-- \DeclareUnicodeCharacter{00D4}{\^O}
-- \DeclareUnicodeCharacter{00D5}{\~O}
-- \DeclareUnicodeCharacter{00D6}{\"O}
-- \DeclareUnicodeCharacter{00D7}{\ensuremath\times}
-- \DeclareUnicodeCharacter{00D8}{\O}
-- \DeclareUnicodeCharacter{00D9}{\`U}
-- \DeclareUnicodeCharacter{00DA}{\'U}
-- \DeclareUnicodeCharacter{00DB}{\^U}
-- \DeclareUnicodeCharacter{00DC}{\"U}
-- \DeclareUnicodeCharacter{00DD}{\'Y}
-- \DeclareUnicodeCharacter{00DE}{\TH}
-- \DeclareUnicodeCharacter{00DF}{\ss}
--
-- \DeclareUnicodeCharacter{00E0}{\`a}
-- \DeclareUnicodeCharacter{00E1}{\'a}
-- \DeclareUnicodeCharacter{00E2}{\^a}
-- \DeclareUnicodeCharacter{00E3}{\~a}
-- \DeclareUnicodeCharacter{00E4}{\"a}
-- \DeclareUnicodeCharacter{00E5}{\aa}
-- \DeclareUnicodeCharacter{00E6}{\ae}
-- \DeclareUnicodeCharacter{00E7}{\cedilla{c}}
-- \DeclareUnicodeCharacter{00E8}{\`e}
-- \DeclareUnicodeCharacter{00E9}{\'e}
-- \DeclareUnicodeCharacter{00EA}{\^e}
-- \DeclareUnicodeCharacter{00EB}{\"e}
-- \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}
-- \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}
-- \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}
-- \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}
--
-- \DeclareUnicodeCharacter{00F0}{\dh}
-- \DeclareUnicodeCharacter{00F1}{\~n}
-- \DeclareUnicodeCharacter{00F2}{\`o}
-- \DeclareUnicodeCharacter{00F3}{\'o}
-- \DeclareUnicodeCharacter{00F4}{\^o}
-- \DeclareUnicodeCharacter{00F5}{\~o}
-- \DeclareUnicodeCharacter{00F6}{\"o}
-- \DeclareUnicodeCharacter{00F7}{\ensuremath\div}
-- \DeclareUnicodeCharacter{00F8}{\o}
-- \DeclareUnicodeCharacter{00F9}{\`u}
-- \DeclareUnicodeCharacter{00FA}{\'u}
-- \DeclareUnicodeCharacter{00FB}{\^u}
-- \DeclareUnicodeCharacter{00FC}{\"u}
-- \DeclareUnicodeCharacter{00FD}{\'y}
-- \DeclareUnicodeCharacter{00FE}{\th}
-- \DeclareUnicodeCharacter{00FF}{\"y}
--
-- \DeclareUnicodeCharacter{0100}{\=A}
-- \DeclareUnicodeCharacter{0101}{\=a}
-- \DeclareUnicodeCharacter{0102}{\u{A}}
-- \DeclareUnicodeCharacter{0103}{\u{a}}
-- \DeclareUnicodeCharacter{0104}{\ogonek{A}}
-- \DeclareUnicodeCharacter{0105}{\ogonek{a}}
-- \DeclareUnicodeCharacter{0106}{\'C}
-- \DeclareUnicodeCharacter{0107}{\'c}
-- \DeclareUnicodeCharacter{0108}{\^C}
-- \DeclareUnicodeCharacter{0109}{\^c}
-- \DeclareUnicodeCharacter{010A}{\dotaccent{C}}
-- \DeclareUnicodeCharacter{010B}{\dotaccent{c}}
-- \DeclareUnicodeCharacter{010C}{\v{C}}
-- \DeclareUnicodeCharacter{010D}{\v{c}}
-- \DeclareUnicodeCharacter{010E}{\v{D}}
-- \DeclareUnicodeCharacter{010F}{d'}
--
-- \DeclareUnicodeCharacter{0110}{\DH}
-- \DeclareUnicodeCharacter{0111}{\dh}
-- \DeclareUnicodeCharacter{0112}{\=E}
-- \DeclareUnicodeCharacter{0113}{\=e}
-- \DeclareUnicodeCharacter{0114}{\u{E}}
-- \DeclareUnicodeCharacter{0115}{\u{e}}
-- \DeclareUnicodeCharacter{0116}{\dotaccent{E}}
-- \DeclareUnicodeCharacter{0117}{\dotaccent{e}}
-- \DeclareUnicodeCharacter{0118}{\ogonek{E}}
-- \DeclareUnicodeCharacter{0119}{\ogonek{e}}
-- \DeclareUnicodeCharacter{011A}{\v{E}}
-- \DeclareUnicodeCharacter{011B}{\v{e}}
-- \DeclareUnicodeCharacter{011C}{\^G}
-- \DeclareUnicodeCharacter{011D}{\^g}
-- \DeclareUnicodeCharacter{011E}{\u{G}}
-- \DeclareUnicodeCharacter{011F}{\u{g}}
--
-- \DeclareUnicodeCharacter{0120}{\dotaccent{G}}
-- \DeclareUnicodeCharacter{0121}{\dotaccent{g}}
-- \DeclareUnicodeCharacter{0122}{\cedilla{G}}
-- \DeclareUnicodeCharacter{0123}{\cedilla{g}}
-- \DeclareUnicodeCharacter{0124}{\^H}
-- \DeclareUnicodeCharacter{0125}{\^h}
-- \DeclareUnicodeCharacter{0126}{\missingcharmsg{H WITH STROKE}}
-- \DeclareUnicodeCharacter{0127}{\missingcharmsg{h WITH STROKE}}
-- \DeclareUnicodeCharacter{0128}{\~I}
-- \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}
-- \DeclareUnicodeCharacter{012A}{\=I}
-- \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}
-- \DeclareUnicodeCharacter{012C}{\u{I}}
-- \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}
-- \DeclareUnicodeCharacter{012E}{\ogonek{I}}
-- \DeclareUnicodeCharacter{012F}{\ogonek{i}}
--
-- \DeclareUnicodeCharacter{0130}{\dotaccent{I}}
-- \DeclareUnicodeCharacter{0131}{\dotless{i}}
-- \DeclareUnicodeCharacter{0132}{IJ}
-- \DeclareUnicodeCharacter{0133}{ij}
-- \DeclareUnicodeCharacter{0134}{\^J}
-- \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}
-- \DeclareUnicodeCharacter{0136}{\cedilla{K}}
-- \DeclareUnicodeCharacter{0137}{\cedilla{k}}
-- \DeclareUnicodeCharacter{0138}{\ensuremath\kappa}
-- \DeclareUnicodeCharacter{0139}{\'L}
-- \DeclareUnicodeCharacter{013A}{\'l}
-- \DeclareUnicodeCharacter{013B}{\cedilla{L}}
-- \DeclareUnicodeCharacter{013C}{\cedilla{l}}
-+\def\unicodechardefs{%
-+ \DeclareUnicodeCharacter{00A0}{\tie}%
-+ \DeclareUnicodeCharacter{00A1}{\exclamdown}%
-+ \DeclareUnicodeCharacter{00A2}{{\tcfont \char162}}% 0242=cent
-+ \DeclareUnicodeCharacter{00A3}{\pounds{}}%
-+ \DeclareUnicodeCharacter{00A4}{{\tcfont \char164}}% 0244=currency
-+ \DeclareUnicodeCharacter{00A5}{{\tcfont \char165}}% 0245=yen
-+ \DeclareUnicodeCharacter{00A6}{{\tcfont \char166}}% 0246=brokenbar
-+ \DeclareUnicodeCharacter{00A7}{\S}%
-+ \DeclareUnicodeCharacter{00A8}{\"{ }}%
-+ \DeclareUnicodeCharacter{00A9}{\copyright{}}%
-+ \DeclareUnicodeCharacter{00AA}{\ordf}%
-+ \DeclareUnicodeCharacter{00AB}{\guillemetleft{}}%
-+ \DeclareUnicodeCharacter{00AC}{\ensuremath\lnot}%
-+ \DeclareUnicodeCharacter{00AD}{\-}%
-+ \DeclareUnicodeCharacter{00AE}{\registeredsymbol{}}%
-+ \DeclareUnicodeCharacter{00AF}{\={ }}%
-+ %
-+ \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}%
-+ \DeclareUnicodeCharacter{00B1}{\ensuremath\pm}%
-+ \DeclareUnicodeCharacter{00B2}{$^2$}%
-+ \DeclareUnicodeCharacter{00B3}{$^3$}%
-+ \DeclareUnicodeCharacter{00B4}{\'{ }}%
-+ \DeclareUnicodeCharacter{00B5}{$\mu$}%
-+ \DeclareUnicodeCharacter{00B6}{\P}%
-+ \DeclareUnicodeCharacter{00B7}{\ensuremath\cdot}%
-+ \DeclareUnicodeCharacter{00B8}{\cedilla{ }}%
-+ \DeclareUnicodeCharacter{00B9}{$^1$}%
-+ \DeclareUnicodeCharacter{00BA}{\ordm}%
-+ \DeclareUnicodeCharacter{00BB}{\guillemetright{}}%
-+ \DeclareUnicodeCharacter{00BC}{$1\over4$}%
-+ \DeclareUnicodeCharacter{00BD}{$1\over2$}%
-+ \DeclareUnicodeCharacter{00BE}{$3\over4$}%
-+ \DeclareUnicodeCharacter{00BF}{\questiondown}%
-+ %
-+ \DeclareUnicodeCharacter{00C0}{\`A}%
-+ \DeclareUnicodeCharacter{00C1}{\'A}%
-+ \DeclareUnicodeCharacter{00C2}{\^A}%
-+ \DeclareUnicodeCharacter{00C3}{\~A}%
-+ \DeclareUnicodeCharacter{00C4}{\"A}%
-+ \DeclareUnicodeCharacter{00C5}{\AA}%
-+ \DeclareUnicodeCharacter{00C6}{\AE}%
-+ \DeclareUnicodeCharacter{00C7}{\cedilla{C}}%
-+ \DeclareUnicodeCharacter{00C8}{\`E}%
-+ \DeclareUnicodeCharacter{00C9}{\'E}%
-+ \DeclareUnicodeCharacter{00CA}{\^E}%
-+ \DeclareUnicodeCharacter{00CB}{\"E}%
-+ \DeclareUnicodeCharacter{00CC}{\`I}%
-+ \DeclareUnicodeCharacter{00CD}{\'I}%
-+ \DeclareUnicodeCharacter{00CE}{\^I}%
-+ \DeclareUnicodeCharacter{00CF}{\"I}%
-+ %
-+ \DeclareUnicodeCharacter{00D0}{\DH}%
-+ \DeclareUnicodeCharacter{00D1}{\~N}%
-+ \DeclareUnicodeCharacter{00D2}{\`O}%
-+ \DeclareUnicodeCharacter{00D3}{\'O}%
-+ \DeclareUnicodeCharacter{00D4}{\^O}%
-+ \DeclareUnicodeCharacter{00D5}{\~O}%
-+ \DeclareUnicodeCharacter{00D6}{\"O}%
-+ \DeclareUnicodeCharacter{00D7}{\ensuremath\times}%
-+ \DeclareUnicodeCharacter{00D8}{\O}%
-+ \DeclareUnicodeCharacter{00D9}{\`U}%
-+ \DeclareUnicodeCharacter{00DA}{\'U}%
-+ \DeclareUnicodeCharacter{00DB}{\^U}%
-+ \DeclareUnicodeCharacter{00DC}{\"U}%
-+ \DeclareUnicodeCharacter{00DD}{\'Y}%
-+ \DeclareUnicodeCharacter{00DE}{\TH}%
-+ \DeclareUnicodeCharacter{00DF}{\ss}%
-+ %
-+ \DeclareUnicodeCharacter{00E0}{\`a}%
-+ \DeclareUnicodeCharacter{00E1}{\'a}%
-+ \DeclareUnicodeCharacter{00E2}{\^a}%
-+ \DeclareUnicodeCharacter{00E3}{\~a}%
-+ \DeclareUnicodeCharacter{00E4}{\"a}%
-+ \DeclareUnicodeCharacter{00E5}{\aa}%
-+ \DeclareUnicodeCharacter{00E6}{\ae}%
-+ \DeclareUnicodeCharacter{00E7}{\cedilla{c}}%
-+ \DeclareUnicodeCharacter{00E8}{\`e}%
-+ \DeclareUnicodeCharacter{00E9}{\'e}%
-+ \DeclareUnicodeCharacter{00EA}{\^e}%
-+ \DeclareUnicodeCharacter{00EB}{\"e}%
-+ \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}%
-+ \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}%
-+ \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}%
-+ \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}%
-+ %
-+ \DeclareUnicodeCharacter{00F0}{\dh}%
-+ \DeclareUnicodeCharacter{00F1}{\~n}%
-+ \DeclareUnicodeCharacter{00F2}{\`o}%
-+ \DeclareUnicodeCharacter{00F3}{\'o}%
-+ \DeclareUnicodeCharacter{00F4}{\^o}%
-+ \DeclareUnicodeCharacter{00F5}{\~o}%
-+ \DeclareUnicodeCharacter{00F6}{\"o}%
-+ \DeclareUnicodeCharacter{00F7}{\ensuremath\div}%
-+ \DeclareUnicodeCharacter{00F8}{\o}%
-+ \DeclareUnicodeCharacter{00F9}{\`u}%
-+ \DeclareUnicodeCharacter{00FA}{\'u}%
-+ \DeclareUnicodeCharacter{00FB}{\^u}%
-+ \DeclareUnicodeCharacter{00FC}{\"u}%
-+ \DeclareUnicodeCharacter{00FD}{\'y}%
-+ \DeclareUnicodeCharacter{00FE}{\th}%
-+ \DeclareUnicodeCharacter{00FF}{\"y}%
-+ %
-+ \DeclareUnicodeCharacter{0100}{\=A}%
-+ \DeclareUnicodeCharacter{0101}{\=a}%
-+ \DeclareUnicodeCharacter{0102}{\u{A}}%
-+ \DeclareUnicodeCharacter{0103}{\u{a}}%
-+ \DeclareUnicodeCharacter{0104}{\ogonek{A}}%
-+ \DeclareUnicodeCharacter{0105}{\ogonek{a}}%
-+ \DeclareUnicodeCharacter{0106}{\'C}%
-+ \DeclareUnicodeCharacter{0107}{\'c}%
-+ \DeclareUnicodeCharacter{0108}{\^C}%
-+ \DeclareUnicodeCharacter{0109}{\^c}%
-+ \DeclareUnicodeCharacter{010A}{\dotaccent{C}}%
-+ \DeclareUnicodeCharacter{010B}{\dotaccent{c}}%
-+ \DeclareUnicodeCharacter{010C}{\v{C}}%
-+ \DeclareUnicodeCharacter{010D}{\v{c}}%
-+ \DeclareUnicodeCharacter{010E}{\v{D}}%
-+ \DeclareUnicodeCharacter{010F}{d'}%
-+ %
-+ \DeclareUnicodeCharacter{0110}{\DH}%
-+ \DeclareUnicodeCharacter{0111}{\dh}%
-+ \DeclareUnicodeCharacter{0112}{\=E}%
-+ \DeclareUnicodeCharacter{0113}{\=e}%
-+ \DeclareUnicodeCharacter{0114}{\u{E}}%
-+ \DeclareUnicodeCharacter{0115}{\u{e}}%
-+ \DeclareUnicodeCharacter{0116}{\dotaccent{E}}%
-+ \DeclareUnicodeCharacter{0117}{\dotaccent{e}}%
-+ \DeclareUnicodeCharacter{0118}{\ogonek{E}}%
-+ \DeclareUnicodeCharacter{0119}{\ogonek{e}}%
-+ \DeclareUnicodeCharacter{011A}{\v{E}}%
-+ \DeclareUnicodeCharacter{011B}{\v{e}}%
-+ \DeclareUnicodeCharacter{011C}{\^G}%
-+ \DeclareUnicodeCharacter{011D}{\^g}%
-+ \DeclareUnicodeCharacter{011E}{\u{G}}%
-+ \DeclareUnicodeCharacter{011F}{\u{g}}%
-+ %
-+ \DeclareUnicodeCharacter{0120}{\dotaccent{G}}%
-+ \DeclareUnicodeCharacter{0121}{\dotaccent{g}}%
-+ \DeclareUnicodeCharacter{0122}{\cedilla{G}}%
-+ \DeclareUnicodeCharacter{0123}{\cedilla{g}}%
-+ \DeclareUnicodeCharacter{0124}{\^H}%
-+ \DeclareUnicodeCharacter{0125}{\^h}%
-+ \DeclareUnicodeCharacter{0126}{\missingcharmsg{H WITH STROKE}}%
-+ \DeclareUnicodeCharacter{0127}{\missingcharmsg{h WITH STROKE}}%
-+ \DeclareUnicodeCharacter{0128}{\~I}%
-+ \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}%
-+ \DeclareUnicodeCharacter{012A}{\=I}%
-+ \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}%
-+ \DeclareUnicodeCharacter{012C}{\u{I}}%
-+ \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}%
-+ \DeclareUnicodeCharacter{012E}{\ogonek{I}}%
-+ \DeclareUnicodeCharacter{012F}{\ogonek{i}}%
-+ %
-+ \DeclareUnicodeCharacter{0130}{\dotaccent{I}}%
-+ \DeclareUnicodeCharacter{0131}{\dotless{i}}%
-+ \DeclareUnicodeCharacter{0132}{IJ}%
-+ \DeclareUnicodeCharacter{0133}{ij}%
-+ \DeclareUnicodeCharacter{0134}{\^J}%
-+ \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}%
-+ \DeclareUnicodeCharacter{0136}{\cedilla{K}}%
-+ \DeclareUnicodeCharacter{0137}{\cedilla{k}}%
-+ \DeclareUnicodeCharacter{0138}{\ensuremath\kappa}%
-+ \DeclareUnicodeCharacter{0139}{\'L}%
-+ \DeclareUnicodeCharacter{013A}{\'l}%
-+ \DeclareUnicodeCharacter{013B}{\cedilla{L}}%
-+ \DeclareUnicodeCharacter{013C}{\cedilla{l}}%
- \DeclareUnicodeCharacter{013D}{L'}% should kern
- \DeclareUnicodeCharacter{013E}{l'}% should kern
-- \DeclareUnicodeCharacter{013F}{L\U{00B7}}
--
-- \DeclareUnicodeCharacter{0140}{l\U{00B7}}
-- \DeclareUnicodeCharacter{0141}{\L}
-- \DeclareUnicodeCharacter{0142}{\l}
-- \DeclareUnicodeCharacter{0143}{\'N}
-- \DeclareUnicodeCharacter{0144}{\'n}
-- \DeclareUnicodeCharacter{0145}{\cedilla{N}}
-- \DeclareUnicodeCharacter{0146}{\cedilla{n}}
-- \DeclareUnicodeCharacter{0147}{\v{N}}
-- \DeclareUnicodeCharacter{0148}{\v{n}}
-- \DeclareUnicodeCharacter{0149}{'n}
-- \DeclareUnicodeCharacter{014A}{\missingcharmsg{ENG}}
-- \DeclareUnicodeCharacter{014B}{\missingcharmsg{eng}}
-- \DeclareUnicodeCharacter{014C}{\=O}
-- \DeclareUnicodeCharacter{014D}{\=o}
-- \DeclareUnicodeCharacter{014E}{\u{O}}
-- \DeclareUnicodeCharacter{014F}{\u{o}}
--
-- \DeclareUnicodeCharacter{0150}{\H{O}}
-- \DeclareUnicodeCharacter{0151}{\H{o}}
-- \DeclareUnicodeCharacter{0152}{\OE}
-- \DeclareUnicodeCharacter{0153}{\oe}
-- \DeclareUnicodeCharacter{0154}{\'R}
-- \DeclareUnicodeCharacter{0155}{\'r}
-- \DeclareUnicodeCharacter{0156}{\cedilla{R}}
-- \DeclareUnicodeCharacter{0157}{\cedilla{r}}
-- \DeclareUnicodeCharacter{0158}{\v{R}}
-- \DeclareUnicodeCharacter{0159}{\v{r}}
-- \DeclareUnicodeCharacter{015A}{\'S}
-- \DeclareUnicodeCharacter{015B}{\'s}
-- \DeclareUnicodeCharacter{015C}{\^S}
-- \DeclareUnicodeCharacter{015D}{\^s}
-- \DeclareUnicodeCharacter{015E}{\cedilla{S}}
-- \DeclareUnicodeCharacter{015F}{\cedilla{s}}
--
-- \DeclareUnicodeCharacter{0160}{\v{S}}
-- \DeclareUnicodeCharacter{0161}{\v{s}}
-- \DeclareUnicodeCharacter{0162}{\cedilla{T}}
-- \DeclareUnicodeCharacter{0163}{\cedilla{t}}
-- \DeclareUnicodeCharacter{0164}{\v{T}}
-- \DeclareUnicodeCharacter{0165}{\v{t}}
-- \DeclareUnicodeCharacter{0166}{\missingcharmsg{H WITH STROKE}}
-- \DeclareUnicodeCharacter{0167}{\missingcharmsg{h WITH STROKE}}
-- \DeclareUnicodeCharacter{0168}{\~U}
-- \DeclareUnicodeCharacter{0169}{\~u}
-- \DeclareUnicodeCharacter{016A}{\=U}
-- \DeclareUnicodeCharacter{016B}{\=u}
-- \DeclareUnicodeCharacter{016C}{\u{U}}
-- \DeclareUnicodeCharacter{016D}{\u{u}}
-- \DeclareUnicodeCharacter{016E}{\ringaccent{U}}
-- \DeclareUnicodeCharacter{016F}{\ringaccent{u}}
--
-- \DeclareUnicodeCharacter{0170}{\H{U}}
-- \DeclareUnicodeCharacter{0171}{\H{u}}
-- \DeclareUnicodeCharacter{0172}{\ogonek{U}}
-- \DeclareUnicodeCharacter{0173}{\ogonek{u}}
-- \DeclareUnicodeCharacter{0174}{\^W}
-- \DeclareUnicodeCharacter{0175}{\^w}
-- \DeclareUnicodeCharacter{0176}{\^Y}
-- \DeclareUnicodeCharacter{0177}{\^y}
-- \DeclareUnicodeCharacter{0178}{\"Y}
-- \DeclareUnicodeCharacter{0179}{\'Z}
-- \DeclareUnicodeCharacter{017A}{\'z}
-- \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}
-- \DeclareUnicodeCharacter{017C}{\dotaccent{z}}
-- \DeclareUnicodeCharacter{017D}{\v{Z}}
-- \DeclareUnicodeCharacter{017E}{\v{z}}
-- \DeclareUnicodeCharacter{017F}{\missingcharmsg{LONG S}}
--
-- \DeclareUnicodeCharacter{01C4}{D\v{Z}}
-- \DeclareUnicodeCharacter{01C5}{D\v{z}}
-- \DeclareUnicodeCharacter{01C6}{d\v{z}}
-- \DeclareUnicodeCharacter{01C7}{LJ}
-- \DeclareUnicodeCharacter{01C8}{Lj}
-- \DeclareUnicodeCharacter{01C9}{lj}
-- \DeclareUnicodeCharacter{01CA}{NJ}
-- \DeclareUnicodeCharacter{01CB}{Nj}
-- \DeclareUnicodeCharacter{01CC}{nj}
-- \DeclareUnicodeCharacter{01CD}{\v{A}}
-- \DeclareUnicodeCharacter{01CE}{\v{a}}
-- \DeclareUnicodeCharacter{01CF}{\v{I}}
--
-- \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}
-- \DeclareUnicodeCharacter{01D1}{\v{O}}
-- \DeclareUnicodeCharacter{01D2}{\v{o}}
-- \DeclareUnicodeCharacter{01D3}{\v{U}}
-- \DeclareUnicodeCharacter{01D4}{\v{u}}
--
-- \DeclareUnicodeCharacter{01E2}{\={\AE}}
-- \DeclareUnicodeCharacter{01E3}{\={\ae}}
-- \DeclareUnicodeCharacter{01E6}{\v{G}}
-- \DeclareUnicodeCharacter{01E7}{\v{g}}
-- \DeclareUnicodeCharacter{01E8}{\v{K}}
-- \DeclareUnicodeCharacter{01E9}{\v{k}}
--
-- \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}
-- \DeclareUnicodeCharacter{01F1}{DZ}
-- \DeclareUnicodeCharacter{01F2}{Dz}
-- \DeclareUnicodeCharacter{01F3}{dz}
-- \DeclareUnicodeCharacter{01F4}{\'G}
-- \DeclareUnicodeCharacter{01F5}{\'g}
-- \DeclareUnicodeCharacter{01F8}{\`N}
-- \DeclareUnicodeCharacter{01F9}{\`n}
-- \DeclareUnicodeCharacter{01FC}{\'{\AE}}
-- \DeclareUnicodeCharacter{01FD}{\'{\ae}}
-- \DeclareUnicodeCharacter{01FE}{\'{\O}}
-- \DeclareUnicodeCharacter{01FF}{\'{\o}}
--
-- \DeclareUnicodeCharacter{021E}{\v{H}}
-- \DeclareUnicodeCharacter{021F}{\v{h}}
--
-- \DeclareUnicodeCharacter{0226}{\dotaccent{A}}
-- \DeclareUnicodeCharacter{0227}{\dotaccent{a}}
-- \DeclareUnicodeCharacter{0228}{\cedilla{E}}
-- \DeclareUnicodeCharacter{0229}{\cedilla{e}}
-- \DeclareUnicodeCharacter{022E}{\dotaccent{O}}
-- \DeclareUnicodeCharacter{022F}{\dotaccent{o}}
--
-- \DeclareUnicodeCharacter{0232}{\=Y}
-- \DeclareUnicodeCharacter{0233}{\=y}
-- \DeclareUnicodeCharacter{0237}{\dotless{j}}
--
-- \DeclareUnicodeCharacter{02DB}{\ogonek{ }}
--
-- \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}
-- \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}
-- \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}
-- \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}
-- \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}
-- \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}
-- \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}
-- \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}
-- \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}
-- \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}
-- \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}
-- \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}
--
-- \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}
-- \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}
--
-- \DeclareUnicodeCharacter{1E20}{\=G}
-- \DeclareUnicodeCharacter{1E21}{\=g}
-- \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}
-- \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}
-- \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}
-- \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}
-- \DeclareUnicodeCharacter{1E26}{\"H}
-- \DeclareUnicodeCharacter{1E27}{\"h}
--
-- \DeclareUnicodeCharacter{1E30}{\'K}
-- \DeclareUnicodeCharacter{1E31}{\'k}
-- \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}
-- \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}
-- \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}
-- \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}
-- \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}
-- \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}
-- \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}
-- \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}
-- \DeclareUnicodeCharacter{1E3E}{\'M}
-- \DeclareUnicodeCharacter{1E3F}{\'m}
--
-- \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}
-- \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}
-- \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}
-- \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}
-- \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}
-- \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}
-- \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}
-- \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}
-- \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}
-- \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}
--
-- \DeclareUnicodeCharacter{1E54}{\'P}
-- \DeclareUnicodeCharacter{1E55}{\'p}
-- \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}
-- \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}
-- \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}
-- \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}
-- \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}
-- \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}
-- \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}
-- \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}
--
-- \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}
-- \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}
-- \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}
-- \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}
-- \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}
-- \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}
-- \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}
-- \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}
-- \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}
-- \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}
--
-- \DeclareUnicodeCharacter{1E7C}{\~V}
-- \DeclareUnicodeCharacter{1E7D}{\~v}
-- \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}
-- \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}
--
-- \DeclareUnicodeCharacter{1E80}{\`W}
-- \DeclareUnicodeCharacter{1E81}{\`w}
-- \DeclareUnicodeCharacter{1E82}{\'W}
-- \DeclareUnicodeCharacter{1E83}{\'w}
-- \DeclareUnicodeCharacter{1E84}{\"W}
-- \DeclareUnicodeCharacter{1E85}{\"w}
-- \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}
-- \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}
-- \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}
-- \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}
-- \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}
-- \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}
-- \DeclareUnicodeCharacter{1E8C}{\"X}
-- \DeclareUnicodeCharacter{1E8D}{\"x}
-- \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}
-- \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}
--
-- \DeclareUnicodeCharacter{1E90}{\^Z}
-- \DeclareUnicodeCharacter{1E91}{\^z}
-- \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}
-- \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}
-- \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}
-- \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}
-- \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}
-- \DeclareUnicodeCharacter{1E97}{\"t}
-- \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}
-- \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}
--
-- \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}
-- \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}
--
-- \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}
-- \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}
-- \DeclareUnicodeCharacter{1EBC}{\~E}
-- \DeclareUnicodeCharacter{1EBD}{\~e}
--
-- \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}
-- \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}
-- \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}
-- \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}
-+ \DeclareUnicodeCharacter{013F}{L\U{00B7}}%
-+ %
-+ \DeclareUnicodeCharacter{0140}{l\U{00B7}}%
-+ \DeclareUnicodeCharacter{0141}{\L}%
-+ \DeclareUnicodeCharacter{0142}{\l}%
-+ \DeclareUnicodeCharacter{0143}{\'N}%
-+ \DeclareUnicodeCharacter{0144}{\'n}%
-+ \DeclareUnicodeCharacter{0145}{\cedilla{N}}%
-+ \DeclareUnicodeCharacter{0146}{\cedilla{n}}%
-+ \DeclareUnicodeCharacter{0147}{\v{N}}%
-+ \DeclareUnicodeCharacter{0148}{\v{n}}%
-+ \DeclareUnicodeCharacter{0149}{'n}%
-+ \DeclareUnicodeCharacter{014A}{\missingcharmsg{ENG}}%
-+ \DeclareUnicodeCharacter{014B}{\missingcharmsg{eng}}%
-+ \DeclareUnicodeCharacter{014C}{\=O}%
-+ \DeclareUnicodeCharacter{014D}{\=o}%
-+ \DeclareUnicodeCharacter{014E}{\u{O}}%
-+ \DeclareUnicodeCharacter{014F}{\u{o}}%
-+ %
-+ \DeclareUnicodeCharacter{0150}{\H{O}}%
-+ \DeclareUnicodeCharacter{0151}{\H{o}}%
-+ \DeclareUnicodeCharacter{0152}{\OE}%
-+ \DeclareUnicodeCharacter{0153}{\oe}%
-+ \DeclareUnicodeCharacter{0154}{\'R}%
-+ \DeclareUnicodeCharacter{0155}{\'r}%
-+ \DeclareUnicodeCharacter{0156}{\cedilla{R}}%
-+ \DeclareUnicodeCharacter{0157}{\cedilla{r}}%
-+ \DeclareUnicodeCharacter{0158}{\v{R}}%
-+ \DeclareUnicodeCharacter{0159}{\v{r}}%
-+ \DeclareUnicodeCharacter{015A}{\'S}%
-+ \DeclareUnicodeCharacter{015B}{\'s}%
-+ \DeclareUnicodeCharacter{015C}{\^S}%
-+ \DeclareUnicodeCharacter{015D}{\^s}%
-+ \DeclareUnicodeCharacter{015E}{\cedilla{S}}%
-+ \DeclareUnicodeCharacter{015F}{\cedilla{s}}%
-+ %
-+ \DeclareUnicodeCharacter{0160}{\v{S}}%
-+ \DeclareUnicodeCharacter{0161}{\v{s}}%
-+ \DeclareUnicodeCharacter{0162}{\cedilla{T}}%
-+ \DeclareUnicodeCharacter{0163}{\cedilla{t}}%
-+ \DeclareUnicodeCharacter{0164}{\v{T}}%
-+ \DeclareUnicodeCharacter{0165}{\v{t}}%
-+ \DeclareUnicodeCharacter{0166}{\missingcharmsg{H WITH STROKE}}%
-+ \DeclareUnicodeCharacter{0167}{\missingcharmsg{h WITH STROKE}}%
-+ \DeclareUnicodeCharacter{0168}{\~U}%
-+ \DeclareUnicodeCharacter{0169}{\~u}%
-+ \DeclareUnicodeCharacter{016A}{\=U}%
-+ \DeclareUnicodeCharacter{016B}{\=u}%
-+ \DeclareUnicodeCharacter{016C}{\u{U}}%
-+ \DeclareUnicodeCharacter{016D}{\u{u}}%
-+ \DeclareUnicodeCharacter{016E}{\ringaccent{U}}%
-+ \DeclareUnicodeCharacter{016F}{\ringaccent{u}}%
-+ %
-+ \DeclareUnicodeCharacter{0170}{\H{U}}%
-+ \DeclareUnicodeCharacter{0171}{\H{u}}%
-+ \DeclareUnicodeCharacter{0172}{\ogonek{U}}%
-+ \DeclareUnicodeCharacter{0173}{\ogonek{u}}%
-+ \DeclareUnicodeCharacter{0174}{\^W}%
-+ \DeclareUnicodeCharacter{0175}{\^w}%
-+ \DeclareUnicodeCharacter{0176}{\^Y}%
-+ \DeclareUnicodeCharacter{0177}{\^y}%
-+ \DeclareUnicodeCharacter{0178}{\"Y}%
-+ \DeclareUnicodeCharacter{0179}{\'Z}%
-+ \DeclareUnicodeCharacter{017A}{\'z}%
-+ \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}%
-+ \DeclareUnicodeCharacter{017C}{\dotaccent{z}}%
-+ \DeclareUnicodeCharacter{017D}{\v{Z}}%
-+ \DeclareUnicodeCharacter{017E}{\v{z}}%
-+ \DeclareUnicodeCharacter{017F}{\missingcharmsg{LONG S}}%
-+ %
-+ \DeclareUnicodeCharacter{01C4}{D\v{Z}}%
-+ \DeclareUnicodeCharacter{01C5}{D\v{z}}%
-+ \DeclareUnicodeCharacter{01C6}{d\v{z}}%
-+ \DeclareUnicodeCharacter{01C7}{LJ}%
-+ \DeclareUnicodeCharacter{01C8}{Lj}%
-+ \DeclareUnicodeCharacter{01C9}{lj}%
-+ \DeclareUnicodeCharacter{01CA}{NJ}%
-+ \DeclareUnicodeCharacter{01CB}{Nj}%
-+ \DeclareUnicodeCharacter{01CC}{nj}%
-+ \DeclareUnicodeCharacter{01CD}{\v{A}}%
-+ \DeclareUnicodeCharacter{01CE}{\v{a}}%
-+ \DeclareUnicodeCharacter{01CF}{\v{I}}%
-+ %
-+ \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}%
-+ \DeclareUnicodeCharacter{01D1}{\v{O}}%
-+ \DeclareUnicodeCharacter{01D2}{\v{o}}%
-+ \DeclareUnicodeCharacter{01D3}{\v{U}}%
-+ \DeclareUnicodeCharacter{01D4}{\v{u}}%
-+ %
-+ \DeclareUnicodeCharacter{01E2}{\={\AE}}%
-+ \DeclareUnicodeCharacter{01E3}{\={\ae}}%
-+ \DeclareUnicodeCharacter{01E6}{\v{G}}%
-+ \DeclareUnicodeCharacter{01E7}{\v{g}}%
-+ \DeclareUnicodeCharacter{01E8}{\v{K}}%
-+ \DeclareUnicodeCharacter{01E9}{\v{k}}%
-+ %
-+ \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}%
-+ \DeclareUnicodeCharacter{01F1}{DZ}%
-+ \DeclareUnicodeCharacter{01F2}{Dz}%
-+ \DeclareUnicodeCharacter{01F3}{dz}%
-+ \DeclareUnicodeCharacter{01F4}{\'G}%
-+ \DeclareUnicodeCharacter{01F5}{\'g}%
-+ \DeclareUnicodeCharacter{01F8}{\`N}%
-+ \DeclareUnicodeCharacter{01F9}{\`n}%
-+ \DeclareUnicodeCharacter{01FC}{\'{\AE}}%
-+ \DeclareUnicodeCharacter{01FD}{\'{\ae}}%
-+ \DeclareUnicodeCharacter{01FE}{\'{\O}}%
-+ \DeclareUnicodeCharacter{01FF}{\'{\o}}%
-+ %
-+ \DeclareUnicodeCharacter{021E}{\v{H}}%
-+ \DeclareUnicodeCharacter{021F}{\v{h}}%
-+ %
-+ \DeclareUnicodeCharacter{0226}{\dotaccent{A}}%
-+ \DeclareUnicodeCharacter{0227}{\dotaccent{a}}%
-+ \DeclareUnicodeCharacter{0228}{\cedilla{E}}%
-+ \DeclareUnicodeCharacter{0229}{\cedilla{e}}%
-+ \DeclareUnicodeCharacter{022E}{\dotaccent{O}}%
-+ \DeclareUnicodeCharacter{022F}{\dotaccent{o}}%
-+ %
-+ \DeclareUnicodeCharacter{0232}{\=Y}%
-+ \DeclareUnicodeCharacter{0233}{\=y}%
-+ \DeclareUnicodeCharacter{0237}{\dotless{j}}%
-+ %
-+ \DeclareUnicodeCharacter{02DB}{\ogonek{ }}%
-+ %
-+ % Greek letters upper case
-+ \DeclareUnicodeCharacter{0391}{{\it A}}%
-+ \DeclareUnicodeCharacter{0392}{{\it B}}%
-+ \DeclareUnicodeCharacter{0393}{\ensuremath{\mit\Gamma}}%
-+ \DeclareUnicodeCharacter{0394}{\ensuremath{\mit\Delta}}%
-+ \DeclareUnicodeCharacter{0395}{{\it E}}%
-+ \DeclareUnicodeCharacter{0396}{{\it Z}}%
-+ \DeclareUnicodeCharacter{0397}{{\it H}}%
-+ \DeclareUnicodeCharacter{0398}{\ensuremath{\mit\Theta}}%
-+ \DeclareUnicodeCharacter{0399}{{\it I}}%
-+ \DeclareUnicodeCharacter{039A}{{\it K}}%
-+ \DeclareUnicodeCharacter{039B}{\ensuremath{\mit\Lambda}}%
-+ \DeclareUnicodeCharacter{039C}{{\it M}}%
-+ \DeclareUnicodeCharacter{039D}{{\it N}}%
-+ \DeclareUnicodeCharacter{039E}{\ensuremath{\mit\Xi}}%
-+ \DeclareUnicodeCharacter{039F}{{\it O}}%
-+ \DeclareUnicodeCharacter{03A0}{\ensuremath{\mit\Pi}}%
-+ \DeclareUnicodeCharacter{03A1}{{\it P}}%
-+ %\DeclareUnicodeCharacter{03A2}{} % none - corresponds to final sigma
-+ \DeclareUnicodeCharacter{03A3}{\ensuremath{\mit\Sigma}}%
-+ \DeclareUnicodeCharacter{03A4}{{\it T}}%
-+ \DeclareUnicodeCharacter{03A5}{\ensuremath{\mit\Upsilon}}%
-+ \DeclareUnicodeCharacter{03A6}{\ensuremath{\mit\Phi}}%
-+ \DeclareUnicodeCharacter{03A7}{{\it X}}%
-+ \DeclareUnicodeCharacter{03A8}{\ensuremath{\mit\Psi}}%
-+ \DeclareUnicodeCharacter{03A9}{\ensuremath{\mit\Omega}}%
-+ %
-+ % Vowels with accents
-+ \DeclareUnicodeCharacter{0390}{\ensuremath{\ddot{\acute\iota}}}%
-+ \DeclareUnicodeCharacter{03AC}{\ensuremath{\acute\alpha}}%
-+ \DeclareUnicodeCharacter{03AD}{\ensuremath{\acute\epsilon}}%
-+ \DeclareUnicodeCharacter{03AE}{\ensuremath{\acute\eta}}%
-+ \DeclareUnicodeCharacter{03AF}{\ensuremath{\acute\iota}}%
-+ \DeclareUnicodeCharacter{03B0}{\ensuremath{\acute{\ddot\upsilon}}}%
-+ %
-+ % Standalone accent
-+ \DeclareUnicodeCharacter{0384}{\ensuremath{\acute{\ }}}%
-+ %
-+ % Greek letters lower case
-+ \DeclareUnicodeCharacter{03B1}{\ensuremath\alpha}%
-+ \DeclareUnicodeCharacter{03B2}{\ensuremath\beta}%
-+ \DeclareUnicodeCharacter{03B3}{\ensuremath\gamma}%
-+ \DeclareUnicodeCharacter{03B4}{\ensuremath\delta}%
-+ \DeclareUnicodeCharacter{03B5}{\ensuremath\epsilon}%
-+ \DeclareUnicodeCharacter{03B6}{\ensuremath\zeta}%
-+ \DeclareUnicodeCharacter{03B7}{\ensuremath\eta}%
-+ \DeclareUnicodeCharacter{03B8}{\ensuremath\theta}%
-+ \DeclareUnicodeCharacter{03B9}{\ensuremath\iota}%
-+ \DeclareUnicodeCharacter{03BA}{\ensuremath\kappa}%
-+ \DeclareUnicodeCharacter{03BB}{\ensuremath\lambda}%
-+ \DeclareUnicodeCharacter{03BC}{\ensuremath\mu}%
-+ \DeclareUnicodeCharacter{03BD}{\ensuremath\nu}%
-+ \DeclareUnicodeCharacter{03BE}{\ensuremath\xi}%
-+ \DeclareUnicodeCharacter{03BF}{{\it o}}% omicron
-+ \DeclareUnicodeCharacter{03C0}{\ensuremath\pi}%
-+ \DeclareUnicodeCharacter{03C1}{\ensuremath\rho}%
-+ \DeclareUnicodeCharacter{03C2}{\ensuremath\varsigma}%
-+ \DeclareUnicodeCharacter{03C3}{\ensuremath\sigma}%
-+ \DeclareUnicodeCharacter{03C4}{\ensuremath\tau}%
-+ \DeclareUnicodeCharacter{03C5}{\ensuremath\upsilon}%
-+ \DeclareUnicodeCharacter{03C6}{\ensuremath\phi}%
-+ \DeclareUnicodeCharacter{03C7}{\ensuremath\chi}%
-+ \DeclareUnicodeCharacter{03C8}{\ensuremath\psi}%
-+ \DeclareUnicodeCharacter{03C9}{\ensuremath\omega}%
-+ %
-+ % More Greek vowels with accents
-+ \DeclareUnicodeCharacter{03CA}{\ensuremath{\ddot\iota}}%
-+ \DeclareUnicodeCharacter{03CB}{\ensuremath{\ddot\upsilon}}%
-+ \DeclareUnicodeCharacter{03CC}{\ensuremath{\acute o}}%
-+ \DeclareUnicodeCharacter{03CD}{\ensuremath{\acute\upsilon}}%
-+ \DeclareUnicodeCharacter{03CE}{\ensuremath{\acute\omega}}%
-+ %
-+ % Variant Greek letters
-+ \DeclareUnicodeCharacter{03D1}{\ensuremath\vartheta}%
-+ \DeclareUnicodeCharacter{03D6}{\ensuremath\varpi}%
-+ \DeclareUnicodeCharacter{03F1}{\ensuremath\varrho}%
-+ %
-+ \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}%
-+ \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}%
-+ \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}%
-+ \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}%
-+ \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}%
-+ \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}%
-+ \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}%
-+ \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}%
-+ \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}%
-+ \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}%
-+ \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}%
-+ \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}%
-+ %
-+ \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}%
-+ \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}%
-+ %
-+ \DeclareUnicodeCharacter{1E20}{\=G}%
-+ \DeclareUnicodeCharacter{1E21}{\=g}%
-+ \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}%
-+ \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}%
-+ \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}%
-+ \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}%
-+ \DeclareUnicodeCharacter{1E26}{\"H}%
-+ \DeclareUnicodeCharacter{1E27}{\"h}%
-+ %
-+ \DeclareUnicodeCharacter{1E30}{\'K}%
-+ \DeclareUnicodeCharacter{1E31}{\'k}%
-+ \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}%
-+ \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}%
-+ \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}%
-+ \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}%
-+ \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}%
-+ \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}%
-+ \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}%
-+ \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}%
-+ \DeclareUnicodeCharacter{1E3E}{\'M}%
-+ \DeclareUnicodeCharacter{1E3F}{\'m}%
-+ %
-+ \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}%
-+ \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}%
-+ \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}%
-+ \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}%
-+ \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}%
-+ \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}%
-+ \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}%
-+ \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}%
-+ \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}%
-+ \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}%
-+ %
-+ \DeclareUnicodeCharacter{1E54}{\'P}%
-+ \DeclareUnicodeCharacter{1E55}{\'p}%
-+ \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}%
-+ \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}%
-+ \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}%
-+ \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}%
-+ \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}%
-+ \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}%
-+ \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}%
-+ \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}%
-+ %
-+ \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}%
-+ \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}%
-+ \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}%
-+ \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}%
-+ \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}%
-+ \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}%
-+ \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}%
-+ \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}%
-+ \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}%
-+ \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}%
-+ %
-+ \DeclareUnicodeCharacter{1E7C}{\~V}%
-+ \DeclareUnicodeCharacter{1E7D}{\~v}%
-+ \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}%
-+ \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}%
-+ %
-+ \DeclareUnicodeCharacter{1E80}{\`W}%
-+ \DeclareUnicodeCharacter{1E81}{\`w}%
-+ \DeclareUnicodeCharacter{1E82}{\'W}%
-+ \DeclareUnicodeCharacter{1E83}{\'w}%
-+ \DeclareUnicodeCharacter{1E84}{\"W}%
-+ \DeclareUnicodeCharacter{1E85}{\"w}%
-+ \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}%
-+ \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}%
-+ \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}%
-+ \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}%
-+ \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}%
-+ \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}%
-+ \DeclareUnicodeCharacter{1E8C}{\"X}%
-+ \DeclareUnicodeCharacter{1E8D}{\"x}%
-+ \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}%
-+ \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}%
-+ %
-+ \DeclareUnicodeCharacter{1E90}{\^Z}%
-+ \DeclareUnicodeCharacter{1E91}{\^z}%
-+ \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}%
-+ \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}%
-+ \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}%
-+ \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}%
-+ \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}%
-+ \DeclareUnicodeCharacter{1E97}{\"t}%
-+ \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}%
-+ \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}%
-+ %
-+ \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}%
-+ \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}%
-+ %
-+ \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}%
-+ \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}%
-+ \DeclareUnicodeCharacter{1EBC}{\~E}%
-+ \DeclareUnicodeCharacter{1EBD}{\~e}%
-+ %
-+ \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}%
-+ \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}%
-+ \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}%
-+ \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}%
-+ %
-+ \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}%
-+ \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}%
-+ %
-+ \DeclareUnicodeCharacter{1EF2}{\`Y}%
-+ \DeclareUnicodeCharacter{1EF3}{\`y}%
-+ \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}%
-+ %
-+ \DeclareUnicodeCharacter{1EF8}{\~Y}%
-+ \DeclareUnicodeCharacter{1EF9}{\~y}%
-+ %
-+ % Punctuation
-+ \DeclareUnicodeCharacter{2013}{--}%
-+ \DeclareUnicodeCharacter{2014}{---}%
-+ \DeclareUnicodeCharacter{2018}{\quoteleft{}}%
-+ \DeclareUnicodeCharacter{2019}{\quoteright{}}%
-+ \DeclareUnicodeCharacter{201A}{\quotesinglbase{}}%
-+ \DeclareUnicodeCharacter{201C}{\quotedblleft{}}%
-+ \DeclareUnicodeCharacter{201D}{\quotedblright{}}%
-+ \DeclareUnicodeCharacter{201E}{\quotedblbase{}}%
-+ \DeclareUnicodeCharacter{2020}{\ensuremath\dagger}%
-+ \DeclareUnicodeCharacter{2021}{\ensuremath\ddagger}%
-+ \DeclareUnicodeCharacter{2022}{\bullet{}}%
-+ \DeclareUnicodeCharacter{202F}{\thinspace}%
-+ \DeclareUnicodeCharacter{2026}{\dots{}}%
-+ \DeclareUnicodeCharacter{2039}{\guilsinglleft{}}%
-+ \DeclareUnicodeCharacter{203A}{\guilsinglright{}}%
-+ %
-+ \DeclareUnicodeCharacter{20AC}{\euro{}}%
-+ %
-+ \DeclareUnicodeCharacter{2192}{\expansion{}}%
-+ \DeclareUnicodeCharacter{21D2}{\result{}}%
-+ %
-+ % Mathematical symbols
-+ \DeclareUnicodeCharacter{2200}{\ensuremath\forall}%
-+ \DeclareUnicodeCharacter{2203}{\ensuremath\exists}%
-+ \DeclareUnicodeCharacter{2208}{\ensuremath\in}%
-+ \DeclareUnicodeCharacter{2212}{\minus{}}%
-+ \DeclareUnicodeCharacter{2217}{\ast}%
-+ \DeclareUnicodeCharacter{221E}{\ensuremath\infty}%
-+ \DeclareUnicodeCharacter{2225}{\ensuremath\parallel}%
-+ \DeclareUnicodeCharacter{2227}{\ensuremath\wedge}%
-+ \DeclareUnicodeCharacter{2229}{\ensuremath\cap}%
-+ \DeclareUnicodeCharacter{2261}{\equiv{}}%
-+ \DeclareUnicodeCharacter{2264}{\ensuremath\leq}%
-+ \DeclareUnicodeCharacter{2265}{\ensuremath\geq}%
-+ \DeclareUnicodeCharacter{2282}{\ensuremath\subset}%
-+ \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}%
-+ %
-+ \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}%
-+ \DeclareUnicodeCharacter{2032}{\ensuremath\prime}%
-+ \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}%
-+ \DeclareUnicodeCharacter{2111}{\ensuremath\Im}%
-+ \DeclareUnicodeCharacter{2113}{\ensuremath\ell}%
-+ \DeclareUnicodeCharacter{2118}{\ensuremath\wp}%
-+ \DeclareUnicodeCharacter{211C}{\ensuremath\Re}%
-+ \DeclareUnicodeCharacter{2127}{\ensuremath\mho}%
-+ \DeclareUnicodeCharacter{2135}{\ensuremath\aleph}%
-+ \DeclareUnicodeCharacter{2190}{\ensuremath\leftarrow}%
-+ \DeclareUnicodeCharacter{2191}{\ensuremath\uparrow}%
-+ \DeclareUnicodeCharacter{2193}{\ensuremath\downarrow}%
-+ \DeclareUnicodeCharacter{2194}{\ensuremath\leftrightarrow}%
-+ \DeclareUnicodeCharacter{2195}{\ensuremath\updownarrow}%
-+ \DeclareUnicodeCharacter{2196}{\ensuremath\nwarrow}%
-+ \DeclareUnicodeCharacter{2197}{\ensuremath\nearrow}%
-+ \DeclareUnicodeCharacter{2198}{\ensuremath\searrow}%
-+ \DeclareUnicodeCharacter{2199}{\ensuremath\swarrow}%
-+ \DeclareUnicodeCharacter{21A6}{\ensuremath\mapsto}%
-+ \DeclareUnicodeCharacter{21A9}{\ensuremath\hookleftarrow}%
-+ \DeclareUnicodeCharacter{21AA}{\ensuremath\hookrightarrow}%
-+ \DeclareUnicodeCharacter{21BC}{\ensuremath\leftharpoonup}%
-+ \DeclareUnicodeCharacter{21BD}{\ensuremath\leftharpoondown}%
-+ \DeclareUnicodeCharacter{21BE}{\ensuremath\upharpoonright}%
-+ \DeclareUnicodeCharacter{21C0}{\ensuremath\rightharpoonup}%
-+ \DeclareUnicodeCharacter{21C1}{\ensuremath\rightharpoondown}%
-+ \DeclareUnicodeCharacter{21CC}{\ensuremath\rightleftharpoons}%
-+ \DeclareUnicodeCharacter{21D0}{\ensuremath\Leftarrow}%
-+ \DeclareUnicodeCharacter{21D1}{\ensuremath\Uparrow}%
-+ \DeclareUnicodeCharacter{21D3}{\ensuremath\Downarrow}%
-+ \DeclareUnicodeCharacter{21D4}{\ensuremath\Leftrightarrow}%
-+ \DeclareUnicodeCharacter{21D5}{\ensuremath\Updownarrow}%
-+ \DeclareUnicodeCharacter{21DD}{\ensuremath\leadsto}%
-+ \DeclareUnicodeCharacter{2201}{\ensuremath\complement}%
-+ \DeclareUnicodeCharacter{2202}{\ensuremath\partial}%
-+ \DeclareUnicodeCharacter{2205}{\ensuremath\emptyset}%
-+ \DeclareUnicodeCharacter{2207}{\ensuremath\nabla}%
-+ \DeclareUnicodeCharacter{2209}{\ensuremath\notin}%
-+ \DeclareUnicodeCharacter{220B}{\ensuremath\owns}%
-+ \DeclareUnicodeCharacter{220F}{\ensuremath\prod}%
-+ \DeclareUnicodeCharacter{2210}{\ensuremath\coprod}%
-+ \DeclareUnicodeCharacter{2211}{\ensuremath\sum}%
-+ \DeclareUnicodeCharacter{2213}{\ensuremath\mp}%
-+ \DeclareUnicodeCharacter{2218}{\ensuremath\circ}%
-+ \DeclareUnicodeCharacter{221A}{\ensuremath\surd}%
-+ \DeclareUnicodeCharacter{221D}{\ensuremath\propto}%
-+ \DeclareUnicodeCharacter{2220}{\ensuremath\angle}%
-+ \DeclareUnicodeCharacter{2223}{\ensuremath\mid}%
-+ \DeclareUnicodeCharacter{2228}{\ensuremath\vee}%
-+ \DeclareUnicodeCharacter{222A}{\ensuremath\cup}%
-+ \DeclareUnicodeCharacter{222B}{\ensuremath\smallint}%
-+ \DeclareUnicodeCharacter{222E}{\ensuremath\oint}%
-+ \DeclareUnicodeCharacter{223C}{\ensuremath\sim}%
-+ \DeclareUnicodeCharacter{2240}{\ensuremath\wr}%
-+ \DeclareUnicodeCharacter{2243}{\ensuremath\simeq}%
-+ \DeclareUnicodeCharacter{2245}{\ensuremath\cong}%
-+ \DeclareUnicodeCharacter{2248}{\ensuremath\approx}%
-+ \DeclareUnicodeCharacter{224D}{\ensuremath\asymp}%
-+ \DeclareUnicodeCharacter{2250}{\ensuremath\doteq}%
-+ \DeclareUnicodeCharacter{2260}{\ensuremath\neq}%
-+ \DeclareUnicodeCharacter{226A}{\ensuremath\ll}%
-+ \DeclareUnicodeCharacter{226B}{\ensuremath\gg}%
-+ \DeclareUnicodeCharacter{227A}{\ensuremath\prec}%
-+ \DeclareUnicodeCharacter{227B}{\ensuremath\succ}%
-+ \DeclareUnicodeCharacter{2283}{\ensuremath\supset}%
-+ \DeclareUnicodeCharacter{2286}{\ensuremath\subseteq}%
-+ \DeclareUnicodeCharacter{228E}{\ensuremath\uplus}%
-+ \DeclareUnicodeCharacter{228F}{\ensuremath\sqsubset}%
-+ \DeclareUnicodeCharacter{2290}{\ensuremath\sqsupset}%
-+ \DeclareUnicodeCharacter{2291}{\ensuremath\sqsubseteq}%
-+ \DeclareUnicodeCharacter{2292}{\ensuremath\sqsupseteq}%
-+ \DeclareUnicodeCharacter{2293}{\ensuremath\sqcap}%
-+ \DeclareUnicodeCharacter{2294}{\ensuremath\sqcup}%
-+ \DeclareUnicodeCharacter{2295}{\ensuremath\oplus}%
-+ \DeclareUnicodeCharacter{2296}{\ensuremath\ominus}%
-+ \DeclareUnicodeCharacter{2297}{\ensuremath\otimes}%
-+ \DeclareUnicodeCharacter{2298}{\ensuremath\oslash}%
-+ \DeclareUnicodeCharacter{2299}{\ensuremath\odot}%
-+ \DeclareUnicodeCharacter{22A2}{\ensuremath\vdash}%
-+ \DeclareUnicodeCharacter{22A3}{\ensuremath\dashv}%
-+ \DeclareUnicodeCharacter{22A4}{\ensuremath\ptextop}%
-+ \DeclareUnicodeCharacter{22A5}{\ensuremath\bot}%
-+ \DeclareUnicodeCharacter{22A8}{\ensuremath\models}%
-+ \DeclareUnicodeCharacter{22B4}{\ensuremath\unlhd}%
-+ \DeclareUnicodeCharacter{22B5}{\ensuremath\unrhd}%
-+ \DeclareUnicodeCharacter{22C0}{\ensuremath\bigwedge}%
-+ \DeclareUnicodeCharacter{22C1}{\ensuremath\bigvee}%
-+ \DeclareUnicodeCharacter{22C2}{\ensuremath\bigcap}%
-+ \DeclareUnicodeCharacter{22C3}{\ensuremath\bigcup}%
-+ \DeclareUnicodeCharacter{22C4}{\ensuremath\diamond}%
-+ \DeclareUnicodeCharacter{22C5}{\ensuremath\cdot}%
-+ \DeclareUnicodeCharacter{22C6}{\ensuremath\star}%
-+ \DeclareUnicodeCharacter{22C8}{\ensuremath\bowtie}%
-+ \DeclareUnicodeCharacter{2308}{\ensuremath\lceil}%
-+ \DeclareUnicodeCharacter{2309}{\ensuremath\rceil}%
-+ \DeclareUnicodeCharacter{230A}{\ensuremath\lfloor}%
-+ \DeclareUnicodeCharacter{230B}{\ensuremath\rfloor}%
-+ \DeclareUnicodeCharacter{2322}{\ensuremath\frown}%
-+ \DeclareUnicodeCharacter{2323}{\ensuremath\smile}%
-+ %
-+ \DeclareUnicodeCharacter{25A1}{\ensuremath\Box}%
-+ \DeclareUnicodeCharacter{25B3}{\ensuremath\triangle}%
-+ \DeclareUnicodeCharacter{25B7}{\ensuremath\triangleright}%
-+ \DeclareUnicodeCharacter{25BD}{\ensuremath\bigtriangledown}%
-+ \DeclareUnicodeCharacter{25C1}{\ensuremath\triangleleft}%
-+ \DeclareUnicodeCharacter{25C7}{\ensuremath\Diamond}%
-+ \DeclareUnicodeCharacter{2660}{\ensuremath\spadesuit}%
-+ \DeclareUnicodeCharacter{2661}{\ensuremath\heartsuit}%
-+ \DeclareUnicodeCharacter{2662}{\ensuremath\diamondsuit}%
-+ \DeclareUnicodeCharacter{2663}{\ensuremath\clubsuit}%
-+ \DeclareUnicodeCharacter{266D}{\ensuremath\flat}%
-+ \DeclareUnicodeCharacter{266E}{\ensuremath\natural}%
-+ \DeclareUnicodeCharacter{266F}{\ensuremath\sharp}%
-+ \DeclareUnicodeCharacter{26AA}{\ensuremath\bigcirc}%
-+ \DeclareUnicodeCharacter{27B9}{\ensuremath\rangle}%
-+ \DeclareUnicodeCharacter{27C2}{\ensuremath\perp}%
-+ \DeclareUnicodeCharacter{27E8}{\ensuremath\langle}%
-+ \DeclareUnicodeCharacter{27F5}{\ensuremath\longleftarrow}%
-+ \DeclareUnicodeCharacter{27F6}{\ensuremath\longrightarrow}%
-+ \DeclareUnicodeCharacter{27F7}{\ensuremath\longleftrightarrow}%
-+ \DeclareUnicodeCharacter{27FC}{\ensuremath\longmapsto}%
-+ \DeclareUnicodeCharacter{29F5}{\ensuremath\setminus}%
-+ \DeclareUnicodeCharacter{2A00}{\ensuremath\bigodot}%
-+ \DeclareUnicodeCharacter{2A01}{\ensuremath\bigoplus}%
-+ \DeclareUnicodeCharacter{2A02}{\ensuremath\bigotimes}%
-+ \DeclareUnicodeCharacter{2A04}{\ensuremath\biguplus}%
-+ \DeclareUnicodeCharacter{2A06}{\ensuremath\bigsqcup}%
-+ \DeclareUnicodeCharacter{2A1D}{\ensuremath\Join}%
-+ \DeclareUnicodeCharacter{2A3F}{\ensuremath\amalg}%
-+ \DeclareUnicodeCharacter{2AAF}{\ensuremath\preceq}%
-+ \DeclareUnicodeCharacter{2AB0}{\ensuremath\succeq}%
-+ %
-+ \global\mathchardef\checkmark="1370% actually the square root sign
-+ \DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}%
-+}% end of \unicodechardefs
-
-- \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}
-- \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}
-+% UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command)
-+% It makes the setting that replace UTF-8 byte sequence.
-+\def\utfeightchardefs{%
-+ \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterUTFviii
-+ \unicodechardefs
-+}
-
-- \DeclareUnicodeCharacter{1EF2}{\`Y}
-- \DeclareUnicodeCharacter{1EF3}{\`y}
-- \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}
-+% Whether the active definitions of non-ASCII characters expand to
-+% non-active tokens with the same character code. This is used to
-+% write characters literally, instead of using active definitions for
-+% printing the correct glyphs.
-+\newif\ifpassthroughchars
-+\passthroughcharsfalse
-
-- \DeclareUnicodeCharacter{1EF8}{\~Y}
-- \DeclareUnicodeCharacter{1EF9}{\~y}
-+% For native Unicode handling (XeTeX and LuaTeX),
-+% provide a definition macro to replace/pass-through a Unicode character
-+%
-+\def\DeclareUnicodeCharacterNative#1#2{%
-+ \catcode"#1=\active
-+ \def\dodeclareunicodecharacternative##1##2##3{%
-+ \begingroup
-+ \uccode`\~="##2\relax
-+ \uppercase{\gdef~}{%
-+ \ifpassthroughchars
-+ ##1%
-+ \else
-+ ##3%
-+ \fi
-+ }
-+ \endgroup
-+ }
-+ \begingroup
-+ \uccode`\.="#1\relax
-+ \uppercase{\def\UTFNativeTmp{.}}%
-+ \expandafter\dodeclareunicodecharacternative\UTFNativeTmp{#1}{#2}%
-+ \endgroup
-+}
-
-- \DeclareUnicodeCharacter{2013}{--}
-- \DeclareUnicodeCharacter{2014}{---}
-- \DeclareUnicodeCharacter{2018}{\quoteleft}
-- \DeclareUnicodeCharacter{2019}{\quoteright}
-- \DeclareUnicodeCharacter{201A}{\quotesinglbase}
-- \DeclareUnicodeCharacter{201C}{\quotedblleft}
-- \DeclareUnicodeCharacter{201D}{\quotedblright}
-- \DeclareUnicodeCharacter{201E}{\quotedblbase}
-- \DeclareUnicodeCharacter{2020}{\ensuremath\dagger}
-- \DeclareUnicodeCharacter{2021}{\ensuremath\ddagger}
-- \DeclareUnicodeCharacter{2022}{\bullet}
-- \DeclareUnicodeCharacter{2026}{\dots}
-- \DeclareUnicodeCharacter{2039}{\guilsinglleft}
-- \DeclareUnicodeCharacter{203A}{\guilsinglright}
-- \DeclareUnicodeCharacter{20AC}{\euro}
-+% Native Unicode handling (XeTeX and LuaTeX) character replacing definition.
-+% It activates the setting that replaces Unicode characters.
-+\def\nativeunicodechardefs{%
-+ \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNative
-+ \unicodechardefs
-+}
-
-- \DeclareUnicodeCharacter{2192}{\expansion}
-- \DeclareUnicodeCharacter{21D2}{\result}
-+% For native Unicode handling (XeTeX and LuaTeX),
-+% make the character token expand
-+% to the sequences given in \unicodechardefs for printing.
-+\def\DeclareUnicodeCharacterNativeAtU#1#2{%
-+ \def\UTFAtUTmp{#2}
-+ \expandafter\globallet\csname uni:#1\endcsname \UTFAtUTmp
-+}
-
-- \DeclareUnicodeCharacter{2212}{\minus}
-- \DeclareUnicodeCharacter{2217}{\point}
-- \DeclareUnicodeCharacter{2225}{\ensuremath\parallel}
-- \DeclareUnicodeCharacter{2261}{\equiv}
--}% end of \utfeightchardefs
-+% @U command definitions for native Unicode handling (XeTeX and LuaTeX).
-+\def\nativeunicodechardefsatu{%
-+ \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNativeAtU
-+ \unicodechardefs
-+}
-
- % US-ASCII character definitions.
- \def\asciichardefs{% nothing need be done
- \relax
- }
-
--% Latin1 (ISO-8859-1) character definitions.
--\def\nonasciistringdefs{%
-- \setnonasciicharscatcode\active
-- \def\defstringchar##1{\def##1{\string##1}}%
-- %
-- \defstringchar^^80\defstringchar^^81\defstringchar^^82\defstringchar^^83%
-- \defstringchar^^84\defstringchar^^85\defstringchar^^86\defstringchar^^87%
-- \defstringchar^^88\defstringchar^^89\defstringchar^^8a\defstringchar^^8b%
-- \defstringchar^^8c\defstringchar^^8d\defstringchar^^8e\defstringchar^^8f%
-- %
-- \defstringchar^^90\defstringchar^^91\defstringchar^^92\defstringchar^^93%
-- \defstringchar^^94\defstringchar^^95\defstringchar^^96\defstringchar^^97%
-- \defstringchar^^98\defstringchar^^99\defstringchar^^9a\defstringchar^^9b%
-- \defstringchar^^9c\defstringchar^^9d\defstringchar^^9e\defstringchar^^9f%
-- %
-- \defstringchar^^a0\defstringchar^^a1\defstringchar^^a2\defstringchar^^a3%
-- \defstringchar^^a4\defstringchar^^a5\defstringchar^^a6\defstringchar^^a7%
-- \defstringchar^^a8\defstringchar^^a9\defstringchar^^aa\defstringchar^^ab%
-- \defstringchar^^ac\defstringchar^^ad\defstringchar^^ae\defstringchar^^af%
-- %
-- \defstringchar^^b0\defstringchar^^b1\defstringchar^^b2\defstringchar^^b3%
-- \defstringchar^^b4\defstringchar^^b5\defstringchar^^b6\defstringchar^^b7%
-- \defstringchar^^b8\defstringchar^^b9\defstringchar^^ba\defstringchar^^bb%
-- \defstringchar^^bc\defstringchar^^bd\defstringchar^^be\defstringchar^^bf%
-- %
-- \defstringchar^^c0\defstringchar^^c1\defstringchar^^c2\defstringchar^^c3%
-- \defstringchar^^c4\defstringchar^^c5\defstringchar^^c6\defstringchar^^c7%
-- \defstringchar^^c8\defstringchar^^c9\defstringchar^^ca\defstringchar^^cb%
-- \defstringchar^^cc\defstringchar^^cd\defstringchar^^ce\defstringchar^^cf%
-- %
-- \defstringchar^^d0\defstringchar^^d1\defstringchar^^d2\defstringchar^^d3%
-- \defstringchar^^d4\defstringchar^^d5\defstringchar^^d6\defstringchar^^d7%
-- \defstringchar^^d8\defstringchar^^d9\defstringchar^^da\defstringchar^^db%
-- \defstringchar^^dc\defstringchar^^dd\defstringchar^^de\defstringchar^^df%
-- %
-- \defstringchar^^e0\defstringchar^^e1\defstringchar^^e2\defstringchar^^e3%
-- \defstringchar^^e4\defstringchar^^e5\defstringchar^^e6\defstringchar^^e7%
-- \defstringchar^^e8\defstringchar^^e9\defstringchar^^ea\defstringchar^^eb%
-- \defstringchar^^ec\defstringchar^^ed\defstringchar^^ee\defstringchar^^ef%
-- %
-- \defstringchar^^f0\defstringchar^^f1\defstringchar^^f2\defstringchar^^f3%
-- \defstringchar^^f4\defstringchar^^f5\defstringchar^^f6\defstringchar^^f7%
-- \defstringchar^^f8\defstringchar^^f9\defstringchar^^fa\defstringchar^^fb%
-- \defstringchar^^fc\defstringchar^^fd\defstringchar^^fe\defstringchar^^ff%
--}
--
--
--% define all the unicode characters we know about, for the sake of @U.
--\utfeightchardefs
-+% define all Unicode characters we know about, for the sake of @U.
-+\iftxinativeunicodecapable
-+ \nativeunicodechardefsatu
-+\else
-+ \utfeightchardefs
-+\fi
-
-
- % Make non-ASCII characters printable again for compatibility with
-@@ -9946,12 +11255,12 @@
- \advance\vsize by \topskip
- \outervsize = \vsize
- \advance\outervsize by 2\topandbottommargin
-- \pageheight = \vsize
-+ \txipageheight = \vsize
- %
- \hsize = #2\relax
- \outerhsize = \hsize
- \advance\outerhsize by 0.5in
-- \pagewidth = \hsize
-+ \txipagewidth = \hsize
- %
- \normaloffset = #4\relax
- \bindingoffset = #5\relax
-@@ -9963,6 +11272,14 @@
- % whatever layout pdftex was dumped with.
- \pdfhorigin = 1 true in
- \pdfvorigin = 1 true in
-+ \else
-+ \ifx\XeTeXrevision\thisisundefined
-+ \special{papersize=#8,#7}%
-+ \else
-+ \pdfpageheight #7\relax
-+ \pdfpagewidth #8\relax
-+ % XeTeX does not have \pdfhorigin and \pdfvorigin.
-+ \fi
- \fi
- %
- \setleading{\textleading}
-@@ -9995,7 +11312,6 @@
- %
- \lispnarrowing = 0.3in
- \tolerance = 700
-- \hfuzz = 1pt
- \contentsrightmargin = 0pt
- \defbodyindent = .5cm
- }}
-@@ -10013,7 +11329,6 @@
- %
- \lispnarrowing = 0.25in
- \tolerance = 700
-- \hfuzz = 1pt
- \contentsrightmargin = 0pt
- \defbodyindent = .4cm
- }}
-@@ -10039,7 +11354,6 @@
- {297mm}{210mm}%
- %
- \tolerance = 700
-- \hfuzz = 1pt
- \contentsrightmargin = 0pt
- \defbodyindent = 5mm
- }}
-@@ -10058,7 +11372,6 @@
- %
- \lispnarrowing = 0.2in
- \tolerance = 800
-- \hfuzz = 1.2pt
- \contentsrightmargin = 0pt
- \defbodyindent = 2mm
- \tableindent = 12mm
-@@ -10114,6 +11427,9 @@
- %
- \letterpaper
-
-+% Default value of \hfuzz, for suppressing warnings about overfull hboxes.
-+\hfuzz = 1pt
-+
-
- \message{and turning on texinfo input format.}
-
-@@ -10150,26 +11466,25 @@
- % this is not a problem.
- \def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
-
--% Turn off all special characters except @
--% (and those which the user can use as if they were ordinary).
-+% Set catcodes for Texinfo file
-+
-+% Active characters for printing the wanted glyph.
- % Most of these we simply print from the \tt font, but for some, we can
- % use math or other variants that look better in normal text.
--
-+%
- \catcode`\"=\active
- \def\activedoublequote{{\tt\char34}}
- \let"=\activedoublequote
- \catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde
--\chardef\hat=`\^
--\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat
-+\chardef\hatchar=`\^
-+\catcode`\^=\active \def\activehat{{\tt \hatchar}} \let^ = \activehat
-
- \catcode`\_=\active
- \def_{\ifusingtt\normalunderscore\_}
--\let\realunder=_
--% Subroutine for the previous macro.
- \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
-+\let\realunder=_
-
--\catcode`\|=\active
--\def|{{\tt\char124}}
-+\catcode`\|=\active \def|{{\tt\char124}}
-
- \chardef \less=`\<
- \catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless
-@@ -10177,6 +11492,8 @@
- \catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr
- \catcode`\+=\active \def+{{\tt \char 43}}
- \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
-+\catcode`\-=\active \let-=\normaldash
-+
-
- % used for headline/footline in the output routine, in case the page
- % breaks in the middle of an @tex block.
-@@ -10191,12 +11508,6 @@
- % in principle, all other definitions in \tex have to be undone too.
- }
-
--% If a .fmt file is being used, characters that might appear in a file
--% name cannot be active until we have parsed the command line.
--% So turn them off again, and have \everyjob (or @setfilename) turn them on.
--% \otherifyactive is called near the end of this file.
--\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
--
- % Used sometimes to turn off (effectively) the active characters even after
- % parsing them.
- \def\turnoffactive{%
-@@ -10215,23 +11526,22 @@
- % \doublebackslash is two of them (for the pdf outlines).
- {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
-
--% In texinfo, backslash is an active character; it prints the backslash
-+% In Texinfo, backslash is an active character; it prints the backslash
- % in fixed width font.
- \catcode`\\=\active % @ for escape char from now on.
-
--% The story here is that in math mode, the \char of \backslashcurfont
--% ends up printing the roman \ from the math symbol font (because \char
--% in math mode uses the \mathcode, and plain.tex sets
--% \mathcode`\\="026E). It seems better for @backslashchar{} to always
--% print a typewriter backslash, hence we use an explicit \mathchar,
-+% Print a typewriter backslash. For math mode, we can't simply use
-+% \backslashcurfont: the story here is that in math mode, the \char
-+% of \backslashcurfont ends up printing the roman \ from the math symbol
-+% font (because \char in math mode uses the \mathcode, and plain.tex
-+% sets \mathcode`\\="026E). Hence we use an explicit \mathchar,
- % which is the decimal equivalent of "715c (class 7, e.g., use \fam;
- % ignored family value; char position "5C). We can't use " for the
- % usual hex value because it has already been made active.
--@def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}}
--@let@backslashchar = @normalbackslash % @backslashchar{} is for user documents.
-
--% On startup, @fixbackslash assigns:
--% @let \ = @normalbackslash
-+@def@ttbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}}
-+@let@backslashchar = @ttbackslash % @backslashchar{} is for user documents.
-+
- % \rawbackslash defines an active \ to do \backslashcurfont.
- % \otherbackslash defines an active \ to be a literal `\' character with
- % catcode other. We switch back and forth between these.
-@@ -10239,52 +11549,93 @@
- @gdef@otherbackslash{@let\=@realbackslash}
-
- % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
--% the literal character `\'. Also revert - to its normal character, in
--% case the active - from code has slipped in.
-+% the literal character `\'.
- %
- {@catcode`- = @active
- @gdef@normalturnoffactive{%
-- @nonasciistringdefs
-+ @passthroughcharstrue
- @let-=@normaldash
- @let"=@normaldoublequote
- @let$=@normaldollar %$ font-lock fix
- @let+=@normalplus
- @let<=@normalless
- @let>=@normalgreater
-- @let\=@normalbackslash
- @let^=@normalcaret
- @let_=@normalunderscore
- @let|=@normalverticalbar
- @let~=@normaltilde
-+ @let\=@ttbackslash
- @markupsetuplqdefault
- @markupsetuprqdefault
- @unsepspaces
- }
- }
-
--% Make _ and + \other characters, temporarily.
--% This is canceled by @fixbackslash.
--@otherifyactive
-+% If a .fmt file is being used, characters that might appear in a file
-+% name cannot be active until we have parsed the command line.
-+% So turn them off again, and have @fixbackslash turn them back on.
-+@catcode`+=@other @catcode`@_=@other
-
-+% \enablebackslashhack - allow file to begin `\input texinfo'
-+%
- % If a .fmt file is being used, we don't want the `\input texinfo' to show up.
- % That is what \eatinput is for; after that, the `\' should revert to printing
- % a backslash.
--%
--@gdef@eatinput input texinfo{@fixbackslash}
--@global@let\ = @eatinput
-+% If the file did not have a `\input texinfo', then it is turned off after
-+% the first line; otherwise the first `\' in the file would cause an error.
-+% This is used on the very last line of this file, texinfo.tex.
-+% We also use @c to call @fixbackslash, in case ends of lines are hidden.
-+{
-+@catcode`@^=7
-+@catcode`@^^M=13@gdef@enablebackslashhack{%
-+ @global@let\ = @eatinput%
-+ @catcode`@^^M=13%
-+ @def@c{@fixbackslash@c}%
-+ % Definition for the newline at the end of this file.
-+ @def ^^M{@let^^M@secondlinenl}%
-+ % Definition for a newline in the main Texinfo file.
-+ @gdef @secondlinenl{@fixbackslash}%
-+ % In case the first line has a whole-line command on it
-+ @let@originalparsearg@parsearg
-+ @def@parsearg{@fixbackslash@originalparsearg}
-+}}
-+
-+{@catcode`@^=7 @catcode`@^^M=13%
-+@gdef@eatinput input texinfo#1^^M{@fixbackslash}}
-+
-+% Emergency active definition of newline, in case an active newline token
-+% appears by mistake.
-+{@catcode`@^=7 @catcode13=13%
-+@gdef@enableemergencynewline{%
-+ @gdef^^M{%
-+ @par%
-+ %@par%
-+}}}
-+
-
--% On the other hand, perhaps the file did not have a `\input texinfo'. Then
--% the first `\' in the file would cause an error. This macro tries to fix
--% that, assuming it is called before the first `\' could plausibly occur.
--% Also turn back on active characters that might appear in the input
--% file name, in case not using a pre-dumped format.
--%
- @gdef@fixbackslash{%
-- @ifx\@eatinput @let\ = @normalbackslash @fi
-+ @ifx\@eatinput @let\ = @ttbackslash @fi
-+ @catcode13=5 % regular end of line
-+ @enableemergencynewline
-+ @let@c=@texinfoc
-+ @let@parsearg@originalparsearg
-+ % Also turn back on active characters that might appear in the input
-+ % file name, in case not using a pre-dumped format.
- @catcode`+=@active
- @catcode`@_=@active
-+ %
-+ % If texinfo.cnf is present on the system, read it.
-+ % Useful for site-wide @afourpaper, etc. This macro, @fixbackslash, gets
-+ % called at the beginning of every Texinfo file. Not opening texinfo.cnf
-+ % directly in this file, texinfo.tex, makes it possible to make a format
-+ % file for Texinfo.
-+ %
-+ @openin 1 texinfo.cnf
-+ @ifeof 1 @else @input texinfo.cnf @fi
-+ @closein 1
- }
-
-+
- % Say @foo, not \foo, in error messages.
- @escapechar = `@@
-
-@@ -10321,6 +11672,4 @@
-
- @c vim:sw=2:
-
--@ignore
-- arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
--@end ignore
-+@enablebackslashhack
-diff -durN inetutils-1.9.4.orig/build-aux/update-copyright inetutils-1.9.4/build-aux/update-copyright
---- inetutils-1.9.4.orig/build-aux/update-copyright 2015-03-31 15:08:14.000000000 +0800
-+++ inetutils-1.9.4/build-aux/update-copyright 2017-05-15 17:50:56.609375000 +0800
-@@ -1,11 +1,11 @@
--eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
-+eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" "$@"'
- & eval 'exec perl -wS -0777 -pi "$0" $argv:q'
- if 0;
- # Update an FSF copyright year list to include the current year.
-
--my $VERSION = '2015-01-15.20:53'; # UTC
-+my $VERSION = '2016-01-12.23:13'; # UTC
-
--# Copyright (C) 2009-2015 Free Software Foundation, Inc.
-+# Copyright (C) 2009-2017 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
-@@ -124,7 +124,7 @@
- use warnings;
-
- my $copyright_re = 'Copyright';
--my $circle_c_re = '(?:\([cC]\)|@copyright{}|\\\\\(co|©)';
-+my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|©)';
- my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER};
- $holder ||= 'Free Software Foundation, Inc.';
- my $prefix_max = 5;
-@@ -269,6 +269,6 @@
- # eval: (add-hook 'write-file-hooks 'time-stamp)
- # time-stamp-start: "my $VERSION = '"
- # time-stamp-format: "%:y-%02m-%02d.%02H:%02M"
--# time-stamp-time-zone: "UTC"
-+# time-stamp-time-zone: "UTC0"
- # time-stamp-end: "'; # UTC"
- # End:
-diff -durN inetutils-1.9.4.orig/build-aux/useless-if-before-free inetutils-1.9.4/build-aux/useless-if-before-free
---- inetutils-1.9.4.orig/build-aux/useless-if-before-free 2015-03-31 15:08:14.000000000 +0800
-+++ inetutils-1.9.4/build-aux/useless-if-before-free 2017-05-15 17:50:56.765625000 +0800
-@@ -1,16 +1,16 @@
--eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}'
-+eval '(exit $?0)' && eval 'exec perl -wST "$0" "$@"'
- & eval 'exec perl -wST "$0" $argv:q'
- if 0;
- # Detect instances of "if (p) free (p);".
- # Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
-
--my $VERSION = '2012-01-06 07:23'; # UTC
-+my $VERSION = '2016-08-01 17:47'; # UTC
- # The definition above must lie within the first 8 lines in order
- # for the Emacs time-stamp write hook (at end) to update it.
- # If you change this file with Emacs, please let the write hook
- # do its job. Otherwise, update this string manually.
-
--# Copyright (C) 2008-2015 Free Software Foundation, Inc.
-+# Copyright (C) 2008-2017 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
-@@ -129,6 +129,9 @@
- $err = EXIT_ERROR, next;
- while (defined (my $line = ))
- {
-+ # Skip non-matching lines early to save time
-+ $line =~ /\bif\b/
-+ or next;
- while ($line =~
- /\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\)
- # 1 2 3
-@@ -202,6 +205,6 @@
- ## eval: (add-hook 'write-file-hooks 'time-stamp)
- ## time-stamp-start: "my $VERSION = '"
- ## time-stamp-format: "%:y-%02m-%02d %02H:%02M"
--## time-stamp-time-zone: "UTC"
-+## time-stamp-time-zone: "UTC0"
- ## time-stamp-end: "'; # UTC"
- ## End:
-diff -durN inetutils-1.9.4.orig/build-aux/vc-list-files inetutils-1.9.4/build-aux/vc-list-files
---- inetutils-1.9.4.orig/build-aux/vc-list-files 2015-03-31 15:08:14.000000000 +0800
-+++ inetutils-1.9.4/build-aux/vc-list-files 2017-05-15 17:50:56.906250000 +0800
-@@ -2,9 +2,9 @@
- # List version-controlled file names.
-
- # Print a version string.
--scriptversion=2011-05-16.22; # UTC
-+scriptversion=2016-01-11.22; # UTC
-
--# Copyright (C) 2006-2015 Free Software Foundation, Inc.
-+# Copyright (C) 2006-2017 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
-@@ -108,6 +108,6 @@
- # eval: (add-hook 'write-file-hooks 'time-stamp)
- # time-stamp-start: "scriptversion="
- # time-stamp-format: "%:y-%02m-%02d.%02H"
--# time-stamp-time-zone: "UTC"
-+# time-stamp-time-zone: "UTC0"
- # time-stamp-end: "; # UTC"
- # End:
-diff -durN inetutils-1.9.4.orig/config.hin inetutils-1.9.4/config.hin
---- inetutils-1.9.4.orig/config.hin 2015-06-09 15:49:01.000000000 +0800
-+++ inetutils-1.9.4/config.hin 2017-05-15 17:58:04.000000000 +0800
-@@ -32,6 +32,9 @@
- /* Define to 1 if using `alloca.c'. */
- #undef C_ALLOCA
-
-+/* Define to 1 if the C locale may have encoding errors. */
-+#undef C_LOCALE_MAYBE_EILSEQ
-+
- /* Define as the bit index in the word where to find bit 0 of the exponent of
- 'double'. */
- #undef DBL_EXPBIT0_BIT
-@@ -67,6 +70,15 @@
- /* Define this to 1 if F_DUPFD behavior does not match POSIX */
- #undef FCNTL_DUPFD_BUGGY
-
-+/* Define to nothing if C supports flexible array members, and to 1 if it does
-+ not. That way, with a declaration like 'struct s { int n; double
-+ d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
-+ compilers. When computing the size of such an object, don't use 'sizeof
-+ (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)'
-+ instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with
-+ MSVC and with C++ compilers. */
-+#undef FLEXIBLE_ARRAY_MEMBER
-+
- /* Define to 1 if fopen() fails to recognize a trailing slash. */
- #undef FOPEN_TRAILING_SLASH_BUG
-
-@@ -116,6 +128,10 @@
- #undef GNULIB_MALLOC_GNU
-
- /* Define to a C preprocessor expression that evaluates to 1 or 0, depending
-+ whether the gnulib module msvc-nothrow shall be considered present. */
-+#undef GNULIB_MSVC_NOTHROW
-+
-+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
- whether the gnulib module openat shall be considered present. */
- #undef GNULIB_OPENAT
-
-@@ -234,9 +250,6 @@
- /* Define to 1 when the gnulib module getlogin_r should be tested. */
- #undef GNULIB_TEST_GETLOGIN_R
-
--/* Define to 1 when the gnulib module getopt-gnu should be tested. */
--#undef GNULIB_TEST_GETOPT_GNU
--
- /* Define to 1 when the gnulib module gettimeofday should be tested. */
- #undef GNULIB_TEST_GETTIMEOFDAY
-
-@@ -395,7 +408,7 @@
- /* Define to 1 if you have the header file. */
- #undef HAVE_BP_SYM_H
-
--/* Define to 1 if you have the 'btowc' function. */
-+/* Define to 1 if you have the `btowc' function. */
- #undef HAVE_BTOWC
-
- /* Define to 1 if you have the `cfsetspeed' function. */
-@@ -413,9 +426,15 @@
- /* Define to 1 if enctype_names[] must be const char. */
- #undef HAVE_CONST_CHAR_ENCTYPE_NAMES
-
-+/* Define to 1 if you have the header file. */
-+#undef HAVE_CRTDEFS_H
-+
- /* Define to 1 if you have the `crypt' function. */
- #undef HAVE_CRYPT
-
-+/* Define to 1 if you have the header file. */
-+#undef HAVE_CRYPT_H
-+
- /* Define to 1 if tgetent() exists in . */
- #undef HAVE_CURSES_TGETENT
-
-@@ -547,10 +566,6 @@
- don't. */
- #undef HAVE_DECL_GETDTABLESIZE
-
--/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
-- */
--#undef HAVE_DECL_GETENV
--
- /* Define to 1 if you have the declaration of `getgrnam', and to 0 if you
- don't. */
- #undef HAVE_DECL_GETGRNAM
-@@ -723,6 +738,10 @@
- don't. */
- #undef HAVE_DECL__SNPRINTF
-
-+/* Define to 1 if you have the declaration of `__argv', and to 0 if you don't.
-+ */
-+#undef HAVE_DECL___ARGV
-+
- /* Define to 1 if you have the declaration of `__fsetlocking', and to 0 if you
- don't. */
- #undef HAVE_DECL___FSETLOCKING
-@@ -758,13 +777,13 @@
- /* Define to 1 if you have the `fchdir' function. */
- #undef HAVE_FCHDIR
-
--/* Define to 1 if you have the 'fcntl' function. */
-+/* Define to 1 if you have the `fcntl' function. */
- #undef HAVE_FCNTL
-
- /* Define to 1 if you have the header file. */
- #undef HAVE_FCNTL_H
-
--/* Define to 1 if you have the 'fdopendir' function. */
-+/* Define to 1 if you have the `fdopendir' function. */
- #undef HAVE_FDOPENDIR
-
- /* Define to 1 if FD_SET_MACROS exists */
-@@ -794,7 +813,7 @@
- /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
- #undef HAVE_FSEEKO
-
--/* Define to 1 if you have the 'fstatat' function. */
-+/* Define to 1 if you have the `fstatat' function. */
- #undef HAVE_FSTATAT
-
- /* Define to 1 if you have the `ftruncate' function. */
-@@ -810,16 +829,28 @@
- tested with the replacement. */
- #undef HAVE_GETCWD_SHORTER
-
--/* Define to 1 if you have the 'getdelim' function. */
-+/* Define to 1 if you have the `getdelim' function. */
- #undef HAVE_GETDELIM
-
- /* Define if the getdomainname() function is present and can be used. */
- #undef HAVE_GETDOMAINNAME
-
--/* Define to 1 if you have the 'getdtablesize' function. */
-+/* Define to 1 if you have the `getdtablesize' function. */
- #undef HAVE_GETDTABLESIZE
-
--/* Define to 1 if you have the 'getgrouplist' function. */
-+/* Define to 1 if you have the `getegid' function. */
-+#undef HAVE_GETEGID
-+
-+/* Define to 1 if you have the `geteuid' function. */
-+#undef HAVE_GETEUID
-+
-+/* Define to 1 if you have the `getexecname' function. */
-+#undef HAVE_GETEXECNAME
-+
-+/* Define to 1 if you have the `getgid' function. */
-+#undef HAVE_GETGID
-+
-+/* Define to 1 if you have the `getgrouplist' function. */
- #undef HAVE_GETGROUPLIST
-
- /* Define to 1 if your system has a working `getgroups' function. */
-@@ -831,7 +862,7 @@
- /* Define to 1 if you have the `gethostname' function. */
- #undef HAVE_GETHOSTNAME
-
--/* Define to 1 if you have the 'getlogin_r' function. */
-+/* Define to 1 if you have the `getlogin_r' function. */
- #undef HAVE_GETLOGIN_R
-
- /* Define to 1 if you have the `getmsg' function. */
-@@ -849,7 +880,10 @@
- /* Define to 1 if you have the `getpass' function. */
- #undef HAVE_GETPASS
-
--/* Define to 1 if you have the 'getpwnam_r' function. */
-+/* Define to 1 if you have the `getprogname' function. */
-+#undef HAVE_GETPROGNAME
-+
-+/* Define to 1 if you have the `getpwnam_r' function. */
- #undef HAVE_GETPWNAM_R
-
- /* Define to 1 if you have the `getpwuid_r' function. */
-@@ -861,9 +895,12 @@
- /* Define to 1 if you have the `getspnam' function. */
- #undef HAVE_GETSPNAM
-
--/* Define to 1 if you have the 'gettimeofday' function. */
-+/* Define to 1 if you have the `gettimeofday' function. */
- #undef HAVE_GETTIMEOFDAY
-
-+/* Define to 1 if you have the `getuid' function. */
-+#undef HAVE_GETUID
-+
- /* Define to 1 if you have the `getusershell' function. */
- #undef HAVE_GETUSERSHELL
-
-@@ -922,16 +959,16 @@
- /* Define to 1 if IPV6_V6ONLY exists */
- #undef HAVE_IPV6_V6ONLY
-
--/* Define to 1 if you have the 'isblank' function. */
-+/* Define to 1 if you have the `isblank' function. */
- #undef HAVE_ISBLANK
-
- /* Define to 1 if you have the `issetugid' function. */
- #undef HAVE_ISSETUGID
-
--/* Define to 1 if you have the 'iswcntrl' function. */
-+/* Define to 1 if you have the `iswcntrl' function. */
- #undef HAVE_ISWCNTRL
-
--/* Define to 1 if you have the 'iswctype' function. */
-+/* Define to 1 if you have the `iswctype' function. */
- #undef HAVE_ISWCTYPE
-
- /* Define to 1 if you have the header file. */
-@@ -985,6 +1022,9 @@
- /* Define to 1 if you have the header file. */
- #undef HAVE_LIBUTIL_H
-
-+/* Define to 1 if you have the header file. */
-+#undef HAVE_LIMITS_H
-+
- /* Define to 1 if you have the header file. */
- #undef HAVE_LINEWRAP_H
-
-@@ -1015,7 +1055,7 @@
- /* Define to 1 if the system has the type 'long long int'. */
- #undef HAVE_LONG_LONG_INT
-
--/* Define to 1 if you have the 'lstat' function. */
-+/* Define to 1 if you have the `lstat' function. */
- #undef HAVE_LSTAT
-
- /* Define to 1 if your system has a GNU libc compatible 'malloc' function, and
-@@ -1035,10 +1075,10 @@
- /* Define to 1 if you have the `mbrtowc' function. */
- #undef HAVE_MBRTOWC
-
--/* Define to 1 if you have the 'mbsinit' function. */
-+/* Define to 1 if you have the `mbsinit' function. */
- #undef HAVE_MBSINIT
-
--/* Define to 1 if you have the 'mbsrtowcs' function. */
-+/* Define to 1 if you have the `mbsrtowcs' function. */
- #undef HAVE_MBSRTOWCS
-
- /* Define to 1 if declares mbstate_t. */
-@@ -1075,13 +1115,13 @@
- /* Define to 1 if defines the MIN and MAX macros. */
- #undef HAVE_MINMAX_IN_SYS_PARAM_H
-
--/* Define to 1 if you have the 'mkstemp' function. */
-+/* Define to 1 if you have the `mkstemp' function. */
- #undef HAVE_MKSTEMP
-
- /* Define to 1 if you have a working `mmap' system call. */
- #undef HAVE_MMAP
-
--/* Define to 1 if you have the 'mprotect' function. */
-+/* Define to 1 if you have the `mprotect' function. */
- #undef HAVE_MPROTECT
-
- /* Define to 1 on MSVC platforms that have the "invalid parameter handler"
-@@ -1112,13 +1152,13 @@
- /* Define to 1 if you have the header file. */
- #undef HAVE_NETINET_IP_VAR_H
-
--/* Define to 1 if you have the 'nl_langinfo' function. */
-+/* Define to 1 if you have the `nl_langinfo' function. */
- #undef HAVE_NL_LANGINFO
-
- /* Define to 1 if the system has obstacks that work with any size object. */
- #undef HAVE_OBSTACK
-
--/* Define to 1 if you have the 'openat' function. */
-+/* Define to 1 if you have the `openat' function. */
- #undef HAVE_OPENAT
-
- /* Define to 1 if you have the `opendir' function. */
-@@ -1134,7 +1174,7 @@
- /* Define if you have the header file */
- #undef HAVE_PATHS_H
-
--/* Define to 1 if you have the 'pipe' function. */
-+/* Define to 1 if you have the `pipe' function. */
- #undef HAVE_PIPE
-
- /* Define to 1 if you have the `poll' function. */
-@@ -1143,7 +1183,7 @@
- /* Define to 1 if you have the header file. */
- #undef HAVE_POLL_H
-
--/* Define to 1 if you have the 'posix_openpt' function. */
-+/* Define to 1 if you have the `posix_openpt' function. */
- #undef HAVE_POSIX_OPENPT
-
- /* Define if you have weak "pragma" references */
-@@ -1161,6 +1201,10 @@
- /* Define if the POSIX multithreading library has read/write locks. */
- #undef HAVE_PTHREAD_RWLOCK
-
-+/* Define if the 'pthread_rwlock_rdlock' function prefers a writer to a
-+ reader. */
-+#undef HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER
-+
- /* Define to 1 if you have the `ptsname' function. */
- #undef HAVE_PTSNAME
-
-@@ -1510,6 +1554,9 @@
- /* Define to 1 if pwrite is declared even after undefining macros. */
- #undef HAVE_RAW_DECL_PWRITE
-
-+/* Define to 1 if qsort_r is declared even after undefining macros. */
-+#undef HAVE_RAW_DECL_QSORT_R
-+
- /* Define to 1 if random is declared even after undefining macros. */
- #undef HAVE_RAW_DECL_RANDOM
-
-@@ -1702,6 +1749,9 @@
- /* Define to 1 if towctrans is declared even after undefining macros. */
- #undef HAVE_RAW_DECL_TOWCTRANS
-
-+/* Define to 1 if truncate is declared even after undefining macros. */
-+#undef HAVE_RAW_DECL_TRUNCATE
-+
- /* Define to 1 if ttyname_r is declared even after undefining macros. */
- #undef HAVE_RAW_DECL_TTYNAME_R
-
-@@ -1762,6 +1812,9 @@
- /* Define to 1 if wcsdup is declared even after undefining macros. */
- #undef HAVE_RAW_DECL_WCSDUP
-
-+/* Define to 1 if wcsftime is declared even after undefining macros. */
-+#undef HAVE_RAW_DECL_WCSFTIME
-+
- /* Define to 1 if wcslen is declared even after undefining macros. */
- #undef HAVE_RAW_DECL_WCSLEN
-
-@@ -1865,7 +1918,7 @@
- /* Define to 1 if you have the header file. */
- #undef HAVE_SEARCH_H
-
--/* Define to 1 if you have the 'secure_getenv' function. */
-+/* Define to 1 if you have the `secure_getenv' function. */
- #undef HAVE_SECURE_GETENV
-
- /* Define to 1 if you have the header file. */
-@@ -1877,7 +1930,7 @@
- /* Define to 1 if you have the `setegid' function. */
- #undef HAVE_SETEGID
-
--/* Define to 1 if you have the 'setenv' function. */
-+/* Define to 1 if you have the `setenv' function. */
- #undef HAVE_SETENV
-
- /* Define to 1 if you have the `seteuid' function. */
-@@ -1940,7 +1993,7 @@
- /* Define to 1 if you have the `sigvec' function. */
- #undef HAVE_SIGVEC
-
--/* Define to 1 if you have the 'sleep' function. */
-+/* Define to 1 if you have the `sleep' function. */
- #undef HAVE_SLEEP
-
- /* Define to one if you have snprintf */
-@@ -1964,6 +2017,9 @@
- /* Define to 1 if you have the header file. */
- #undef HAVE_STDIO_EXT_H
-
-+/* Define to 1 if you have the header file. */
-+#undef HAVE_STDIO_H
-+
- /* Define to 1 if you have the header file. */
- #undef HAVE_STDLIB_H
-
-@@ -1998,7 +2054,7 @@
- /* Define to 1 if you have the `strncasecmp' function. */
- #undef HAVE_STRNCASECMP
-
--/* Define to 1 if you have the 'strndup' function. */
-+/* Define to 1 if you have the `strndup' function. */
- #undef HAVE_STRNDUP
-
- /* Define to 1 if you have the `strnlen' function. */
-@@ -2047,6 +2103,9 @@
- /* Define to 1 if `decimal_point' is a member of `struct lconv'. */
- #undef HAVE_STRUCT_LCONV_DECIMAL_POINT
-
-+/* Define to one if you have struct osockaddr. */
-+#undef HAVE_STRUCT_OSOCKADDR
-+
- /* Define to 1 if `pw_change' is member of `struct passwd'. */
- #undef HAVE_STRUCT_PASSWD_PW_CHANGE
-
-@@ -2197,7 +2256,7 @@
- /* Define if struct stat has an st_dm_mode member. */
- #undef HAVE_ST_DM_MODE
-
--/* Define to 1 if you have the 'symlink' function. */
-+/* Define to 1 if you have the `symlink' function. */
- #undef HAVE_SYMLINK
-
- /* Define to 1 if you have the header file. */
-@@ -2283,9 +2342,6 @@
- /* Define to 1 if you have the header file. */
- #undef HAVE_SYS_SYSTEMINFO_H
-
--/* Define to 1 if you have the header file. */
--#undef HAVE_SYS_TIMEB_H
--
- /* Define to 1 if you have the header file. */
- #undef HAVE_SYS_TIME_H
-
-@@ -2310,7 +2366,7 @@
- /* Define to 1 if you have the header file. */
- #undef HAVE_TCPD_H
-
--/* Define to 1 if you have the 'tcsetattr' function. */
-+/* Define to 1 if you have the `tcsetattr' function. */
- #undef HAVE_TCSETATTR
-
- /* Define to 1 if tgetent() exists in . */
-@@ -2325,6 +2381,9 @@
- /* Define to 1 if tgetent() exists. */
- #undef HAVE_TGETENT
-
-+/* Define to 1 if TIOCNOTTY exists */
-+#undef HAVE_TIOCNOTTY
-+
- /* Define to 1 if you have the `towlower' function. */
- #undef HAVE_TOWLOWER
-
-@@ -2358,10 +2417,10 @@
- /* Define to 1 if you have the `utimes' function. */
- #undef HAVE_UTIMES
-
--/* Define to 1 if you have the 'utmpname' function. */
-+/* Define to 1 if you have the `utmpname' function. */
- #undef HAVE_UTMPNAME
-
--/* Define to 1 if you have the 'utmpxname' function. */
-+/* Define to 1 if you have the `utmpxname' function. */
- #undef HAVE_UTMPXNAME
-
- /* Define to 1 if you have the header file. */
-@@ -2370,7 +2429,10 @@
- /* Define to 1 if you have the header file. */
- #undef HAVE_UTMP_H
-
--/* Define to 1 if you have the 'vasnprintf' function. */
-+/* Define if you have a global __progname variable */
-+#undef HAVE_VAR___PROGNAME
-+
-+/* Define to 1 if you have the `vasnprintf' function. */
- #undef HAVE_VASNPRINTF
-
- /* Define to 1 if you have the `vasprintf' function. */
-@@ -2403,7 +2465,7 @@
- /* Define if you have the 'wchar_t' type. */
- #undef HAVE_WCHAR_T
-
--/* Define to 1 if you have the 'wcrtomb' function. */
-+/* Define to 1 if you have the `wcrtomb' function. */
- #undef HAVE_WCRTOMB
-
- /* Define to 1 if you have the `wcslen' function. */
-@@ -2424,13 +2486,13 @@
- /* Define if you have the 'wint_t' type. */
- #undef HAVE_WINT_T
-
--/* Define to 1 if you have the 'wmemchr' function. */
-+/* Define to 1 if you have the `wmemchr' function. */
- #undef HAVE_WMEMCHR
-
--/* Define to 1 if you have the 'wmemcpy' function. */
-+/* Define to 1 if you have the `wmemcpy' function. */
- #undef HAVE_WMEMCPY
-
--/* Define to 1 if you have the 'wmempcpy' function. */
-+/* Define to 1 if you have the `wmempcpy' function. */
- #undef HAVE_WMEMPCPY
-
- /* Define to 1 if `fork' works. */
-@@ -2464,19 +2526,26 @@
- /* Define to 1 if you have the `_ftelli64' function. */
- #undef HAVE__FTELLI64
-
--/* Define to 1 if you have the `_ftime' function. */
--#undef HAVE__FTIME
--
- /* Define to 1 if you have the `_getpty' function. */
- #undef HAVE__GETPTY
-
--/* Define to 1 if you have the '_set_invalid_parameter_handler' function. */
-+/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */
- #undef HAVE__SET_INVALID_PARAMETER_HANDLER
-
-+/* Define to 1 if the compiler supports __builtin_expect,
-+ and to 2 if does. */
-+#undef HAVE___BUILTIN_EXPECT
-+#ifndef HAVE___BUILTIN_EXPECT
-+# define __builtin_expect(e, c) (e)
-+#elif HAVE___BUILTIN_EXPECT == 2
-+# include
-+#endif
-+
-+
- /* Define to 1 if you have the `__check_rhosts_file' function. */
- #undef HAVE___CHECK_RHOSTS_FILE
-
--/* Define to 1 if you have the '__fsetlocking' function. */
-+/* Define to 1 if you have the `__fsetlocking' function. */
- #undef HAVE___FSETLOCKING
-
- /* Define to 1 if you have the `__opendir2' function. */
-@@ -2541,6 +2610,12 @@
- /* Define if the mbrtowc function returns a wrong return value. */
- #undef MBRTOWC_RETVAL_BUG
-
-+/* Use GNU style printf and scanf. */
-+#ifndef __USE_MINGW_ANSI_STDIO
-+# undef __USE_MINGW_ANSI_STDIO
-+#endif
-+
-+
- /* Define to 1 if open() fails to recognize a trailing slash. */
- #undef OPEN_TRAILING_SLASH_BUG
-
-@@ -2585,13 +2660,12 @@
- 'ptrdiff_t'. */
- #undef PTRDIFF_T_SUFFIX
-
-+/* Define to 1 if gnulib's dirfd() replacement is used. */
-+#undef REPLACE_DIRFD
-+
- /* Define to 1 if gnulib's fchdir() replacement is used. */
- #undef REPLACE_FCHDIR
-
--/* Define to 1 if stat needs help when passed a directory name with a trailing
-- slash */
--#undef REPLACE_FUNC_STAT_DIR
--
- /* Define to 1 if stat needs help when passed a file name with a trailing
- slash */
- #undef REPLACE_FUNC_STAT_FILE
-@@ -2698,7 +2772,7 @@
- #ifndef _ALL_SOURCE
- # undef _ALL_SOURCE
- #endif
--/* Enable general extensions on OS X. */
-+/* Enable general extensions on macOS. */
- #ifndef _DARWIN_C_SOURCE
- # undef _DARWIN_C_SOURCE
- #endif
-@@ -2706,14 +2780,38 @@
- #ifndef _GNU_SOURCE
- # undef _GNU_SOURCE
- #endif
--/* Use GNU style printf and scanf. */
--#ifndef __USE_MINGW_ANSI_STDIO
--# undef __USE_MINGW_ANSI_STDIO
--#endif
- /* Enable threading extensions on Solaris. */
- #ifndef _POSIX_PTHREAD_SEMANTICS
- # undef _POSIX_PTHREAD_SEMANTICS
- #endif
-+/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */
-+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
-+# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
-+#endif
-+/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */
-+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
-+# undef __STDC_WANT_IEC_60559_BFP_EXT__
-+#endif
-+/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */
-+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
-+# undef __STDC_WANT_IEC_60559_DFP_EXT__
-+#endif
-+/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
-+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
-+# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
-+#endif
-+/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
-+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
-+# undef __STDC_WANT_IEC_60559_TYPES_EXT__
-+#endif
-+/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */
-+#ifndef __STDC_WANT_LIB_EXT2__
-+# undef __STDC_WANT_LIB_EXT2__
-+#endif
-+/* Enable extensions specified by ISO/IEC 24747:2009. */
-+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
-+# undef __STDC_WANT_MATH_SPEC_FUNCS__
-+#endif
- /* Enable extensions on HP NonStop. */
- #ifndef _TANDEM_SOURCE
- # undef _TANDEM_SOURCE
-@@ -2733,6 +2831,9 @@
- /* Define if the native Windows multithreading API can be used. */
- #undef USE_WINDOWS_THREADS
-
-+/* FIXME */
-+#undef UTMPX
-+
- /* Version number of package */
- #undef VERSION
-
-@@ -2804,10 +2905,6 @@
- /* Number of bits in a file offset, on hosts where this is settable. */
- #undef _FILE_OFFSET_BITS
-
--/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct
-- stat.st_size becomes 64-bit. */
--#undef _GL_WINDOWS_64_BIT_ST_SIZE
--
- /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
- #undef _LARGEFILE_SOURCE
-
-@@ -2859,6 +2956,12 @@
- used. */
- #undef __GETOPT_PREFIX
-
-+/* Define to 1 if the system predates C++11. */
-+#undef __STDC_CONSTANT_MACROS
-+
-+/* Define to 1 if the system predates C++11. */
-+#undef __STDC_LIMIT_MACROS
-+
- /* Define to empty if `const' does not conform to ANSI C. */
- #undef const
-
-@@ -2908,6 +3011,7 @@
- ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
- : (199901L <= __STDC_VERSION__ \
- && !defined __HP_cc \
-+ && !defined __PGI \
- && !(defined __SUNPRO_C && __STDC__))) \
- && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
- # define _GL_INLINE inline
-diff -durN inetutils-1.9.4.orig/configure inetutils-1.9.4/configure
---- inetutils-1.9.4.orig/configure 2015-06-09 15:53:47.000000000 +0800
-+++ inetutils-1.9.4/configure 2017-05-15 17:57:58.015625000 +0800
-@@ -623,11 +623,10 @@
- #endif"
-
- gl_use_threads_default=
--gl_func_list=
--gl_header_list=
-+ac_func_list=
-+ac_header_list=
- gl_fnmatch_required=POSIX
- gl_getopt_required=POSIX
--gl_getopt_required=POSIX
- ac_subst_vars='gltests_LTLIBOBJS
- gltests_LIBOBJS
- gl_LTLIBOBJS
-@@ -684,6 +683,7 @@
- GNULIB_ISWCTYPE
- GNULIB_WCTYPE
- GNULIB_ISWBLANK
-+HAVE_CRTDEFS_H
- HAVE_WINT_T
- NEXT_AS_FIRST_DIRECTIVE_WCHAR_H
- NEXT_WCHAR_H
-@@ -696,21 +696,6 @@
- TIME_H_DEFINES_STRUCT_TIMESPEC
- NEXT_AS_FIRST_DIRECTIVE_TIME_H
- NEXT_TIME_H
--REPLACE_LOCALTIME
--REPLACE_GMTIME
--REPLACE_TIMEGM
--REPLACE_NANOSLEEP
--REPLACE_MKTIME
--REPLACE_LOCALTIME_R
--HAVE_TIMEGM
--HAVE_STRPTIME
--HAVE_NANOSLEEP
--HAVE_DECL_LOCALTIME_R
--GNULIB_TIME_R
--GNULIB_TIMEGM
--GNULIB_STRPTIME
--GNULIB_NANOSLEEP
--GNULIB_MKTIME
- NEXT_AS_FIRST_DIRECTIVE_TERMIOS_H
- NEXT_TERMIOS_H
- HAVE_TERMIOS_H
-@@ -744,6 +729,9 @@
- GL_GENERATE_STDINT_H_FALSE
- GL_GENERATE_STDINT_H_TRUE
- STDINT_H
-+HAVE_SYS_INTTYPES_H
-+HAVE_SYS_BITYPES_H
-+HAVE_C99_STDINT_H
- WINT_T_SUFFIX
- WCHAR_T_SUFFIX
- SIG_ATOMIC_T_SUFFIX
-@@ -757,8 +745,6 @@
- BITSIZEOF_SIG_ATOMIC_T
- BITSIZEOF_SIZE_T
- BITSIZEOF_PTRDIFF_T
--HAVE_SYS_BITYPES_H
--HAVE_SYS_INTTYPES_H
- HAVE_STDINT_H
- NEXT_AS_FIRST_DIRECTIVE_STDINT_H
- NEXT_STDINT_H
-@@ -767,6 +753,7 @@
- HAVE_WCHAR_H
- HAVE_UNSIGNED_LONG_LONG_INT
- HAVE_LONG_LONG_INT
-+GNULIB_OVERRIDES_WINT_T
- HAVE__BOOL
- GL_GENERATE_STDBOOL_H_FALSE
- GL_GENERATE_STDBOOL_H_TRUE
-@@ -928,6 +915,7 @@
- HAVE_RANDOM_R
- HAVE_RANDOM_H
- HAVE_RANDOM
-+HAVE_QSORT_R
- HAVE_PTSNAME_R
- HAVE_PTSNAME
- HAVE_POSIX_OPENPT
-@@ -1003,6 +991,11 @@
- GNULIB_LOCALECONV
- LOCALCHARSET_TESTS_ENVIRONMENT
- GLIBC21
-+GL_GENERATE_LIMITS_H_FALSE
-+GL_GENERATE_LIMITS_H_TRUE
-+LIMITS_H
-+NEXT_AS_FIRST_DIRECTIVE_LIMITS_H
-+NEXT_LIMITS_H
- HAVE_LANGINFO_YESEXPR
- HAVE_LANGINFO_ERA
- HAVE_LANGINFO_T_FMT_AMPM
-@@ -1013,10 +1006,34 @@
- REPLACE_NL_LANGINFO
- HAVE_NL_LANGINFO
- GNULIB_NL_LANGINFO
--HAVE_SYS_CDEFS_H
- GL_GENERATE_GLOB_H_FALSE
- GL_GENERATE_GLOB_H_TRUE
- GLOB_H
-+REPLACE_LOCALTIME
-+REPLACE_GMTIME
-+REPLACE_TZSET
-+REPLACE_TIMEGM
-+REPLACE_STRFTIME
-+REPLACE_NANOSLEEP
-+REPLACE_MKTIME
-+REPLACE_LOCALTIME_R
-+REPLACE_CTIME
-+HAVE_TIMEZONE_T
-+HAVE_TZSET
-+HAVE_TIMEGM
-+HAVE_STRPTIME
-+HAVE_NANOSLEEP
-+HAVE_DECL_LOCALTIME_R
-+GNULIB_TZSET
-+GNULIB_TIME_RZ
-+GNULIB_TIME_R
-+GNULIB_TIMEGM
-+GNULIB_STRPTIME
-+GNULIB_STRFTIME
-+GNULIB_NANOSLEEP
-+GNULIB_LOCALTIME
-+GNULIB_MKTIME
-+GNULIB_CTIME
- NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H
- NEXT_SYS_TIME_H
- REPLACE_STRUCT_TIMEVAL
-@@ -1028,10 +1045,13 @@
- LTLIBINTL
- LIBINTL
- GNULIB_GL_UNISTD_H_GETOPT
-+GETOPT_CDEFS_H
- GETOPT_H
-+HAVE_SYS_CDEFS_H
- HAVE_GETOPT_H
- NEXT_AS_FIRST_DIRECTIVE_GETOPT_H
- NEXT_GETOPT_H
-+LIB_GETLOGIN
- GETHOSTNAME_LIB
- GETADDRINFO_LIB
- INET_NTOP_LIB
-@@ -1071,6 +1091,7 @@
- GNULIB_CONNECT
- GNULIB_SOCKET
- WINDOWS_64_BIT_ST_SIZE
-+WINDOWS_STAT_TIMESPEC
- NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H
- NEXT_SYS_STAT_H
- REPLACE_UTIMENSAT
-@@ -1093,6 +1114,7 @@
- HAVE_FUTIMENS
- HAVE_FSTATAT
- HAVE_FCHMODAT
-+GNULIB_OVERRIDES_STRUCT_STAT
- GNULIB_UTIMENSAT
- GNULIB_STAT
- GNULIB_MKNODAT
-@@ -1106,6 +1128,7 @@
- GNULIB_FSTATAT
- GNULIB_FSTAT
- GNULIB_FCHMODAT
-+WINDOWS_STAT_INODES
- WINDOWS_64_BIT_OFF_T
- NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H
- NEXT_SYS_TYPES_H
-@@ -1293,6 +1316,7 @@
- REPLACE_UNLINKAT
- REPLACE_UNLINK
- REPLACE_TTYNAME_R
-+REPLACE_TRUNCATE
- REPLACE_SYMLINKAT
- REPLACE_SYMLINK
- REPLACE_SLEEP
-@@ -1326,12 +1350,14 @@
- HAVE_DECL_GETUSERSHELL
- HAVE_DECL_GETPAGESIZE
- HAVE_DECL_GETLOGIN_R
-+HAVE_DECL_GETLOGIN
- HAVE_DECL_GETDOMAINNAME
- HAVE_DECL_FDATASYNC
- HAVE_DECL_FCHDIR
- HAVE_DECL_ENVIRON
- HAVE_USLEEP
- HAVE_UNLINKAT
-+HAVE_TRUNCATE
- HAVE_SYMLINKAT
- HAVE_SYMLINK
- HAVE_SLEEP
-@@ -1368,6 +1394,7 @@
- GNULIB_UNISTD_H_SIGPIPE
- GNULIB_UNISTD_H_NONBLOCKING
- GNULIB_TTYNAME_R
-+GNULIB_TRUNCATE
- GNULIB_SYMLINKAT
- GNULIB_SYMLINK
- GNULIB_SLEEP
-@@ -1410,6 +1437,7 @@
- GNULIB_CHOWN
- GNULIB_CHDIR
- LOCALE_FR
-+REPLACE_WCSFTIME
- REPLACE_WCSWIDTH
- REPLACE_WCWIDTH
- REPLACE_WCSNRTOMBS
-@@ -1425,6 +1453,7 @@
- REPLACE_MBSTATE_T
- HAVE_DECL_WCWIDTH
- HAVE_DECL_WCTOB
-+HAVE_WCSFTIME
- HAVE_WCSWIDTH
- HAVE_WCSTOK
- HAVE_WCSSTR
-@@ -1462,6 +1491,7 @@
- HAVE_MBRTOWC
- HAVE_MBSINIT
- HAVE_BTOWC
-+GNULIB_WCSFTIME
- GNULIB_WCSWIDTH
- GNULIB_WCSTOK
- GNULIB_WCSSTR
-@@ -1532,9 +1562,9 @@
- NETSTAT
- MKTEMP
- DD
--ac_ct_AR
- RANLIB
- ARFLAGS
-+ac_ct_AR
- AR
- EGREP
- GREP
-@@ -3644,87 +3674,95 @@
- >$cache_file
- fi
-
--gl_func_list="$gl_func_list flockfile"
--gl_func_list="$gl_func_list funlockfile"
--gl_header_list="$gl_header_list features.h"
--gl_header_list="$gl_header_list linewrap.h"
--gl_header_list="$gl_header_list arpa/inet.h"
--gl_func_list="$gl_func_list btowc"
--gl_header_list="$gl_header_list unistd.h"
--gl_header_list="$gl_header_list sys/param.h"
--gl_func_list="$gl_func_list _set_invalid_parameter_handler"
--gl_header_list="$gl_header_list sys/socket.h"
--gl_func_list="$gl_func_list fchdir"
--gl_header_list="$gl_header_list dirent.h"
--gl_func_list="$gl_func_list fcntl"
--gl_func_list="$gl_func_list symlink"
--gl_func_list="$gl_func_list fdopendir"
--gl_func_list="$gl_func_list mempcpy"
--gl_func_list="$gl_func_list isblank"
--gl_func_list="$gl_func_list iswctype"
--gl_func_list="$gl_func_list mbsrtowcs"
--gl_func_list="$gl_func_list wmemchr"
--gl_func_list="$gl_func_list wmemcpy"
--gl_func_list="$gl_func_list wmempcpy"
--gl_header_list="$gl_header_list wctype.h"
--gl_header_list="$gl_header_list pty.h"
--gl_header_list="$gl_header_list sys/stat.h"
--gl_func_list="$gl_func_list fstatat"
--gl_header_list="$gl_header_list netdb.h"
--gl_header_list="$gl_header_list netinet/in.h"
--gl_func_list="$gl_func_list getdelim"
--gl_func_list="$gl_func_list getdtablesize"
--gl_func_list="$gl_func_list getlogin_r"
-+as_fn_append ac_func_list " flockfile"
-+as_fn_append ac_func_list " funlockfile"
-+as_fn_append ac_header_list " features.h"
-+as_fn_append ac_header_list " linewrap.h"
-+as_fn_append ac_header_list " arpa/inet.h"
-+as_fn_append ac_func_list " btowc"
-+as_fn_append ac_header_list " unistd.h"
-+as_fn_append ac_header_list " sys/param.h"
-+as_fn_append ac_func_list " _set_invalid_parameter_handler"
-+as_fn_append ac_header_list " sys/socket.h"
-+as_fn_append ac_func_list " fchdir"
-+as_fn_append ac_header_list " dirent.h"
-+as_fn_append ac_func_list " fcntl"
-+as_fn_append ac_func_list " symlink"
-+as_fn_append ac_func_list " fdopendir"
-+as_fn_append ac_func_list " mempcpy"
-+as_fn_append ac_func_list " isblank"
-+as_fn_append ac_func_list " iswctype"
-+as_fn_append ac_func_list " mbsrtowcs"
-+as_fn_append ac_func_list " wmemchr"
-+as_fn_append ac_func_list " wmemcpy"
-+as_fn_append ac_func_list " wmempcpy"
-+as_fn_append ac_header_list " wctype.h"
-+as_fn_append ac_header_list " pty.h"
-+as_fn_append ac_header_list " sys/stat.h"
-+as_fn_append ac_func_list " fstatat"
-+as_fn_append ac_header_list " netdb.h"
-+as_fn_append ac_header_list " netinet/in.h"
-+as_fn_append ac_func_list " getdelim"
-+as_fn_append ac_func_list " getdtablesize"
-+as_fn_append ac_func_list " getlogin_r"
- gl_getopt_required=GNU
--gl_header_list="$gl_header_list getopt.h"
--gl_header_list="$gl_header_list stdio_ext.h"
--gl_header_list="$gl_header_list termios.h"
--gl_func_list="$gl_func_list __fsetlocking"
--gl_func_list="$gl_func_list tcgetattr"
--gl_func_list="$gl_func_list tcsetattr"
--gl_header_list="$gl_header_list sys/time.h"
--gl_func_list="$gl_func_list gettimeofday"
--gl_header_list="$gl_header_list grp.h"
--gl_func_list="$gl_func_list getusershell"
--gl_header_list="$gl_header_list sys/cdefs.h"
--gl_func_list="$gl_func_list getpwnam_r"
--gl_header_list="$gl_header_list langinfo.h"
--gl_header_list="$gl_header_list xlocale.h"
--gl_func_list="$gl_func_list lstat"
--gl_func_list="$gl_func_list mbsinit"
--gl_func_list="$gl_func_list mbrtowc"
--gl_header_list="$gl_header_list sys/mman.h"
--gl_func_list="$gl_func_list mprotect"
--gl_func_list="$gl_func_list getgrouplist"
--gl_func_list="$gl_func_list mkstemp"
--gl_func_list="$gl_func_list nl_langinfo"
--gl_func_list="$gl_func_list openat"
--gl_header_list="$gl_header_list poll.h"
--gl_header_list="$gl_header_list sys/ioctl.h"
--gl_header_list="$gl_header_list sys/filio.h"
--gl_func_list="$gl_func_list posix_openpt"
--gl_header_list="$gl_header_list utmp.h"
--gl_header_list="$gl_header_list utmpx.h"
--gl_func_list="$gl_func_list utmpname"
--gl_func_list="$gl_func_list utmpxname"
--gl_header_list="$gl_header_list malloc.h"
--gl_func_list="$gl_func_list secure_getenv"
--gl_header_list="$gl_header_list sys/select.h"
--gl_func_list="$gl_func_list setenv"
--gl_func_list="$gl_func_list sleep"
--gl_func_list="$gl_func_list snprintf"
--gl_header_list="$gl_header_list wchar.h"
--gl_header_list="$gl_header_list stdint.h"
--gl_func_list="$gl_func_list strdup"
--gl_header_list="$gl_header_list strings.h"
--gl_func_list="$gl_func_list strndup"
--gl_header_list="$gl_header_list sys/uio.h"
--gl_header_list="$gl_header_list sysexits.h"
--gl_func_list="$gl_func_list pipe"
--gl_func_list="$gl_func_list vasnprintf"
--gl_func_list="$gl_func_list wcrtomb"
--gl_func_list="$gl_func_list iswcntrl"
--gl_header_list="$gl_header_list stdlib.h"
-+as_fn_append ac_header_list " getopt.h"
-+as_fn_append ac_header_list " sys/cdefs.h"
-+as_fn_append ac_header_list " stdio_ext.h"
-+as_fn_append ac_header_list " termios.h"
-+as_fn_append ac_func_list " __fsetlocking"
-+as_fn_append ac_func_list " tcgetattr"
-+as_fn_append ac_func_list " tcsetattr"
-+as_fn_append ac_func_list " getprogname"
-+as_fn_append ac_func_list " getexecname"
-+as_fn_append ac_header_list " sys/time.h"
-+as_fn_append ac_func_list " gettimeofday"
-+as_fn_append ac_header_list " grp.h"
-+as_fn_append ac_func_list " getusershell"
-+as_fn_append ac_func_list " getpwnam_r"
-+as_fn_append ac_header_list " langinfo.h"
-+as_fn_append ac_header_list " limits.h"
-+as_fn_append ac_header_list " xlocale.h"
-+as_fn_append ac_func_list " lstat"
-+as_fn_append ac_func_list " mbsinit"
-+as_fn_append ac_func_list " mbrtowc"
-+as_fn_append ac_header_list " sys/mman.h"
-+as_fn_append ac_func_list " mprotect"
-+as_fn_append ac_func_list " getgrouplist"
-+as_fn_append ac_func_list " mkstemp"
-+as_fn_append ac_func_list " nl_langinfo"
-+as_fn_append ac_func_list " openat"
-+as_fn_append ac_header_list " poll.h"
-+as_fn_append ac_header_list " sys/ioctl.h"
-+as_fn_append ac_header_list " sys/filio.h"
-+as_fn_append ac_func_list " posix_openpt"
-+as_fn_append ac_header_list " utmp.h"
-+as_fn_append ac_header_list " utmpx.h"
-+as_fn_append ac_func_list " utmpname"
-+as_fn_append ac_func_list " utmpxname"
-+as_fn_append ac_header_list " malloc.h"
-+as_fn_append ac_func_list " secure_getenv"
-+as_fn_append ac_func_list " getuid"
-+as_fn_append ac_func_list " geteuid"
-+as_fn_append ac_func_list " getgid"
-+as_fn_append ac_func_list " getegid"
-+as_fn_append ac_header_list " sys/select.h"
-+as_fn_append ac_func_list " setenv"
-+as_fn_append ac_func_list " sleep"
-+as_fn_append ac_func_list " snprintf"
-+as_fn_append ac_header_list " wchar.h"
-+as_fn_append ac_header_list " stdint.h"
-+as_fn_append ac_func_list " strdup"
-+as_fn_append ac_header_list " strings.h"
-+as_fn_append ac_func_list " strndup"
-+as_fn_append ac_header_list " sys/uio.h"
-+as_fn_append ac_header_list " sysexits.h"
-+as_fn_append ac_func_list " pipe"
-+as_fn_append ac_func_list " vasnprintf"
-+as_fn_append ac_header_list " crtdefs.h"
-+as_fn_append ac_func_list " wcrtomb"
-+as_fn_append ac_func_list " iswcntrl"
-+as_fn_append ac_header_list " stdlib.h"
- # Check that the precious variables saved in the cache have kept the same
- # value.
- ac_cache_corrupted=false
-@@ -4583,7 +4621,7 @@
- fi
-
- if test "$enable_ftpd" = yes; then
-- ftpd_BUILD=ftpd
-+ ftpd_BUILD=ftpd\$\(EXEEXT\)
- ftpd_INSTALL_HOOK="install-ftpd-hook"
- else
- ftpd_BUILD=''
-@@ -4610,7 +4648,7 @@
- fi
-
- if test "$enable_inetd" = yes; then
-- inetd_BUILD=inetd
-+ inetd_BUILD=inetd\$\(EXEEXT\)
- inetd_INSTALL_HOOK="install-inetd-hook"
- else
- inetd_BUILD=''
-@@ -4637,7 +4675,7 @@
- fi
-
- if test "$enable_rexecd" = yes; then
-- rexecd_BUILD=rexecd
-+ rexecd_BUILD=rexecd\$\(EXEEXT\)
- rexecd_INSTALL_HOOK="install-rexecd-hook"
- else
- rexecd_BUILD=''
-@@ -4664,7 +4702,7 @@
- fi
-
- if test "$enable_rlogind" = yes; then
-- rlogind_BUILD=rlogind
-+ rlogind_BUILD=rlogind\$\(EXEEXT\)
- rlogind_INSTALL_HOOK="install-rlogind-hook"
- else
- rlogind_BUILD=''
-@@ -4691,7 +4729,7 @@
- fi
-
- if test "$enable_rshd" = yes; then
-- rshd_BUILD=rshd
-+ rshd_BUILD=rshd\$\(EXEEXT\)
- rshd_INSTALL_HOOK="install-rshd-hook"
- else
- rshd_BUILD=''
-@@ -4718,7 +4756,7 @@
- fi
-
- if test "$enable_syslogd" = yes; then
-- syslogd_BUILD=syslogd
-+ syslogd_BUILD=syslogd\$\(EXEEXT\)
- syslogd_INSTALL_HOOK="install-syslogd-hook"
- else
- syslogd_BUILD=''
-@@ -4745,7 +4783,7 @@
- fi
-
- if test "$enable_talkd" = yes; then
-- talkd_BUILD=talkd
-+ talkd_BUILD=talkd\$\(EXEEXT\)
- talkd_INSTALL_HOOK="install-talkd-hook"
- else
- talkd_BUILD=''
-@@ -4772,7 +4810,7 @@
- fi
-
- if test "$enable_telnetd" = yes; then
-- telnetd_BUILD=telnetd
-+ telnetd_BUILD=telnetd\$\(EXEEXT\)
- telnetd_INSTALL_HOOK="install-telnetd-hook"
- else
- telnetd_BUILD=''
-@@ -4799,7 +4837,7 @@
- fi
-
- if test "$enable_tftpd" = yes; then
-- tftpd_BUILD=tftpd
-+ tftpd_BUILD=tftpd\$\(EXEEXT\)
- tftpd_INSTALL_HOOK="install-tftpd-hook"
- else
- tftpd_BUILD=''
-@@ -4826,7 +4864,7 @@
- fi
-
- if test "$enable_uucpd" = yes; then
-- uucpd_BUILD=uucpd
-+ uucpd_BUILD=uucpd\$\(EXEEXT\)
- uucpd_INSTALL_HOOK="install-uucpd-hook"
- else
- uucpd_BUILD=''
-@@ -4854,7 +4892,7 @@
- fi
-
- if test "$enable_ftp" = yes; then
-- ftp_BUILD=ftp
-+ ftp_BUILD=ftp\$\(EXEEXT\)
- ftp_INSTALL_HOOK="install-ftp-hook"
- else
- ftp_BUILD=''
-@@ -4881,7 +4919,7 @@
- fi
-
- if test "$enable_dnsdomainname" = yes; then
-- dnsdomainname_BUILD=dnsdomainname
-+ dnsdomainname_BUILD=dnsdomainname\$\(EXEEXT\)
- dnsdomainname_INSTALL_HOOK="install-dnsdomainname-hook"
- else
- dnsdomainname_BUILD=''
-@@ -4908,7 +4946,7 @@
- fi
-
- if test "$enable_hostname" = yes; then
-- hostname_BUILD=hostname
-+ hostname_BUILD=hostname\$\(EXEEXT\)
- hostname_INSTALL_HOOK="install-hostname-hook"
- else
- hostname_BUILD=''
-@@ -4935,7 +4973,7 @@
- fi
-
- if test "$enable_ping" = yes; then
-- ping_BUILD=ping
-+ ping_BUILD=ping\$\(EXEEXT\)
- ping_INSTALL_HOOK="install-ping-hook"
- else
- ping_BUILD=''
-@@ -4962,7 +5000,7 @@
- fi
-
- if test "$enable_ping6" = yes; then
-- ping6_BUILD=ping6
-+ ping6_BUILD=ping6\$\(EXEEXT\)
- ping6_INSTALL_HOOK="install-ping6-hook"
- else
- ping6_BUILD=''
-@@ -4989,7 +5027,7 @@
- fi
-
- if test "$enable_rcp" = yes; then
-- rcp_BUILD=rcp
-+ rcp_BUILD=rcp\$\(EXEEXT\)
- rcp_INSTALL_HOOK="install-rcp-hook"
- else
- rcp_BUILD=''
-@@ -5016,7 +5054,7 @@
- fi
-
- if test "$enable_rexec" = yes; then
-- rexec_BUILD=rexec
-+ rexec_BUILD=rexec\$\(EXEEXT\)
- rexec_INSTALL_HOOK="install-rexec-hook"
- else
- rexec_BUILD=''
-@@ -5043,7 +5081,7 @@
- fi
-
- if test "$enable_rlogin" = yes; then
-- rlogin_BUILD=rlogin
-+ rlogin_BUILD=rlogin\$\(EXEEXT\)
- rlogin_INSTALL_HOOK="install-rlogin-hook"
- else
- rlogin_BUILD=''
-@@ -5070,7 +5108,7 @@
- fi
-
- if test "$enable_rsh" = yes; then
-- rsh_BUILD=rsh
-+ rsh_BUILD=rsh\$\(EXEEXT\)
- rsh_INSTALL_HOOK="install-rsh-hook"
- else
- rsh_BUILD=''
-@@ -5097,7 +5135,7 @@
- fi
-
- if test "$enable_logger" = yes; then
-- logger_BUILD=logger
-+ logger_BUILD=logger\$\(EXEEXT\)
- logger_INSTALL_HOOK="install-logger-hook"
- else
- logger_BUILD=''
-@@ -5124,7 +5162,7 @@
- fi
-
- if test "$enable_talk" = yes; then
-- talk_BUILD=talk
-+ talk_BUILD=talk\$\(EXEEXT\)
- talk_INSTALL_HOOK="install-talk-hook"
- else
- talk_BUILD=''
-@@ -5151,7 +5189,7 @@
- fi
-
- if test "$enable_telnet" = yes; then
-- telnet_BUILD=telnet
-+ telnet_BUILD=telnet\$\(EXEEXT\)
- telnet_INSTALL_HOOK="install-telnet-hook"
- else
- telnet_BUILD=''
-@@ -5178,7 +5216,7 @@
- fi
-
- if test "$enable_tftp" = yes; then
-- tftp_BUILD=tftp
-+ tftp_BUILD=tftp\$\(EXEEXT\)
- tftp_INSTALL_HOOK="install-tftp-hook"
- else
- tftp_BUILD=''
-@@ -5205,7 +5243,7 @@
- fi
-
- if test "$enable_whois" = yes; then
-- whois_BUILD=whois
-+ whois_BUILD=whois\$\(EXEEXT\)
- whois_INSTALL_HOOK="install-whois-hook"
- else
- whois_BUILD=''
-@@ -5232,7 +5270,7 @@
- fi
-
- if test "$enable_ifconfig" = yes; then
-- ifconfig_BUILD=ifconfig
-+ ifconfig_BUILD=ifconfig\$\(EXEEXT\)
- ifconfig_INSTALL_HOOK="install-ifconfig-hook"
- else
- ifconfig_BUILD=''
-@@ -5259,7 +5297,7 @@
- fi
-
- if test "$enable_traceroute" = yes; then
-- traceroute_BUILD=traceroute
-+ traceroute_BUILD=traceroute\$\(EXEEXT\)
- traceroute_INSTALL_HOOK="install-traceroute-hook"
- else
- traceroute_BUILD=''
-@@ -7411,245 +7449,6 @@
- EGREP="$ac_cv_path_EGREP"
-
-
--
--
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
--$as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
--if ${gl_cv_c_amsterdam_compiler+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
--
-- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
--
--#ifdef __ACK__
--Amsterdam
--#endif
--
--_ACEOF
--if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-- $EGREP "Amsterdam" >/dev/null 2>&1; then :
-- gl_cv_c_amsterdam_compiler=yes
--else
-- gl_cv_c_amsterdam_compiler=no
--fi
--rm -f conftest*
--
--
--fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
--$as_echo "$gl_cv_c_amsterdam_compiler" >&6; }
-- if test -z "$AR"; then
-- if test $gl_cv_c_amsterdam_compiler = yes; then
-- AR='cc -c.a'
-- if test -z "$ARFLAGS"; then
-- ARFLAGS='-o'
-- fi
-- else
-- if test -n "$ac_tool_prefix"; then
-- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
--set dummy ${ac_tool_prefix}ar; ac_word=$2
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
--$as_echo_n "checking for $ac_word... " >&6; }
--if ${ac_cv_prog_AR+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- if test -n "$AR"; then
-- ac_cv_prog_AR="$AR" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- for ac_exec_ext in '' $ac_executable_extensions; do
-- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_prog_AR="${ac_tool_prefix}ar"
-- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-- break 2
-- fi
--done
-- done
--IFS=$as_save_IFS
--
--fi
--fi
--AR=$ac_cv_prog_AR
--if test -n "$AR"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
--$as_echo "$AR" >&6; }
--else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--fi
--
--
--fi
--if test -z "$ac_cv_prog_AR"; then
-- ac_ct_AR=$AR
-- # Extract the first word of "ar", so it can be a program name with args.
--set dummy ar; ac_word=$2
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
--$as_echo_n "checking for $ac_word... " >&6; }
--if ${ac_cv_prog_ac_ct_AR+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- if test -n "$ac_ct_AR"; then
-- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- for ac_exec_ext in '' $ac_executable_extensions; do
-- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_prog_ac_ct_AR="ar"
-- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-- break 2
-- fi
--done
-- done
--IFS=$as_save_IFS
--
--fi
--fi
--ac_ct_AR=$ac_cv_prog_ac_ct_AR
--if test -n "$ac_ct_AR"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
--$as_echo "$ac_ct_AR" >&6; }
--else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--fi
--
-- if test "x$ac_ct_AR" = x; then
-- AR="ar"
-- else
-- case $cross_compiling:$ac_tool_warned in
--yes:)
--{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
--$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
--ac_tool_warned=yes ;;
--esac
-- AR=$ac_ct_AR
-- fi
--else
-- AR="$ac_cv_prog_AR"
--fi
--
-- if test -z "$ARFLAGS"; then
-- ARFLAGS='cru'
-- fi
-- fi
-- else
-- if test -z "$ARFLAGS"; then
-- ARFLAGS='cru'
-- fi
-- fi
--
--
-- if test -z "$RANLIB"; then
-- if test $gl_cv_c_amsterdam_compiler = yes; then
-- RANLIB=':'
-- else
-- if test -n "$ac_tool_prefix"; then
-- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
--set dummy ${ac_tool_prefix}ranlib; ac_word=$2
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
--$as_echo_n "checking for $ac_word... " >&6; }
--if ${ac_cv_prog_RANLIB+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- if test -n "$RANLIB"; then
-- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- for ac_exec_ext in '' $ac_executable_extensions; do
-- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-- break 2
-- fi
--done
-- done
--IFS=$as_save_IFS
--
--fi
--fi
--RANLIB=$ac_cv_prog_RANLIB
--if test -n "$RANLIB"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
--$as_echo "$RANLIB" >&6; }
--else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--fi
--
--
--fi
--if test -z "$ac_cv_prog_RANLIB"; then
-- ac_ct_RANLIB=$RANLIB
-- # Extract the first word of "ranlib", so it can be a program name with args.
--set dummy ranlib; ac_word=$2
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
--$as_echo_n "checking for $ac_word... " >&6; }
--if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- if test -n "$ac_ct_RANLIB"; then
-- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- for ac_exec_ext in '' $ac_executable_extensions; do
-- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_prog_ac_ct_RANLIB="ranlib"
-- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-- break 2
-- fi
--done
-- done
--IFS=$as_save_IFS
--
--fi
--fi
--ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
--if test -n "$ac_ct_RANLIB"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
--$as_echo "$ac_ct_RANLIB" >&6; }
--else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--fi
--
-- if test "x$ac_ct_RANLIB" = x; then
-- RANLIB=":"
-- else
-- case $cross_compiling:$ac_tool_warned in
--yes:)
--{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
--$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
--ac_tool_warned=yes ;;
--esac
-- RANLIB=$ac_ct_RANLIB
-- fi
--else
-- RANLIB="$ac_cv_prog_RANLIB"
--fi
--
-- fi
-- fi
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
- $as_echo_n "checking for ANSI C header files... " >&6; }
- if ${ac_cv_header_stdc+:} false; then :
-@@ -7840,10 +7639,22 @@
-
- $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
-
-- $as_echo "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h
--
- $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
-+ $as_echo "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h
-+
-+ $as_echo "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h
-+
-+ $as_echo "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h
-+
-+ $as_echo "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h
-+
-+ $as_echo "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h
-+
-+ $as_echo "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h
-+
-+ $as_echo "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h
-+
- $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
-@@ -7901,6 +7712,416 @@
-
-
-
-+
-+
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
-+$as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
-+if ${gl_cv_c_amsterdam_compiler+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+#ifdef __ACK__
-+Amsterdam
-+#endif
-+
-+_ACEOF
-+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-+ $EGREP "Amsterdam" >/dev/null 2>&1; then :
-+ gl_cv_c_amsterdam_compiler=yes
-+else
-+ gl_cv_c_amsterdam_compiler=no
-+fi
-+rm -f conftest*
-+
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
-+$as_echo "$gl_cv_c_amsterdam_compiler" >&6; }
-+
-+ if test $gl_cv_c_amsterdam_compiler = yes; then
-+ if test -z "$AR"; then
-+ AR='cc -c.a'
-+ fi
-+ if test -z "$ARFLAGS"; then
-+ ARFLAGS='-o'
-+ fi
-+ else
-+ if test -n "$ac_tool_prefix"; then
-+ for ac_prog in ar lib "link -lib"
-+ do
-+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_AR+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$AR"; then
-+ ac_cv_prog_AR="$AR" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+AR=$ac_cv_prog_AR
-+if test -n "$AR"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-+$as_echo "$AR" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+ test -n "$AR" && break
-+ done
-+fi
-+if test -z "$AR"; then
-+ ac_ct_AR=$AR
-+ for ac_prog in ar lib "link -lib"
-+do
-+ # Extract the first word of "$ac_prog", so it can be a program name with args.
-+set dummy $ac_prog; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_ac_ct_AR+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$ac_ct_AR"; then
-+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_ac_ct_AR="$ac_prog"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+ac_ct_AR=$ac_cv_prog_ac_ct_AR
-+if test -n "$ac_ct_AR"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-+$as_echo "$ac_ct_AR" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+ test -n "$ac_ct_AR" && break
-+done
-+
-+ if test "x$ac_ct_AR" = x; then
-+ AR="false"
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ AR=$ac_ct_AR
-+ fi
-+fi
-+
-+: ${AR=ar}
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5
-+$as_echo_n "checking the archiver ($AR) interface... " >&6; }
-+if ${am_cv_ar_interface+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+ am_cv_ar_interface=ar
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+int some_variable = 0;
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5'
-+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
-+ (eval $am_ar_try) 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }
-+ if test "$ac_status" -eq 0; then
-+ am_cv_ar_interface=ar
-+ else
-+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5'
-+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
-+ (eval $am_ar_try) 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }
-+ if test "$ac_status" -eq 0; then
-+ am_cv_ar_interface=lib
-+ else
-+ am_cv_ar_interface=unknown
-+ fi
-+ fi
-+ rm -f conftest.lib libconftest.a
-+
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+ ac_ext=c
-+ac_cpp='$CPP $CPPFLAGS'
-+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
-+$as_echo "$am_cv_ar_interface" >&6; }
-+
-+case $am_cv_ar_interface in
-+ar)
-+ ;;
-+lib)
-+ # Microsoft lib, so override with the ar-lib wrapper script.
-+ # FIXME: It is wrong to rewrite AR.
-+ # But if we don't then we get into trouble of one sort or another.
-+ # A longer-term fix would be to have automake use am__AR in this case,
-+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
-+ # similar.
-+ AR="$am_aux_dir/ar-lib $AR"
-+ ;;
-+unknown)
-+ as_fn_error $? "could not determine $AR interface" "$LINENO" 5
-+ ;;
-+esac
-+
-+ fi
-+
-+ if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}ar; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_AR+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$AR"; then
-+ ac_cv_prog_AR="$AR" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_AR="${ac_tool_prefix}ar"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+AR=$ac_cv_prog_AR
-+if test -n "$AR"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-+$as_echo "$AR" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$ac_cv_prog_AR"; then
-+ ac_ct_AR=$AR
-+ # Extract the first word of "ar", so it can be a program name with args.
-+set dummy ar; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_ac_ct_AR+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$ac_ct_AR"; then
-+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_ac_ct_AR="ar"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+ac_ct_AR=$ac_cv_prog_ac_ct_AR
-+if test -n "$ac_ct_AR"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-+$as_echo "$ac_ct_AR" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+ if test "x$ac_ct_AR" = x; then
-+ AR="ar"
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ AR=$ac_ct_AR
-+ fi
-+else
-+ AR="$ac_cv_prog_AR"
-+fi
-+
-+ if test -z "$ARFLAGS"; then
-+ ARFLAGS='cr'
-+ fi
-+
-+
-+
-+ if test -z "$RANLIB"; then
-+ if test $gl_cv_c_amsterdam_compiler = yes; then
-+ RANLIB=':'
-+ else
-+ if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_RANLIB+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$RANLIB"; then
-+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+RANLIB=$ac_cv_prog_RANLIB
-+if test -n "$RANLIB"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-+$as_echo "$RANLIB" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$ac_cv_prog_RANLIB"; then
-+ ac_ct_RANLIB=$RANLIB
-+ # Extract the first word of "ranlib", so it can be a program name with args.
-+set dummy ranlib; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$ac_ct_RANLIB"; then
-+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_ac_ct_RANLIB="ranlib"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-+if test -n "$ac_ct_RANLIB"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-+$as_echo "$ac_ct_RANLIB" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+ if test "x$ac_ct_RANLIB" = x; then
-+ RANLIB=":"
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ RANLIB=$ac_ct_RANLIB
-+ fi
-+else
-+ RANLIB="$ac_cv_prog_RANLIB"
-+fi
-+
-+ fi
-+ fi
-+
-+
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
- $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
- if ${ac_cv_sys_largefile_source+:} false; then :
-@@ -8513,12 +8734,15 @@
-
-
-
-+ # Pre-early section.
-+
-+
-+
-
- # Code from module absolute-header:
- # Code from module alignof:
- # Code from module alloca:
- # Code from module alloca-opt:
-- # Code from module announce-gen:
- # Code from module argp:
- # Code from module argp-version-etc:
- # Code from module arpa_inet:
-@@ -8559,6 +8783,7 @@
- fi
-
- # Code from module btowc:
-+ # Code from module builtin-expect:
- # Code from module chdir:
- # Code from module chdir-long:
- # Code from module cloexec:
-@@ -8579,7 +8804,6 @@
- # Code from module error:
- # Code from module exitfail:
- # Code from module extensions:
--
- # Code from module extern-inline:
- # Code from module fchdir:
- # Code from module fcntl:
-@@ -8590,6 +8814,7 @@
- # Code from module filemode:
- # Code from module filename:
- # Code from module filenamecat-lgpl:
-+ # Code from module flexmember:
- # Code from module float:
- # Code from module fnmatch:
- # Code from module fopen:
-@@ -8617,6 +8842,7 @@
- # Code from module getopt-gnu:
- # Code from module getopt-posix:
- # Code from module getpass:
-+ # Code from module getprogname:
- # Code from module gettext:
- # Code from module gettext-h:
- # Code from module gettimeofday:
-@@ -8626,6 +8852,7 @@
- # Code from module glob:
- # Code from module gnumakefile:
- # Code from module gnupload:
-+ # Code from module hard-locale:
- # Code from module havelib:
- # Code from module hostent:
- # Code from module include_next:
-@@ -8636,9 +8863,11 @@
- # Code from module langinfo:
- # Code from module largefile:
-
-+ # Code from module limits-h:
- # Code from module localcharset:
- # Code from module locale:
- # Code from module localeconv:
-+ # Code from module localtime-buffer:
- # Code from module lock:
- # Code from module login_tty:
- # Code from module lseek:
-@@ -9886,8 +10115,7 @@
- ;;
- esac
-
--
-- ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "clearerr_unlocked" "ac_cv_have_decl_clearerr_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_clearerr_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -9898,9 +10126,7 @@
- #define HAVE_DECL_CLEARERR_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "feof_unlocked" "ac_cv_have_decl_feof_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_feof_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -9911,9 +10137,7 @@
- #define HAVE_DECL_FEOF_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "ferror_unlocked" "ac_cv_have_decl_ferror_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_ferror_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -9924,9 +10148,7 @@
- #define HAVE_DECL_FERROR_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "fflush_unlocked" "ac_cv_have_decl_fflush_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_fflush_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -9937,9 +10159,7 @@
- #define HAVE_DECL_FFLUSH_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "fgets_unlocked" "ac_cv_have_decl_fgets_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_fgets_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -9950,9 +10170,7 @@
- #define HAVE_DECL_FGETS_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_fputc_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -9963,9 +10181,7 @@
- #define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_fputs_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -9976,9 +10192,7 @@
- #define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_fread_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -9989,9 +10203,7 @@
- #define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -10002,9 +10214,7 @@
- #define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "getc_unlocked" "ac_cv_have_decl_getc_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_getc_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -10015,9 +10225,7 @@
- #define HAVE_DECL_GETC_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "getchar_unlocked" "ac_cv_have_decl_getchar_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_getchar_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -10028,9 +10236,7 @@
- #define HAVE_DECL_GETCHAR_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "putc_unlocked" "ac_cv_have_decl_putc_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_putc_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -10041,9 +10247,7 @@
- #define HAVE_DECL_PUTC_UNLOCKED $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "putchar_unlocked" "ac_cv_have_decl_putchar_unlocked" "$ac_includes_default"
- if test "x$ac_cv_have_decl_putchar_unlocked" = xyes; then :
- ac_have_decl=1
- else
-@@ -10057,9 +10261,7 @@
-
-
-
--
--
-- for ac_func in $gl_func_list
-+ for ac_func in $ac_func_list
- do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
- ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-@@ -10078,33 +10280,115 @@
-
-
-
-+ for ac_header in $ac_header_list
-+do :
-+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-+"
-+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-+ cat >>confdefs.h <<_ACEOF
-+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-
-+fi
-
-+done
-
-
-
-
-- for ac_header in $gl_header_list
-+
-+ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default"
-+if test "x$ac_cv_have_decl_strerror_r" = xyes; then :
-+ ac_have_decl=1
-+else
-+ ac_have_decl=0
-+fi
-+
-+cat >>confdefs.h <<_ACEOF
-+#define HAVE_DECL_STRERROR_R $ac_have_decl
-+_ACEOF
-+
-+for ac_func in strerror_r
- do :
-- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
--ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
--if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-+ ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r"
-+if test "x$ac_cv_func_strerror_r" = xyes; then :
- cat >>confdefs.h <<_ACEOF
--#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+#define HAVE_STRERROR_R 1
- _ACEOF
-
- fi
--
- done
-
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5
-+$as_echo_n "checking whether strerror_r returns char *... " >&6; }
-+if ${ac_cv_func_strerror_r_char_p+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-
-+ ac_cv_func_strerror_r_char_p=no
-+ if test $ac_cv_have_decl_strerror_r = yes; then
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$ac_includes_default
-+int
-+main ()
-+{
-
-+ char buf[100];
-+ char x = *strerror_r (0, buf, sizeof buf);
-+ char *p = strerror_r (0, buf, sizeof buf);
-+ return !p || x;
-
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ ac_cv_func_strerror_r_char_p=yes
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+ else
-+ # strerror_r is not declared. Choose between
-+ # systems that have relatively inaccessible declarations for the
-+ # function. BeOS and DEC UNIX 4.0 fall in this category, but the
-+ # former has a strerror_r that returns char*, while the latter
-+ # has a strerror_r that returns `int'.
-+ # This test should segfault on the DEC system.
-+ if test "$cross_compiling" = yes; then :
-+ :
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+$ac_includes_default
-+ extern char *strerror_r ();
-+int
-+main ()
-+{
-+char buf[100];
-+ char x = *strerror_r (0, buf, sizeof buf);
-+ return ! isalpha (x);
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_run "$LINENO"; then :
-+ ac_cv_func_strerror_r_char_p=yes
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-+ conftest.$ac_objext conftest.beam conftest.$ac_ext
-+fi
-
-+ fi
-
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5
-+$as_echo "$ac_cv_func_strerror_r_char_p" >&6; }
-+if test $ac_cv_func_strerror_r_char_p = yes; then
-
-+$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h
-
--
-+fi
-
-
- XGETTEXT_EXTRA_OPTIONS=
-@@ -10121,9 +10405,6 @@
-
-
-
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5
- $as_echo_n "checking whether the preprocessor supports include_next... " >&6; }
- if ${gl_cv_have_include_next+:} false; then :
-@@ -10238,12 +10519,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_header_features_h = yes; then
- HAVE_FEATURES_H=1
- else
-@@ -10291,6 +10566,7 @@
- GNULIB_WCSSTR=0;
- GNULIB_WCSTOK=0;
- GNULIB_WCSWIDTH=0;
-+ GNULIB_WCSFTIME=0;
- HAVE_BTOWC=1;
- HAVE_MBSINIT=1;
- HAVE_MBRTOWC=1;
-@@ -10328,6 +10604,7 @@
- HAVE_WCSSTR=1;
- HAVE_WCSTOK=1;
- HAVE_WCSWIDTH=1;
-+ HAVE_WCSFTIME=1;
- HAVE_DECL_WCTOB=1;
- HAVE_DECL_WCWIDTH=1;
- REPLACE_MBSTATE_T=0;
-@@ -10343,6 +10620,7 @@
- REPLACE_WCSNRTOMBS=0;
- REPLACE_WCWIDTH=0;
- REPLACE_WCSWIDTH=0;
-+ REPLACE_WCSFTIME=0;
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether uses 'inline' correctly" >&5
-@@ -10367,12 +10645,13 @@
- int main () { return zero(); }
-
- _ACEOF
-+ save_ac_compile="$ac_compile"
-+ ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest1/`
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- mv conftest.$ac_objext conftest1.$ac_objext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
-@@ -10388,12 +10667,12 @@
- int zero (void) { return 0; }
-
- _ACEOF
-+ ac_compile=`echo "$save_ac_compile" | sed s/conftest/conftest2/`
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- mv conftest.$ac_objext conftest2.$ac_objext
- if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then
- :
- else
-@@ -10401,6 +10680,7 @@
- fi
- fi
- fi
-+ ac_compile="$save_ac_compile"
- rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
-
- fi
-@@ -10421,9 +10701,6 @@
-
-
-
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
- $as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
- if ${am_cv_langinfo_codeset+:} false; then :
-@@ -10634,6 +10911,7 @@
- GNULIB_SLEEP=0;
- GNULIB_SYMLINK=0;
- GNULIB_SYMLINKAT=0;
-+ GNULIB_TRUNCATE=0;
- GNULIB_TTYNAME_R=0;
- GNULIB_UNISTD_H_NONBLOCKING=0;
- GNULIB_UNISTD_H_SIGPIPE=0;
-@@ -10670,12 +10948,14 @@
- HAVE_SLEEP=1;
- HAVE_SYMLINK=1;
- HAVE_SYMLINKAT=1;
-+ HAVE_TRUNCATE=1;
- HAVE_UNLINKAT=1;
- HAVE_USLEEP=1;
- HAVE_DECL_ENVIRON=1;
- HAVE_DECL_FCHDIR=1;
- HAVE_DECL_FDATASYNC=1;
- HAVE_DECL_GETDOMAINNAME=1;
-+ HAVE_DECL_GETLOGIN=1;
- HAVE_DECL_GETLOGIN_R=1;
- HAVE_DECL_GETPAGESIZE=1;
- HAVE_DECL_GETUSERSHELL=1;
-@@ -10709,6 +10989,7 @@
- REPLACE_SLEEP=0;
- REPLACE_SYMLINK=0;
- REPLACE_SYMLINKAT=0;
-+ REPLACE_TRUNCATE=0;
- REPLACE_TTYNAME_R=0;
- REPLACE_UNLINK=0;
- REPLACE_UNLINKAT=0;
-@@ -10729,30 +11010,6 @@
-
-
-
--
-- :
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-- :
--
--
--
--
--
- if test $ac_cv_func__set_invalid_parameter_handler = yes; then
- HAVE_MSVC_INVALID_PARAMETER_HANDLER=1
-
-@@ -10775,12 +11032,6 @@
-
-
-
--
--
--
--
--
--
- GNULIB_OPENDIR=0;
- GNULIB_READDIR=0;
- GNULIB_REWINDDIR=0;
-@@ -10807,9 +11058,6 @@
-
-
-
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether // is distinct from /" >&5
- $as_echo_n "checking whether // is distinct from /... " >&6; }
- if ${gl_cv_double_slash_root+:} false; then :
-@@ -10852,12 +11100,6 @@
-
-
-
-- :
--
--
--
--
--
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5
-@@ -11280,103 +11522,10 @@
- fi
-
-
--ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default"
--if test "x$ac_cv_have_decl_strerror_r" = xyes; then :
-- ac_have_decl=1
--else
-- ac_have_decl=0
--fi
-
--cat >>confdefs.h <<_ACEOF
--#define HAVE_DECL_STRERROR_R $ac_have_decl
--_ACEOF
-
--for ac_func in strerror_r
--do :
-- ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r"
--if test "x$ac_cv_func_strerror_r" = xyes; then :
-- cat >>confdefs.h <<_ACEOF
--#define HAVE_STRERROR_R 1
--_ACEOF
-
--fi
--done
--
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5
--$as_echo_n "checking whether strerror_r returns char *... " >&6; }
--if ${ac_cv_func_strerror_r_char_p+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
--
-- ac_cv_func_strerror_r_char_p=no
-- if test $ac_cv_have_decl_strerror_r = yes; then
-- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
--$ac_includes_default
--int
--main ()
--{
--
-- char buf[100];
-- char x = *strerror_r (0, buf, sizeof buf);
-- char *p = strerror_r (0, buf, sizeof buf);
-- return !p || x;
--
-- ;
-- return 0;
--}
--_ACEOF
--if ac_fn_c_try_compile "$LINENO"; then :
-- ac_cv_func_strerror_r_char_p=yes
--fi
--rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-- else
-- # strerror_r is not declared. Choose between
-- # systems that have relatively inaccessible declarations for the
-- # function. BeOS and DEC UNIX 4.0 fall in this category, but the
-- # former has a strerror_r that returns char*, while the latter
-- # has a strerror_r that returns `int'.
-- # This test should segfault on the DEC system.
-- if test "$cross_compiling" = yes; then :
-- :
--else
-- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
--$ac_includes_default
-- extern char *strerror_r ();
--int
--main ()
--{
--char buf[100];
-- char x = *strerror_r (0, buf, sizeof buf);
-- return ! isalpha (x);
-- ;
-- return 0;
--}
--_ACEOF
--if ac_fn_c_try_run "$LINENO"; then :
-- ac_cv_func_strerror_r_char_p=yes
--fi
--rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-- conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
--
-- fi
--
--fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5
--$as_echo "$ac_cv_func_strerror_r_char_p" >&6; }
--if test $ac_cv_func_strerror_r_char_p = yes; then
--
--$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h
--
--fi
--
--
--
--
--
-- ac_fn_c_check_decl "$LINENO" "fchdir" "ac_cv_have_decl_fchdir" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "fchdir" "ac_cv_have_decl_fchdir" "$ac_includes_default"
- if test "x$ac_cv_have_decl_fchdir" = xyes; then :
- ac_have_decl=1
- else
-@@ -11388,7 +11537,6 @@
- _ACEOF
-
-
--
- GNULIB_FCNTL=0;
- GNULIB_NONBLOCKING=0;
- GNULIB_OPEN=0;
-@@ -11408,24 +11556,6 @@
-
-
-
--
--
--
--
--
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5
- $as_echo_n "checking for working fcntl.h... " >&6; }
- if ${gl_cv_header_working_fcntl_h+:} false; then :
-@@ -11591,9 +11721,6 @@
-
-
-
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for st_dm_mode in struct stat" >&5
- $as_echo_n "checking for st_dm_mode in struct stat... " >&6; }
- if ${ac_cv_struct_st_dm_mode+:} false; then :
-@@ -11629,8 +11756,7 @@
- fi
-
-
--
-- ac_fn_c_check_decl "$LINENO" "strmode" "ac_cv_have_decl_strmode" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "strmode" "ac_cv_have_decl_strmode" "$ac_includes_default"
- if test "x$ac_cv_have_decl_strmode" = xyes; then :
- ac_have_decl=1
- else
-@@ -11645,10 +11771,6 @@
-
-
-
--
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5
- $as_echo_n "checking for mbstate_t... " >&6; }
- if ${ac_cv_type_mbstate_t+:} false; then :
-@@ -11707,27 +11829,6 @@
-
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
- GNULIB_DPRINTF=0;
- GNULIB_FCLOSE=0;
- GNULIB_FDOPEN=0;
-@@ -11910,17 +12011,8 @@
-
-
-
--
--
--
- # Make sure that pty.h provides forkpty, or setup the replacement.
-
-- :
--
--
--
--
--
- if test $ac_cv_header_pty_h != yes; then
- HAVE_PTY_H=0
- for ac_header in util.h libutil.h
-@@ -11952,12 +12044,6 @@
-
-
-
-- :
--
--
--
--
--
-
-
-
-@@ -12158,7 +12244,40 @@
- else
- WINDOWS_64_BIT_OFF_T=0
- fi
-- WINDOWS_64_BIT_ST_SIZE=1
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit st_size" >&5
-+$as_echo_n "checking for 64-bit st_size... " >&6; }
-+if ${gl_cv_member_st_size_64+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include
-+ struct stat buf;
-+ int verify_st_size_size[sizeof (buf.st_size) >= 8 ? 1 : -1];
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ gl_cv_member_st_size_64=yes
-+else
-+ gl_cv_member_st_size_64=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_member_st_size_64" >&5
-+$as_echo "$gl_cv_member_st_size_64" >&6; }
-+ if test $gl_cv_member_st_size_64 = no; then
-+ WINDOWS_64_BIT_ST_SIZE=1
-+ else
-+ WINDOWS_64_BIT_ST_SIZE=0
-+ fi
- ;;
- *)
- WINDOWS_64_BIT_OFF_T=0
-@@ -12253,7 +12372,11 @@
-
-
-
-- ac_fn_c_check_decl "$LINENO" "fseeko" "ac_cv_have_decl_fseeko" "$ac_includes_default"
-+ WINDOWS_STAT_INODES=0
-+
-+
-+
-+ac_fn_c_check_decl "$LINENO" "fseeko" "ac_cv_have_decl_fseeko" "$ac_includes_default"
- if test "x$ac_cv_have_decl_fseeko" = xyes; then :
- ac_have_decl=1
- else
-@@ -12272,7 +12395,6 @@
-
-
-
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fseeko" >&5
- $as_echo_n "checking for fseeko... " >&6; }
- if ${gl_cv_func_fseeko+:} false; then :
-@@ -12304,12 +12426,6 @@
- $as_echo "$gl_cv_func_fseeko" >&6; }
-
-
-- :
--
--
--
--
--
- if test $ac_cv_have_decl_fseeko = no; then
- HAVE_DECL_FSEEKO=0
- fi
-@@ -12340,6 +12456,7 @@
- GNULIB_MKNODAT=0;
- GNULIB_STAT=0;
- GNULIB_UTIMENSAT=0;
-+ GNULIB_OVERRIDES_STRUCT_STAT=0;
- HAVE_FCHMODAT=1;
- HAVE_FSTATAT=1;
- HAVE_FUTIMENS=1;
-@@ -12419,15 +12536,6 @@
-
-
-
-- :
--
--
--
--
--
--
--
--
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_sys_stat_h='<'sys/stat.h'>'
- else
-@@ -12501,14 +12609,14 @@
-
-
-
-+ WINDOWS_STAT_TIMESPEC=0
-+
-+
-
-
-
-- if test $WINDOWS_64_BIT_ST_SIZE = 1; then
-
--$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h
-
-- fi
-
- ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include
- #include
-@@ -12626,11 +12734,7 @@
-
-
-
--
--
--
--
-- ac_fn_c_check_decl "$LINENO" "ftello" "ac_cv_have_decl_ftello" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "ftello" "ac_cv_have_decl_ftello" "$ac_includes_default"
- if test "x$ac_cv_have_decl_ftello" = xyes; then :
- ac_have_decl=1
- else
-@@ -12650,13 +12754,6 @@
-
-
-
--
-- :
--
--
--
--
--
- if test $ac_cv_have_decl_ftello = no; then
- HAVE_DECL_FTELLO=0
- fi
-@@ -12824,12 +12921,6 @@
- HAVE_ACCEPT4=1;
-
-
-- :
--
--
--
--
--
- if test $ac_cv_header_sys_socket_h = no; then
- for ac_header in ws2tcpip.h
- do :
-@@ -12938,12 +13029,6 @@
-
-
-
-- :
--
--
--
--
--
-
-
-
-@@ -13109,12 +13194,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_header_sys_socket_h != yes; then
- for ac_header in winsock2.h
- do :
-@@ -13205,15 +13284,6 @@
-
-
-
-- :
--
--
--
--
--
--
--
--
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_netdb_h='<'netdb.h'>'
- else
-@@ -13577,12 +13647,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_header_sys_socket_h != yes; then
- for ac_header in winsock2.h
- do :
-@@ -13708,12 +13772,6 @@
- fi
-
-
-- :
--
--
--
--
--
- ac_fn_c_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "#include
- #if HAVE_NETDB_H
- # include
-@@ -13742,15 +13800,6 @@
-
-
-
--
--
-- :
--
--
--
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IPv4 sockets" >&5
- $as_echo_n "checking for IPv4 sockets... " >&6; }
- if ${gl_cv_socket_ipv4+:} false; then :
-@@ -13840,12 +13889,6 @@
-
-
-
-- :
--
--
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5
- $as_echo_n "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; }
- if ${gl_cv_func_getcwd_null+:} false; then :
-@@ -13865,6 +13908,7 @@
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
-+# include
- # if HAVE_UNISTD_H
- # include
- # else /* on Windows with MSVC */
-@@ -13893,6 +13937,7 @@
- return 3;
- if (f[1] != '\0')
- return 4;
-+ free (f);
- return 0;
- }
- #endif
-@@ -13948,8 +13993,7 @@
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_posix_signature" >&5
- $as_echo "$gl_cv_func_getcwd_posix_signature" >&6; }
-
--
-- ac_fn_c_check_decl "$LINENO" "getcwd" "ac_cv_have_decl_getcwd" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "getcwd" "ac_cv_have_decl_getcwd" "$ac_includes_default"
- if test "x$ac_cv_have_decl_getcwd" = xyes; then :
- ac_have_decl=1
- else
-@@ -13960,9 +14004,7 @@
- #define HAVE_DECL_GETCWD $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "getdelim" "ac_cv_have_decl_getdelim" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "getdelim" "ac_cv_have_decl_getdelim" "$ac_includes_default"
- if test "x$ac_cv_have_decl_getdelim" = xyes; then :
- ac_have_decl=1
- else
-@@ -13977,15 +14019,7 @@
-
-
-
--
--
--
--
--
--
--
--
-- ac_fn_c_check_decl "$LINENO" "getdtablesize" "ac_cv_have_decl_getdtablesize" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "getdtablesize" "ac_cv_have_decl_getdtablesize" "$ac_includes_default"
- if test "x$ac_cv_have_decl_getdtablesize" = xyes; then :
- ac_have_decl=1
- else
-@@ -13996,7 +14030,6 @@
- #define HAVE_DECL_GETDTABLESIZE $ac_have_decl
- _ACEOF
-
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
- $as_echo_n "checking for uid_t in sys/types.h... " >&6; }
- if ${ac_cv_type_uid_t+:} false; then :
-@@ -14094,8 +14127,7 @@
- _ACEOF
-
-
--
-- ac_fn_c_check_decl "$LINENO" "getline" "ac_cv_have_decl_getline" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "getline" "ac_cv_have_decl_getline" "$ac_includes_default"
- if test "x$ac_cv_have_decl_getline" = xyes; then :
- ac_have_decl=1
- else
-@@ -14106,9 +14138,7 @@
- #define HAVE_DECL_GETLINE $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "getlogin_r" "ac_cv_have_decl_getlogin_r" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "getlogin_r" "ac_cv_have_decl_getlogin_r" "$ac_includes_default"
- if test "x$ac_cv_have_decl_getlogin_r" = xyes; then :
- ac_have_decl=1
- else
-@@ -14121,12 +14151,7 @@
-
-
-
--
--
--
--
--
-- ac_fn_c_check_decl "$LINENO" "getlogin" "ac_cv_have_decl_getlogin" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "getlogin" "ac_cv_have_decl_getlogin" "$ac_includes_default"
- if test "x$ac_cv_have_decl_getlogin" = xyes; then :
- ac_have_decl=1
- else
-@@ -14139,6 +14164,12 @@
-
-
-
-+ case $host_os in
-+ mingw*)
-+ LIB_GETLOGIN='-ladvapi32' ;;
-+ *)
-+ LIB_GETLOGIN= ;;
-+ esac
-
-
-
-@@ -14153,12 +14184,6 @@
-
-
-
-- :
--
--
--
--
--
-
-
-
-@@ -14566,11 +14591,12 @@
- #else
- /* Avoid a crash on POSIX systems. */
- #include
-+#include
- /* A POSIX signal handler. */
- static void
- exception_handler (int sig)
- {
-- exit (1);
-+ _exit (1);
- }
- static void
- nocrash_init (void)
-@@ -14752,36 +14778,7 @@
-
-
-
--
--
--
-- REPLACE_GETOPT=1
--
-- if test $REPLACE_GETOPT = 1; then
--
-- GETOPT_H=getopt.h
--
--$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
--
--
--
-- fi
--
--
-- ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default"
--if test "x$ac_cv_have_decl_getenv" = xyes; then :
-- ac_have_decl=1
--else
-- ac_have_decl=0
--fi
--
--cat >>confdefs.h <<_ACEOF
--#define HAVE_DECL_GETENV $ac_have_decl
--_ACEOF
--
--
--
-- ac_fn_c_check_decl "$LINENO" "getpass" "ac_cv_have_decl_getpass" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "getpass" "ac_cv_have_decl_getpass" "$ac_includes_default"
- if test "x$ac_cv_have_decl_getpass" = xyes; then :
- ac_have_decl=1
- else
-@@ -14802,24 +14799,7 @@
-
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-- ac_fn_c_check_decl "$LINENO" "flockfile" "ac_cv_have_decl_flockfile" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "flockfile" "ac_cv_have_decl_flockfile" "$ac_includes_default"
- if test "x$ac_cv_have_decl_flockfile" = xyes; then :
- ac_have_decl=1
- else
-@@ -14830,9 +14810,7 @@
- #define HAVE_DECL_FLOCKFILE $ac_have_decl
- _ACEOF
-
--
--
-- ac_fn_c_check_decl "$LINENO" "funlockfile" "ac_cv_have_decl_funlockfile" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "funlockfile" "ac_cv_have_decl_funlockfile" "$ac_includes_default"
- if test "x$ac_cv_have_decl_funlockfile" = xyes; then :
- ac_have_decl=1
- else
-@@ -14845,6 +14823,9 @@
-
-
-
-+
-+
-+
- GNULIB_GETTIMEOFDAY=0;
- HAVE_GETTIMEOFDAY=1;
- HAVE_STRUCT_TIMEVAL=1;
-@@ -14861,21 +14842,6 @@
-
-
-
-- :
--
--
--
--
--
--
--
--
--
--
--
-- :
--
--
-
-
-
-@@ -14960,12 +14926,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_header_sys_socket_h != yes; then
- for ac_header in winsock2.h
- do :
-@@ -15118,9 +15078,36 @@
-
-
-
-+ NEED_LOCALTIME_BUFFER=0
-
-
-+ GNULIB_CTIME=0;
-+ GNULIB_MKTIME=0;
-+ GNULIB_LOCALTIME=0;
-+ GNULIB_NANOSLEEP=0;
-+ GNULIB_STRFTIME=0;
-+ GNULIB_STRPTIME=0;
-+ GNULIB_TIMEGM=0;
-+ GNULIB_TIME_R=0;
-+ GNULIB_TIME_RZ=0;
-+ GNULIB_TZSET=0;
-+ HAVE_DECL_LOCALTIME_R=1;
-+ HAVE_NANOSLEEP=1;
-+ HAVE_STRPTIME=1;
-+ HAVE_TIMEGM=1;
-+ HAVE_TZSET=1;
-+ HAVE_TIMEZONE_T=0;
-+ REPLACE_CTIME=GNULIB_PORTCHECK;
-+ REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
-+ REPLACE_MKTIME=GNULIB_PORTCHECK;
-+ REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
-+ REPLACE_STRFTIME=GNULIB_PORTCHECK;
-+ REPLACE_TIMEGM=GNULIB_PORTCHECK;
-+ REPLACE_TZSET=GNULIB_PORTCHECK;
-
-+ : ${GNULIB_GETTIMEOFDAY=0};
-+ REPLACE_GMTIME=0;
-+ REPLACE_LOCALTIME=0;
-
-
-
-@@ -15128,10 +15115,21 @@
-
-
-
-+ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-+if test "x$ac_cv_type_off_t" = xyes; then :
-
-+else
-
-+cat >>confdefs.h <<_ACEOF
-+#define off_t long int
-+_ACEOF
-+
-+fi
-
-
-+ GNULIB_NL_LANGINFO=0;
-+ HAVE_NL_LANGINFO=1;
-+ REPLACE_NL_LANGINFO=0;
-
-
-
-@@ -15140,25 +15138,125 @@
-
-
-
--ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
--if test "x$ac_cv_type_off_t" = xyes; then :
-
-+
-+
-+
-+
-+
-+
-+ if test $gl_cv_have_include_next = yes; then
-+ gl_cv_next_limits_h='<'limits.h'>'
-+ else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5
-+$as_echo_n "checking absolute name of ... " >&6; }
-+if ${gl_cv_next_limits_h+:} false; then :
-+ $as_echo_n "(cached) " >&6
- else
-
--cat >>confdefs.h <<_ACEOF
--#define off_t long int
-+ if test $ac_cv_header_limits_h = yes; then
-+
-+
-+
-+
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include
- _ACEOF
-+ case "$host_os" in
-+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
-+ *) gl_absname_cpp="$ac_cpp" ;;
-+ esac
-+
-+ case "$host_os" in
-+ mingw*)
-+ gl_dirsep_regex='[/\\]'
-+ ;;
-+ *)
-+ gl_dirsep_regex='\/'
-+ ;;
-+ esac
-+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
-+ gl_header_literal_regex=`echo 'limits.h' \
-+ | sed -e "$gl_make_literal_regex_sed"`
-+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
-+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
-+ s|^/[^/]|//&|
-+ p
-+ q
-+ }'
-+
-+ gl_cv_absolute_limits_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
-+ sed -n "$gl_absolute_header_sed"`
-+
-+ gl_header=$gl_cv_absolute_limits_h
-+ gl_cv_next_limits_h='"'$gl_header'"'
-+ else
-+ gl_cv_next_limits_h='<'limits.h'>'
-+ fi
-+
-
- fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_limits_h" >&5
-+$as_echo "$gl_cv_next_limits_h" >&6; }
-+ fi
-+ NEXT_LIMITS_H=$gl_cv_next_limits_h
-
-+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
-+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
-+ gl_next_as_first_directive='<'limits.h'>'
-+ else
-+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
-+ gl_next_as_first_directive=$gl_cv_next_limits_h
-+ fi
-+ NEXT_AS_FIRST_DIRECTIVE_LIMITS_H=$gl_next_as_first_directive
-
-- GNULIB_NL_LANGINFO=0;
-- HAVE_NL_LANGINFO=1;
-- REPLACE_NL_LANGINFO=0;
-
-
-
-
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether limits.h has ULLONG_WIDTH etc." >&5
-+$as_echo_n "checking whether limits.h has ULLONG_WIDTH etc.... " >&6; }
-+if ${gl_cv_header_limits_width+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
-+ #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
-+ #endif
-+ #include
-+ int ullw = ULLONG_WIDTH;
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ gl_cv_header_limits_width=yes
-+else
-+ gl_cv_header_limits_width=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_limits_width" >&5
-+$as_echo "$gl_cv_header_limits_width" >&6; }
-+ if test "$gl_cv_header_limits_width" = yes; then
-+ LIMITS_H=
-+ else
-+ LIMITS_H=limits.h
-+ fi
-+
-+ if test -n "$LIMITS_H"; then
-+ GL_GENERATE_LIMITS_H_TRUE=
-+ GL_GENERATE_LIMITS_H_FALSE='#'
-+else
-+ GL_GENERATE_LIMITS_H_TRUE='#'
-+ GL_GENERATE_LIMITS_H_FALSE=
-+fi
-
-
-
-@@ -15380,9 +15478,6 @@
-
-
-
--
--
--
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
-@@ -15420,38 +15515,12 @@
- }
- fi
-
--ac_prog=ld
--if test "$GCC" = yes; then
-- # Check if gcc -print-prog-name=ld gives a path.
-+if test -n "$LD"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld" >&5
-+$as_echo_n "checking for ld... " >&6; }
-+elif test "$GCC" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
- $as_echo_n "checking for ld used by $CC... " >&6; }
-- case $host in
-- *-*-mingw*)
-- # gcc leaves a trailing carriage return which upsets mingw
-- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-- *)
-- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-- esac
-- case $ac_prog in
-- # Accept absolute paths.
-- [\\/]* | ?:[\\/]*)
-- re_direlt='/[^/][^/]*/\.\./'
-- # Canonicalize the pathname of ld
-- ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
-- while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
-- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-- done
-- test -z "$LD" && LD="$ac_prog"
-- ;;
-- "")
-- # If it fails, then pretend we aren't using GCC.
-- ac_prog=ld
-- ;;
-- *)
-- # If it is relative, then search for the first ld in PATH.
-- with_gnu_ld=unknown
-- ;;
-- esac
- elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
- $as_echo_n "checking for GNU ld... " >&6; }
-@@ -15459,44 +15528,106 @@
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
- $as_echo_n "checking for non-GNU ld... " >&6; }
- fi
--if ${acl_cv_path_LD+:} false; then :
-+if test -n "$LD"; then
-+ # Let the user override the test with a path.
-+ :
-+else
-+ if ${acl_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
- else
-- if test -z "$LD"; then
-- acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-- for ac_dir in $PATH; do
-- IFS="$acl_save_ifs"
-- test -z "$ac_dir" && ac_dir=.
-- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-- acl_cv_path_LD="$ac_dir/$ac_prog"
-- # Check to see if the program is GNU ld. I'd rather use --version,
-- # but apparently some variants of GNU ld only accept -v.
-- # Break only if it was the GNU/non-GNU ld that we prefer.
-- case `"$acl_cv_path_LD" -v 2>&1 &5 | tr -d '\015'` ;;
-+ *)
-+ acl_output=`($CC -print-prog-name=ld) 2>&5` ;;
-+ esac
-+ case $acl_output in
-+ # Accept absolute paths.
-+ [\\/]* | ?:[\\/]*)
-+ re_direlt='/[^/][^/]*/\.\./'
-+ # Canonicalize the pathname of ld
-+ acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'`
-+ while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do
-+ acl_output=`echo $acl_output | sed "s%$re_direlt%/%"`
-+ done
-+ # Got the pathname. No search in PATH is needed.
-+ acl_cv_path_LD="$acl_output"
-+ ac_prog=
-+ ;;
-+ "")
-+ # If it fails, then pretend we aren't using GCC.
-+ ;;
-+ *)
-+ # If it is relative, then search for the first ld in PATH.
-+ with_gnu_ld=unknown
-+ ;;
- esac
- fi
-- done
-- IFS="$acl_save_ifs"
--else
-- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-+ if test -n "$ac_prog"; then
-+ # Search for $ac_prog in $PATH.
-+ acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-+ for ac_dir in $PATH; do
-+ IFS="$acl_save_ifs"
-+ test -z "$ac_dir" && ac_dir=.
-+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-+ acl_cv_path_LD="$ac_dir/$ac_prog"
-+ # Check to see if the program is GNU ld. I'd rather use --version,
-+ # but apparently some variants of GNU ld only accept -v.
-+ # Break only if it was the GNU/non-GNU ld that we prefer.
-+ case `"$acl_cv_path_LD" -v 2>&1 conftest.$ac_ext
-+/* end confdefs.h. */
-+#if defined __powerpc64__ || defined _ARCH_PPC64
-+ yes
-+ #endif
-+
-+_ACEOF
-+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-+ $EGREP "yes" >/dev/null 2>&1; then :
-+ # The compiler produces 64-bit code. Add option '-b64' so that the
-+ # linker groks 64-bit object files.
-+ case "$acl_cv_path_LD " in
-+ *" -b64 "*) ;;
-+ *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;;
-+ esac
-+
- fi
-+rm -f conftest*
-+
-+ ;;
-+ esac
-+
- fi
-
--LD="$acl_cv_path_LD"
-+ LD="$acl_cv_path_LD"
-+fi
- if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
- $as_echo "$LD" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
-+ as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
- fi
--test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
- $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
- if ${acl_cv_prog_gnu_ld+:} false; then :
-@@ -15553,11 +15684,16 @@
-
-
-
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5
-+$as_echo_n "checking for the common suffixes of directories in the library search path... " >&6; }
-+if ${acl_cv_libdirstems+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
- acl_libdirstem=lib
-- acl_libdirstem2=
-- case "$host_os" in
-- solaris*)
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
-+ acl_libdirstem2=
-+ case "$host_os" in
-+ solaris*)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
- $as_echo_n "checking for 64-bit host... " >&6; }
- if ${gl_cv_solaris_64bit+:} false; then :
- $as_echo_n "(cached) " >&6
-@@ -15582,37 +15718,51 @@
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
- $as_echo "$gl_cv_solaris_64bit" >&6; }
-- if test $gl_cv_solaris_64bit = yes; then
-- acl_libdirstem=lib/64
-- case "$host_cpu" in
-- sparc*) acl_libdirstem2=lib/sparcv9 ;;
-- i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
-- esac
-- fi
-- ;;
-- *)
-- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-- if test -n "$searchpath"; then
-- acl_save_IFS="${IFS= }"; IFS=":"
-- for searchdir in $searchpath; do
-- if test -d "$searchdir"; then
-- case "$searchdir" in
-- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-- */../ | */.. )
-- # Better ignore directories of this form. They are misleading.
-- ;;
-- *) searchdir=`cd "$searchdir" && pwd`
-- case "$searchdir" in
-- */lib64 ) acl_libdirstem=lib64 ;;
-- esac ;;
-- esac
-- fi
-- done
-- IFS="$acl_save_IFS"
-- fi
-- ;;
-- esac
-- test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-+ if test $gl_cv_solaris_64bit = yes; then
-+ acl_libdirstem=lib/64
-+ case "$host_cpu" in
-+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
-+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
-+ esac
-+ fi
-+ ;;
-+ *)
-+ searchpath=`(if test -f /usr/bin/gcc \
-+ && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \
-+ LC_ALL=C /usr/bin/gcc -print-search-dirs; \
-+ else \
-+ LC_ALL=C $CC -print-search-dirs; \
-+ fi) 2>/dev/null \
-+ | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-+ if test -n "$searchpath"; then
-+ acl_save_IFS="${IFS= }"; IFS=":"
-+ for searchdir in $searchpath; do
-+ if test -d "$searchdir"; then
-+ case "$searchdir" in
-+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-+ */../ | */.. )
-+ # Better ignore directories of this form. They are misleading.
-+ ;;
-+ *) searchdir=`cd "$searchdir" && pwd`
-+ case "$searchdir" in
-+ */lib64 ) acl_libdirstem=lib64 ;;
-+ esac ;;
-+ esac
-+ fi
-+ done
-+ IFS="$acl_save_IFS"
-+ fi
-+ ;;
-+ esac
-+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-+ acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2"
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libdirstems" >&5
-+$as_echo "$acl_cv_libdirstems" >&6; }
-+ # Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2.
-+ acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'`
-+ acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e '/,/s/.*,//'`
-
-
-
-@@ -15787,8 +15937,10 @@
- # Therefore pthread_in_use() needs to actually try to create a
- # thread: pthread_create from libc will fail, whereas
- # pthread_create will actually create a thread.
-+ # On Solaris 10 or newer, this test is no longer needed, because
-+ # libc contains the fully functional pthread functions.
- case "$host_os" in
-- solaris* | hpux*)
-+ solaris | solaris2.1-9 | solaris2.1-9.* | hpux*)
-
- $as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
-
-@@ -16538,9 +16690,6 @@
-
-
-
--
--
--
- GNULIB__EXIT=0;
- GNULIB_ATOLL=0;
- GNULIB_CALLOC_POSIX=0;
-@@ -16588,6 +16737,7 @@
- HAVE_POSIX_OPENPT=1;
- HAVE_PTSNAME=1;
- HAVE_PTSNAME_R=1;
-+ HAVE_QSORT_R=1;
- HAVE_RANDOM=1;
- HAVE_RANDOM_H=1;
- HAVE_RANDOM_R=1;
-@@ -16693,7 +16843,10 @@
- int
- main ()
- {
--return ! malloc (0);
-+char *p = malloc (0);
-+ int result = !p;
-+ free (p);
-+ return result;
- ;
- return 0;
- }
-@@ -16848,12 +17001,6 @@
-
-
-
--
--
--
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
- $as_echo_n "checking for a traditional japanese locale... " >&6; }
- if ${gt_cv_locale_ja+:} false; then :
-@@ -17256,12 +17403,6 @@
-
-
-
--
--
--
--
--
--
- GNULIB_FFSL=0;
- GNULIB_FFSLL=0;
- GNULIB_MEMCHR=0;
-@@ -17401,18 +17542,6 @@
- fi
-
-
-- :
--
--
--
--
--
--
-- :
--
--
--
--
-
-
-
-@@ -17505,8 +17634,7 @@
- fi
- fi
-
--
-- ac_fn_c_check_decl "$LINENO" "memrchr" "ac_cv_have_decl_memrchr" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "memrchr" "ac_cv_have_decl_memrchr" "$ac_includes_default"
- if test "x$ac_cv_have_decl_memrchr" = xyes; then :
- ac_have_decl=1
- else
-@@ -17523,10 +17651,6 @@
-
-
-
--
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether defines MIN and MAX" >&5
- $as_echo_n "checking whether defines MIN and MAX... " >&6; }
- if ${gl_cv_minmax_in_limits_h+:} false; then :
-@@ -17650,9 +17774,6 @@
-
-
-
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5
- $as_echo_n "checking for promoted mode_t type... " >&6; }
- if ${gl_cv_promoted_mode_t+:} false; then :
-@@ -17689,9 +17810,6 @@
-
-
-
--
--
--
- GNULIB_POLL=0;
- HAVE_POLL=1;
- REPLACE_POLL=0;
-@@ -17702,15 +17820,6 @@
-
-
-
--
--
--
-- :
--
--
--
--
--
- if test $ac_cv_header_poll_h = yes; then
- HAVE_POLL_H=1
- else
-@@ -17724,12 +17833,6 @@
-
-
-
-- :
--
--
--
--
--
-
-
-
-@@ -17848,12 +17951,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_header_sys_socket_h != yes; then
- for ac_header in winsock2.h
- do :
-@@ -18055,29 +18152,7 @@
-
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-- ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default"
- if test "x$ac_cv_have_decl_alarm" = xyes; then :
- ac_have_decl=1
- else
-@@ -18100,6 +18175,7 @@
-
-
-
-+
- GNULIB_PSELECT=0;
- GNULIB_SELECT=0;
- HAVE_PSELECT=1;
-@@ -18111,9 +18187,6 @@
-
-
-
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5
- $as_echo_n "checking whether is self-contained... " >&6; }
- if ${gl_cv_header_sys_select_h_selfcontained+:} false; then :
-@@ -18201,12 +18274,6 @@
-
-
-
-- :
--
--
--
--
--
-
-
-
-@@ -18289,12 +18356,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_header_sys_socket_h != yes; then
- for ac_header in winsock2.h
- do :
-@@ -18366,8 +18427,7 @@
- done
-
-
--
-- ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default"
- if test "x$ac_cv_have_decl_setenv" = xyes; then :
- ac_have_decl=1
- else
-@@ -18383,32 +18443,10 @@
-
-
-
--
--
--
--
-- :
--
--
--
--
--
- if test $ac_cv_have_decl_setenv = no; then
- HAVE_DECL_SETENV=0
- fi
-
-- :
--
--
--
--
--
--
--
--
--
-- :
--
-
-
-
-@@ -18490,18 +18528,6 @@
-
-
-
--
--
-- :
--
--
--
--
--
--
--
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf returns a byte count as in C99" >&5
- $as_echo_n "checking whether snprintf returns a byte count as in C99... " >&6; }
- if ${gl_cv_func_snprintf_retval_c99+:} false; then :
-@@ -18586,8 +18612,7 @@
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_snprintf_retval_c99" >&5
- $as_echo "$gl_cv_func_snprintf_retval_c99" >&6; }
-
--
-- ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "snprintf" "ac_cv_have_decl_snprintf" "$ac_includes_default"
- if test "x$ac_cv_have_decl_snprintf" = xyes; then :
- ac_have_decl=1
- else
-@@ -18598,7 +18623,6 @@
- #define HAVE_DECL_SNPRINTF $ac_have_decl
- _ACEOF
-
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
- $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
- if ${ac_cv_header_stdbool_h+:} false; then :
-@@ -18608,59 +18632,67 @@
- /* end confdefs.h. */
-
- #include
-- #ifndef bool
-- "error: bool is not defined"
-- #endif
-- #ifndef false
-- "error: false is not defined"
-- #endif
-- #if false
-- "error: false is not 0"
-- #endif
-- #ifndef true
-- "error: true is not defined"
-- #endif
-- #if true != 1
-- "error: true is not 1"
-+
-+ #ifdef __cplusplus
-+ typedef bool Bool;
-+ #else
-+ typedef _Bool Bool;
-+ #ifndef bool
-+ "error: bool is not defined"
-+ #endif
-+ #ifndef false
-+ "error: false is not defined"
-+ #endif
-+ #if false
-+ "error: false is not 0"
-+ #endif
-+ #ifndef true
-+ "error: true is not defined"
-+ #endif
-+ #if true != 1
-+ "error: true is not 1"
-+ #endif
- #endif
-+
- #ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
- #endif
-
-- struct s { _Bool s: 1; _Bool t; } s;
-+ struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s;
-
- char a[true == 1 ? 1 : -1];
- char b[false == 0 ? 1 : -1];
- char c[__bool_true_false_are_defined == 1 ? 1 : -1];
- char d[(bool) 0.5 == true ? 1 : -1];
- /* See body of main program for 'e'. */
-- char f[(_Bool) 0.0 == false ? 1 : -1];
-+ char f[(Bool) 0.0 == false ? 1 : -1];
- char g[true];
-- char h[sizeof (_Bool)];
-+ char h[sizeof (Bool)];
- char i[sizeof s.t];
- enum { j = false, k = true, l = false * true, m = true * 256 };
- /* The following fails for
- HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
-- _Bool n[m];
-+ Bool n[m];
- char o[sizeof n == m * sizeof n[0] ? 1 : -1];
-- char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
-+ char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
- /* Catch a bug in an HP-UX C compiler. See
- http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
- http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- */
-- _Bool q = true;
-- _Bool *pq = &q;
-+ Bool q = true;
-+ Bool *pq = &q;
-+ bool *qq = &q;
-
- int
- main ()
- {
-
- bool e = &s;
-- *pq |= q;
-- *pq |= ! q;
-+ *pq |= q; *pq |= ! q;
-+ *qq |= q; *qq |= ! q;
- /* Refer to every declared value, to avoid compiler optimizations. */
- return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
-- + !m + !n + !o + !p + !q + !pq);
-+ + !m + !n + !o + !p + !q + !pq + !qq);
-
- ;
- return 0;
-@@ -18687,6 +18719,90 @@
-
-
-
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
-+$as_echo_n "checking for wint_t... " >&6; }
-+if ${gt_cv_c_wint_t+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+/* Tru64 with Desktop Toolkit C has a bug: must be included before
-+ .
-+ BSD/OS 4.0.1 has a bug: , and must be included
-+ before . */
-+#include
-+#include
-+#include
-+#include
-+ wint_t foo = (wchar_t)'\0';
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ gt_cv_c_wint_t=yes
-+else
-+ gt_cv_c_wint_t=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
-+$as_echo "$gt_cv_c_wint_t" >&6; }
-+ if test $gt_cv_c_wint_t = yes; then
-+
-+$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
-+
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wint_t is too small" >&5
-+$as_echo_n "checking whether wint_t is too small... " >&6; }
-+if ${gl_cv_type_wint_t_too_small+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+/* Tru64 with Desktop Toolkit C has a bug: must be included before
-+ .
-+ BSD/OS 4.0.1 has a bug: , and must be
-+ included before . */
-+#if !(defined __GLIBC__ && !defined __UCLIBC__)
-+# include
-+# include
-+# include
-+#endif
-+#include
-+ int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1];
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ gl_cv_type_wint_t_too_small=no
-+else
-+ gl_cv_type_wint_t_too_small=yes
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wint_t_too_small" >&5
-+$as_echo "$gl_cv_type_wint_t_too_small" >&6; }
-+ if test $gl_cv_type_wint_t_too_small = yes; then
-+ GNULIB_OVERRIDES_WINT_T=1
-+ else
-+ GNULIB_OVERRIDES_WINT_T=0
-+ fi
-+ else
-+ GNULIB_OVERRIDES_WINT_T=0
-+ fi
-
-
-
-@@ -18714,12 +18830,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_header_wchar_h = yes; then
- HAVE_WCHAR_H=1
- else
-@@ -18747,12 +18857,6 @@
-
-
-
-- :
--
--
--
--
--
-
-
-
-@@ -18844,6 +18948,8 @@
-
-
- #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
-+#define __STDC_CONSTANT_MACROS 1
-+#define __STDC_LIMIT_MACROS 1
- #include
- /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */
- #if !(defined WCHAR_MIN && defined WCHAR_MAX)
-@@ -18934,6 +19040,15 @@
- intmax_t i = INTMAX_MAX;
- uintmax_t j = UINTMAX_MAX;
-
-+/* Check that SIZE_MAX has the correct type, if possible. */
-+#if 201112 <= __STDC_VERSION__
-+int k = _Generic (SIZE_MAX, size_t: 0);
-+#elif (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
-+ || (0x5110 <= __SUNPRO_C && !__STDC__))
-+extern size_t k;
-+extern __typeof__ (SIZE_MAX) k;
-+#endif
-+
- #include /* for CHAR_BIT */
- #define TYPE_MINIMUM(t) \
- ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t)))
-@@ -19012,6 +19127,8 @@
-
-
- #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
-+#define __STDC_CONSTANT_MACROS 1
-+#define __STDC_LIMIT_MACROS 1
- #include
-
-
-@@ -19097,8 +19214,111 @@
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5
- $as_echo "$gl_cv_header_working_stdint_h" >&6; }
- fi
-+
-+ HAVE_C99_STDINT_H=0
-+ HAVE_SYS_BITYPES_H=0
-+ HAVE_SYS_INTTYPES_H=0
-+ STDINT_H=stdint.h
- if test "$gl_cv_header_working_stdint_h" = yes; then
-- STDINT_H=
-+ HAVE_C99_STDINT_H=1
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h predates C++11" >&5
-+$as_echo_n "checking whether stdint.h predates C++11... " >&6; }
-+if ${gl_cv_header_stdint_predates_cxx11_h+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ gl_cv_header_stdint_predates_cxx11_h=yes
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+
-+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
-+#include
-+
-+
-+ /* BSD/OS 4.0.1 has a bug: , and must be
-+ included before . */
-+ #include
-+ #include
-+ #if HAVE_WCHAR_H
-+ # include
-+ # include
-+ # include
-+ #endif
-+
-+
-+intmax_t im = INTMAX_MAX;
-+int32_t i32 = INT32_C (0x7fffffff);
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ gl_cv_header_stdint_predates_cxx11_h=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_predates_cxx11_h" >&5
-+$as_echo "$gl_cv_header_stdint_predates_cxx11_h" >&6; }
-+
-+ if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then
-+
-+$as_echo "#define __STDC_CONSTANT_MACROS 1" >>confdefs.h
-+
-+
-+$as_echo "#define __STDC_LIMIT_MACROS 1" >>confdefs.h
-+
-+ fi
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h has UINTMAX_WIDTH etc." >&5
-+$as_echo_n "checking whether stdint.h has UINTMAX_WIDTH etc.... " >&6; }
-+if ${gl_cv_header_stdint_width+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ gl_cv_header_stdint_width=no
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+ /* Work if build is not clean. */
-+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1
-+ #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
-+ #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
-+ #endif
-+ #include
-+
-+ /* BSD/OS 4.0.1 has a bug: , and must be
-+ included before . */
-+ #include
-+ #include
-+ #if HAVE_WCHAR_H
-+ # include
-+ # include
-+ # include
-+ #endif
-+
-+ int iw = UINTMAX_WIDTH;
-+
-+int
-+main ()
-+{
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ gl_cv_header_stdint_width=yes
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_width" >&5
-+$as_echo "$gl_cv_header_stdint_width" >&6; }
-+ if test "$gl_cv_header_stdint_width" = yes; then
-+ STDINT_H=
-+ fi
- else
- for ac_header in sys/inttypes.h sys/bitypes.h
- do :
-@@ -19115,19 +19335,12 @@
-
- if test $ac_cv_header_sys_inttypes_h = yes; then
- HAVE_SYS_INTTYPES_H=1
-- else
-- HAVE_SYS_INTTYPES_H=0
- fi
--
- if test $ac_cv_header_sys_bitypes_h = yes; then
- HAVE_SYS_BITYPES_H=1
-- else
-- HAVE_SYS_BITYPES_H=0
- fi
-
-
--
--
- if test $APPLE_UNIVERSAL_BUILD = 0; then
-
-
-@@ -19421,13 +19634,26 @@
-
-
-
-- if test $BITSIZEOF_WINT_T -lt 32; then
-+ if test $GNULIB_OVERRIDES_WINT_T = 1; then
- BITSIZEOF_WINT_T=32
- fi
-
-- STDINT_H=stdint.h
- fi
-
-+ LIMITS_H=limits.h
-+ if test -n "$LIMITS_H"; then
-+ GL_GENERATE_LIMITS_H_TRUE=
-+ GL_GENERATE_LIMITS_H_FALSE='#'
-+else
-+ GL_GENERATE_LIMITS_H_TRUE='#'
-+ GL_GENERATE_LIMITS_H_FALSE=
-+fi
-+
-+
-+
-+
-+
-+
- if test -n "$STDINT_H"; then
- GL_GENERATE_STDINT_H_TRUE=
- GL_GENERATE_STDINT_H_FALSE='#'
-@@ -19445,11 +19671,7 @@
-
-
-
--
--
--
--
-- ac_fn_c_check_decl "$LINENO" "strdup" "ac_cv_have_decl_strdup" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "strdup" "ac_cv_have_decl_strdup" "$ac_includes_default"
- if test "x$ac_cv_have_decl_strdup" = xyes; then :
- ac_have_decl=1
- else
-@@ -19461,7 +19683,6 @@
- _ACEOF
-
-
--
- REPLACE_STRERROR_0=0
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5
- $as_echo_n "checking whether strerror(0) succeeds... " >&6; }
-@@ -19651,15 +19872,6 @@
-
-
-
-- :
--
--
--
--
--
--
--
--
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_strings_h='<'strings.h'>'
- else
-@@ -19781,8 +19993,7 @@
- done
-
-
--
-- ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "strndup" "ac_cv_have_decl_strndup" "$ac_includes_default"
- if test "x$ac_cv_have_decl_strndup" = xyes; then :
- ac_have_decl=1
- else
-@@ -19795,12 +20006,7 @@
-
-
-
--
--
--
--
--
-- ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default"
- if test "x$ac_cv_have_decl_strnlen" = xyes; then :
- ac_have_decl=1
- else
-@@ -19818,43 +20024,11 @@
-
-
-
--
--
--
--
--
--
--
- GNULIB_TCGETSID=0;
- HAVE_DECL_TCGETSID=1;
- HAVE_TERMIOS_H=1;
-
-
-- GNULIB_MKTIME=0;
-- GNULIB_NANOSLEEP=0;
-- GNULIB_STRPTIME=0;
-- GNULIB_TIMEGM=0;
-- GNULIB_TIME_R=0;
-- HAVE_DECL_LOCALTIME_R=1;
-- HAVE_NANOSLEEP=1;
-- HAVE_STRPTIME=1;
-- HAVE_TIMEGM=1;
-- REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
-- REPLACE_MKTIME=GNULIB_PORTCHECK;
-- REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
-- REPLACE_TIMEGM=GNULIB_PORTCHECK;
--
-- : ${GNULIB_GETTIMEOFDAY=0};
-- REPLACE_GMTIME=0;
-- REPLACE_LOCALTIME=0;
--
--
--
-- :
--
--
--
--
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5
- $as_echo_n "checking for struct timespec in ... " >&6; }
-@@ -20066,53 +20240,6 @@
-
-
-
--
--
--
--
--
--
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
--$as_echo_n "checking for wint_t... " >&6; }
--if ${gt_cv_c_wint_t+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
--
--/* Tru64 with Desktop Toolkit C has a bug: must be included before
-- .
-- BSD/OS 4.0.1 has a bug: , and must be included
-- before . */
--#include
--#include
--#include
--#include
-- wint_t foo = (wchar_t)'\0';
--int
--main ()
--{
--
-- ;
-- return 0;
--}
--_ACEOF
--if ac_fn_c_try_compile "$LINENO"; then :
-- gt_cv_c_wint_t=yes
--else
-- gt_cv_c_wint_t=no
--fi
--rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
--fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
--$as_echo "$gt_cv_c_wint_t" >&6; }
-- if test $gt_cv_c_wint_t = yes; then
--
--$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
--
-- fi
--
--
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5
- $as_echo_n "checking for inttypes.h... " >&6; }
- if ${gl_cv_header_inttypes_h+:} false; then :
-@@ -20622,8 +20749,7 @@
- ;;
- esac
-
--
-- ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default"
-+ac_fn_c_check_decl "$LINENO" "vsnprintf" "ac_cv_have_decl_vsnprintf" "$ac_includes_default"
- if test "x$ac_cv_have_decl_vsnprintf" = xyes; then :
- ac_have_decl=1
- else
-@@ -20638,6 +20764,13 @@
-
-
-
-+ if test $ac_cv_header_crtdefs_h = yes; then
-+ HAVE_CRTDEFS_H=1
-+ else
-+ HAVE_CRTDEFS_H=0
-+ fi
-+
-+
-
-
-
-@@ -20654,9 +20787,6 @@
-
-
-
--
--
--
- if false; then
- GL_COND_LIBTOOL_TRUE=
- GL_COND_LIBTOOL_FALSE='#'
-@@ -20835,112 +20965,17 @@
- conftest$ac_exeext conftest.$ac_ext
-
-
-- :
--
-
-
-
-
-
-- :
-
-
-
-
-
-
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
--
-- :
--
--
--
--
--
--
--
--
--
-- :
--
--
--
--
-
-
-
-@@ -20958,12 +20993,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_header_arpa_inet_h = yes; then
- HAVE_ARPA_INET_H=1
- else
-@@ -20976,12 +21005,6 @@
-
-
-
-- :
--
--
--
--
--
-
-
-
-@@ -21123,12 +21146,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_func_btowc = no; then
- HAVE_BTOWC=0
- else
-@@ -21280,6 +21297,58 @@
-
-
-
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_expect" >&5
-+$as_echo_n "checking for __builtin_expect... " >&6; }
-+if ${gl_cv___builtin_expect+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+ int
-+ main (int argc, char **argv)
-+ {
-+ argc = __builtin_expect (argc, 100);
-+ return argv[argc != 100][0];
-+ }
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+ gl_cv___builtin_expect=yes
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+ #include
-+ int
-+ main (int argc, char **argv)
-+ {
-+ argc = __builtin_expect (argc, 100);
-+ return argv[argc != 100][0];
-+ }
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+ gl_cv___builtin_expect="in "
-+else
-+ gl_cv___builtin_expect=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv___builtin_expect" >&5
-+$as_echo "$gl_cv___builtin_expect" >&6; }
-+ if test "$gl_cv___builtin_expect" = yes; then
-+ $as_echo "#define HAVE___BUILTIN_EXPECT 1" >>confdefs.h
-+
-+ elif test "$gl_cv___builtin_expect" = "in "; then
-+ $as_echo "#define HAVE___BUILTIN_EXPECT 2" >>confdefs.h
-+
-+ fi
-+
-+
-+
-
-
-
-@@ -21361,15 +21430,11 @@
-
-
-
-- if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-- REPLACE_CLOSE=1
-- fi
--
--
--
-
-+ if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-+ REPLACE_CLOSE=1
-+ fi
-
-- :
-
-
-
-@@ -21407,12 +21472,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_func_fchdir = no; then
- HAVE_FCHDIR=0
- fi
-@@ -21471,12 +21530,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_func_fchdir = no; then
- HAVE_FCHDIR=0
- fi
-@@ -21487,6 +21540,10 @@
- fi
- fi
-
-+ case $host_os,$HAVE_CLOSEDIR in
-+ os2*,1)
-+ REPLACE_CLOSEDIR=1;;
-+ esac
-
- if test $HAVE_CLOSEDIR = 0 || test $REPLACE_CLOSEDIR = 1; then
-
-@@ -21591,6 +21648,7 @@
- return 3;
- if (e->d_ino != st.st_ino)
- return 4;
-+ closedir (dp);
- return 0;
-
- ;
-@@ -21665,12 +21723,6 @@
-
-
-
-- :
--
--
--
--
--
-
-
-
-@@ -21850,15 +21902,19 @@
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dirfd_macro" >&5
- $as_echo "$gl_cv_func_dirfd_macro" >&6; }
-
-- # Use the replacement only if we have no function or macro with that name.
-- if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
-- if test $ac_cv_have_decl_dirfd = yes; then
-- # If the system declares dirfd already, let's declare rpl_dirfd instead.
-+ # Use the replacement if we have no function or macro with that name,
-+ # or if OS/2 kLIBC whose dirfd() does not work.
-+ # Replace only if the system declares dirfd already.
-+ case $ac_cv_func_dirfd,$gl_cv_func_dirfd_macro,$host_os,$ac_cv_have_decl_dirfd in
-+ no,no,*,yes | *,*,os2*,yes)
- REPLACE_DIRFD=1
-- fi
-- fi
-
-- if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
-+$as_echo "#define REPLACE_DIRFD 1" >>confdefs.h
-+;;
-+ esac
-+
-+ if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no \
-+ || test $REPLACE_DIRFD = 1; then
-
-
-
-@@ -21980,14 +22036,10 @@
-
-
-
-- if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-- REPLACE_DUP=1
-- fi
--
--
--
-
-- :
-+ if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
-+ REPLACE_DUP=1
-+ fi
-
-
-
-@@ -22001,6 +22053,50 @@
- REPLACE_DUP=1
- fi
-
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup works" >&5
-+$as_echo_n "checking whether dup works... " >&6; }
-+if ${gl_cv_func_dup_works+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test "$cross_compiling" = yes; then :
-+ gl_cv_func_dup_works='guessing yes'
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include
-+ #include
-+ #include
-+int
-+main ()
-+{
-+/* On OS/2 kLIBC, dup does not work on a directory fd. */
-+ int fd = open (".", O_RDONLY);
-+ return fd < 0 ? 1 : dup (fd) < 0 ? 2 : 0;
-+
-+ ;
-+ return 0;
-+}
-+
-+_ACEOF
-+if ac_fn_c_try_run "$LINENO"; then :
-+ gl_cv_func_dup_works=yes
-+else
-+ gl_cv_func_dup_works=no
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-+ conftest.$ac_objext conftest.beam conftest.$ac_ext
-+fi
-+
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup_works" >&5
-+$as_echo "$gl_cv_func_dup_works" >&6; }
-+ case "$gl_cv_func_dup_works" in
-+ *yes) ;;
-+ *)
-+ REPLACE_DUP=1
-+ ;;
-+ esac
-
- if test $REPLACE_DUP = 1; then
-
-@@ -22058,6 +22154,8 @@
- gl_cv_func_dup2_works="guessing no" ;;
- *-android*) # implemented using dup3(), which fails if oldfd == newfd
- gl_cv_func_dup2_works="guessing no" ;;
-+ os2*) # on OS/2 kLIBC, dup2() does not work on a directory fd.
-+ gl_cv_func_dup2_works="guessing no" ;;
- *) gl_cv_func_dup2_works="guessing yes" ;;
- esac
- else
-@@ -22109,6 +22207,16 @@
- result |= 32;
- dup2 (2, 255);
- dup2 (2, 256);
-+ /* On OS/2 kLIBC, dup2() does not work on a directory fd. */
-+ {
-+ int fd = open (".", O_RDONLY);
-+ if (fd == -1)
-+ result |= 64;
-+ else if (dup2 (fd, fd + 1) == -1)
-+ result |= 128;
-+
-+ close (fd);
-+ }
- return result;
- ;
- return 0;
-@@ -22150,12 +22258,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_func_fchdir = no; then
- HAVE_FCHDIR=0
- fi
-@@ -22270,12 +22372,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_have_decl_fchdir = no; then
- HAVE_DECL_FCHDIR=0
- fi
-@@ -22364,22 +22460,10 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_func_fcntl = no; then
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_func_fcntl = no; then
- HAVE_FCNTL=0
- else
-@@ -22429,6 +22513,17 @@
- if (errno != EINVAL) result |= 2;
- if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
- if (errno != EINVAL) result |= 8;
-+ /* On OS/2 kLIBC, F_DUPFD does not work on a directory fd */
-+ {
-+ int fd;
-+ fd = open (".", O_RDONLY);
-+ if (fd == -1)
-+ result |= 16;
-+ else if (fcntl (fd, F_DUPFD, STDERR_FILENO + 1) == -1)
-+ result |= 32;
-+
-+ close (fd);
-+ }
- return result;
- ;
- return 0;
-@@ -22451,12 +22546,6 @@
- *)
-
-
-- :
--
--
--
--
--
- if test $ac_cv_func_fcntl = no; then
- HAVE_FCNTL=0
- else
-@@ -22524,12 +22613,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_func_fcntl = no; then
- HAVE_FCNTL=0
- else
-@@ -22542,12 +22625,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_func_fchdir = no; then
- HAVE_FCHDIR=0
- fi
-@@ -22556,12 +22633,6 @@
-
-
-
-- :
--
--
--
--
--
- if test $ac_cv_func_fcntl = no; then
- HAVE_FCNTL=0
- else
-@@ -22743,12 +22814,6 @@
- fi
-
-
-- :
--
--
--
--
--
- if test $ac_cv_func_fdopendir = no; then
- HAVE_FDOPENDIR=0
- else
-@@ -22850,21 +22915,56 @@
-
-
-
-- :
--
--
--
-
-
-
-
-
-- :
--
--
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for flexible array member" >&5
-+$as_echo_n "checking for flexible array member... " >&6; }
-+if ${ac_cv_c_flexmember+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include
-+ #include