pdftex[867] branches/stable/source/src: sync from tl 60931

commits+karl at tug.org commits+karl at tug.org
Wed Nov 3 19:16:32 CET 2021


Revision: 867
          http://tug.org/svn/pdftex?view=revision&revision=867
Author:   karl
Date:     2021-11-03 19:16:31 +0100 (Wed, 03 Nov 2021)
Log Message:
-----------
sync from tl 60931

Modified Paths:
--------------
    branches/stable/source/src/Makefile.in
    branches/stable/source/src/aclocal.m4
    branches/stable/source/src/auxdir/auxsub/Makefile.in
    branches/stable/source/src/auxdir/auxsub/aclocal.m4
    branches/stable/source/src/build-aux/texinfo.tex
    branches/stable/source/src/doc/Makefile.in
    branches/stable/source/src/doc/build-tools.txt
    branches/stable/source/src/doc/tlbuild.info
    branches/stable/source/src/doc/tlbuild.texi
    branches/stable/source/src/libs/Makefile.in
    branches/stable/source/src/libs/aclocal.m4
    branches/stable/source/src/libs/libpng/Makefile.in
    branches/stable/source/src/libs/libpng/aclocal.m4
    branches/stable/source/src/libs/libpng/include/Makefile.in
    branches/stable/source/src/libs/xpdf/Makefile.in
    branches/stable/source/src/libs/xpdf/aclocal.m4
    branches/stable/source/src/libs/xpdf/fofi/Makefile.in
    branches/stable/source/src/libs/xpdf/goo/Makefile.in
    branches/stable/source/src/libs/xpdf/splash/Makefile.in
    branches/stable/source/src/libs/xpdf/xpdf/Makefile.in
    branches/stable/source/src/libs/zlib/Makefile.in
    branches/stable/source/src/libs/zlib/aclocal.m4
    branches/stable/source/src/libs/zlib/include/Makefile.in
    branches/stable/source/src/texk/Makefile.in
    branches/stable/source/src/texk/README
    branches/stable/source/src/texk/aclocal.m4
    branches/stable/source/src/texk/kpathsea/ChangeLog
    branches/stable/source/src/texk/kpathsea/Makefile.in
    branches/stable/source/src/texk/kpathsea/aclocal.m4
    branches/stable/source/src/texk/kpathsea/doc/Makefile.in
    branches/stable/source/src/texk/kpathsea/man/Makefile.in
    branches/stable/source/src/texk/kpathsea/str-list.c
    branches/stable/source/src/texk/kpathsea/win32/Makefile.in
    branches/stable/source/src/texk/web2c/ChangeLog
    branches/stable/source/src/texk/web2c/Makefile.in
    branches/stable/source/src/texk/web2c/aclocal.m4
    branches/stable/source/src/texk/web2c/ctangleboot.cin
    branches/stable/source/src/texk/web2c/cwebboot.cin
    branches/stable/source/src/texk/web2c/cwebdir/ChangeLog
    branches/stable/source/src/texk/web2c/cwebdir/comm-w2c.ch
    branches/stable/source/src/texk/web2c/cwebdir/ctang-w2c.ch
    branches/stable/source/src/texk/web2c/cwebdir/ctproofmac.tex
    branches/stable/source/src/texk/web2c/cwebdir/cttwinxmac.tex
    branches/stable/source/src/texk/web2c/cwebdir/ctwill-mini.ch
    branches/stable/source/src/texk/web2c/cwebdir/ctwill-w2c.ch
    branches/stable/source/src/texk/web2c/cwebdir/ctwimac.tex
    branches/stable/source/src/texk/web2c/cwebdir/cweav-w2c.ch
    branches/stable/source/src/texk/web2c/cwebdir/cweave.w
    branches/stable/source/src/texk/web2c/cwebdir/cwebmac.tex
    branches/stable/source/src/texk/web2c/cwebdir/cwebman.tex
    branches/stable/source/src/texk/web2c/cwebdir/texinputs/pdfctwimac.tex
    branches/stable/source/src/texk/web2c/cwebdir/texinputs/pdfwebtocfront.tex
    branches/stable/source/src/texk/web2c/doc/Makefile.in
    branches/stable/source/src/texk/web2c/help.h
    branches/stable/source/src/texk/web2c/lib/Makefile.in
    branches/stable/source/src/texk/web2c/man/Makefile.in
    branches/stable/source/src/texk/web2c/omegafonts/Makefile.in
    branches/stable/source/src/texk/web2c/otps/Makefile.in
    branches/stable/source/src/texk/web2c/otps/win32/Makefile.in
    branches/stable/source/src/texk/web2c/web2c/Makefile.in
    branches/stable/source/src/texk/web2c/web2c/aclocal.m4
    branches/stable/source/src/texk/web2c/window/Makefile.in
    branches/stable/source/src/utils/Makefile.in
    branches/stable/source/src/utils/README
    branches/stable/source/src/utils/aclocal.m4

Modified: branches/stable/source/src/Makefile.in
===================================================================
--- branches/stable/source/src/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/aclocal.m4
===================================================================
--- branches/stable/source/src/aclocal.m4	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/aclocal.m4	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -428,6 +428,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl

Modified: branches/stable/source/src/auxdir/auxsub/Makefile.in
===================================================================
--- branches/stable/source/src/auxdir/auxsub/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/auxdir/auxsub/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/auxdir/auxsub/aclocal.m4
===================================================================
--- branches/stable/source/src/auxdir/auxsub/aclocal.m4	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/auxdir/auxsub/aclocal.m4	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -171,6 +171,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl

Modified: branches/stable/source/src/build-aux/texinfo.tex
===================================================================
--- branches/stable/source/src/build-aux/texinfo.tex	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/build-aux/texinfo.tex	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,5 +1,5 @@
 % texinfo.tex -- TeX macros to handle Texinfo files.
-%
+% 
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
@@ -218,7 +218,7 @@
 % @errormsg{MSG}.  Do the index-like expansions on MSG, but if things
 % aren't perfect, it's not the end of the world, being an error message,
 % after all.
-%
+% 
 \def\errormsg{\begingroup \indexnofonts \doerrormsg}
 \def\doerrormsg#1{\errmessage{#1}}
 
@@ -323,9 +323,9 @@
 % the output routine.  The saved contents are valid until we actually
 % \shipout a page.
 %
-% (We used to run a short output routine to actually set \topmark and
-% \firstmark to the right values, but if this was called with an empty page
-% containing whatsits for writing index entries, the whatsits would be thrown
+% (We used to run a short output routine to actually set \topmark and 
+% \firstmark to the right values, but if this was called with an empty page 
+% containing whatsits for writing index entries, the whatsits would be thrown 
 % away and the index auxiliary file would remain empty.)
 %
 \newtoks\savedtopmark
@@ -449,7 +449,7 @@
   }%
 }
 
-% First remove any @comment, then any @c comment.  Pass the result on to
+% First remove any @comment, then any @c comment.  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}
@@ -1093,8 +1093,8 @@
         end
       end
     }
-    % The -2 in the arguments here gives all the input to TeX catcode 12
-    % (other) or 10 (space), preventing undefined control sequence errors. See
+    % The -2 in the arguments here gives all the input to TeX catcode 12 
+    % (other) or 10 (space), preventing undefined control sequence errors. See 
     % https://lists.gnu.org/archive/html/bug-texinfo/2019-08/msg00031.html
     %
   \endgroup
@@ -1188,7 +1188,7 @@
 % for display in the outlines, and in other places.  Thus, we have to
 % double any backslashes.  Otherwise, a name like "\node" will be
 % interpreted as a newline (\n), followed by o, d, e.  Not good.
-%
+% 
 % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
 % related messages.  The final outcome is that it is up to the TeX user
 % to double the backslashes and otherwise make the string valid, so
@@ -1476,7 +1476,7 @@
       % We use the node names as the destinations.
       %
       % Currently we prefix the section name with the section number
-      % for chapter and appendix headings only in order to avoid too much
+      % for chapter and appendix headings only in order to avoid too much 
       % horizontal space being required in the PDF viewer.
       \def\numchapentry##1##2##3##4{%
         \dopdfoutline{##2 ##1}{count-\expnumber{chap##2}}{##3}{##4}}%
@@ -1499,7 +1499,7 @@
       % their "best" equivalent, based on the @documentencoding.  Too
       % much work for too little return.  Just use the ASCII equivalents
       % we use for the index sort strings.
-      %
+      % 
       \indexnofonts
       \setupdatafile
       % We can have normal brace characters in the PDF outlines, unlike
@@ -1724,7 +1724,7 @@
       % We use node names as destinations.
       %
       % Currently we prefix the section name with the section number
-      % for chapter and appendix headings only in order to avoid too much
+      % for chapter and appendix headings only in order to avoid too much 
       % horizontal space being required in the PDF viewer.
       \def\partentry##1##2##3##4{}% ignore parts in the outlines
       \def\numchapentry##1##2##3##4{%
@@ -2736,7 +2736,7 @@
 }
 
 % Commands to set the quote options.
-%
+% 
 \parseargdef\codequoteundirected{%
   \def\temp{#1}%
   \ifx\temp\onword
@@ -2777,7 +2777,7 @@
 % If we are in a monospaced environment, however, 1) always use \ttsl,
 % and 2) do not add an italic correction.
 \def\dosmartslant#1#2{%
-  \ifusingtt
+  \ifusingtt 
     {{\ttsl #2}\let\next=\relax}%
     {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}%
   \next
@@ -2923,7 +2923,7 @@
   \gdef\codedash{\futurelet\next\codedashfinish}
   \gdef\codedashfinish{%
     \normaldash % always output the dash character itself.
-    %
+    % 
     % Now, output a discretionary to allow a line break, unless
     % (a) the next character is a -, or
     % (b) the preceding character is a -.
@@ -2930,7 +2930,7 @@
     % E.g., given --posix, we do not want to allow a break after either -.
     % Given --foo-bar, we do want to allow a break between the - and the b.
     \ifx\next\codedash \else
-      \ifx\codedashprev\codedash
+      \ifx\codedashprev\codedash 
       \else \discretionary{}{}{}\fi
     \fi
     % we need the space after the = for the case when \next itself is a
@@ -3020,7 +3020,7 @@
         % For pdfTeX and LuaTeX
         \ifurefurlonlylink
           % PDF plus option to not display url, show just arg
-          \unhbox0
+          \unhbox0             
         \else
           % PDF, normally display both arg and url for consistency,
           % visibility, if the pdf is eventually used to print, etc.
@@ -3033,7 +3033,7 @@
           % For XeTeX
           \ifurefurlonlylink
             % PDF plus option to not display url, show just arg
-            \unhbox0
+            \unhbox0             
           \else
             % PDF, normally display both arg and url for consistency,
             % visibility, if the pdf is eventually used to print, etc.
@@ -3091,10 +3091,10 @@
   }
 }
 
-% By default we'll break after the special characters, but some people like to
-% break before the special chars, so allow that.  Also allow no breaking at
+% By default we'll break after the special characters, but some people like to 
+% break before the special chars, so allow that.  Also allow no breaking at 
 % all, for manual control.
-%
+% 
 \parseargdef\urefbreakstyle{%
   \def\txiarg{#1}%
   \ifx\txiarg\wordnone
@@ -3113,10 +3113,10 @@
 \def\wordnone{none}
 
 % Allow a ragged right output to aid breaking long URL's.  There can
-% be a break at the \allowbreak with no extra glue (if the existing stretch in
+% be a break at the \allowbreak with no extra glue (if the existing stretch in 
 % the line is sufficient), a break at the \penalty with extra glue added
 % at the end of the line, or no break at all here.
-%   Changing the value of the penalty and/or the amount of stretch affects how
+%   Changing the value of the penalty and/or the amount of stretch affects how 
 % preferable one choice is over the other.
 \def\urefallowbreak{%
   \penalty0\relax
@@ -3344,7 +3344,7 @@
 % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
 % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
 % except specified as a normal braced arg, so no newlines to worry about.
-%
+% 
 \def\outfmtnametex{tex}
 %
 \long\def\inlinefmt#1{\doinlinefmt #1,\finish}
@@ -3352,7 +3352,7 @@
   \def\inlinefmtname{#1}%
   \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
 }
-%
+% 
 % @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if
 % FMTNAME is tex, else ELSE-TEXT.
 \long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish}
@@ -3368,7 +3368,7 @@
 % *right* brace they would have to use a command anyway, so they may as
 % well use a command to get a left brace too.  We could re-use the
 % delimiter character idea from \verb, but it seems like overkill.
-%
+% 
 \long\def\inlineraw{\tex \doinlineraw}
 \long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
 \def\doinlinerawtwo#1,#2,\finish{%
@@ -3645,7 +3645,7 @@
 % 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}}
 %
@@ -3725,7 +3725,7 @@
               after the title page.}}%
 \def\setshortcontentsaftertitlepage{%
   \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo
-              command; move your @shortcontents and @contents commands if you
+              command; move your @shortcontents and @contents commands if you 
               want the contents after the title page.}}%
 
 \parseargdef\shorttitlepage{%
@@ -3780,7 +3780,7 @@
 % don't worry much about spacing, ragged right.  This should be used
 % 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{%
   \rm
   \hyphenpenalty=10000
@@ -4613,7 +4613,7 @@
 % 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
+% 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.
@@ -4637,7 +4637,7 @@
 
 % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
 % with @set.
-%
+% 
 % To get the special treatment we need for `@end ifset,' we call
 % \makecond and then redefine.
 %
@@ -4670,7 +4670,7 @@
 % without the @) is in fact defined.  We can only feasibly check at the
 % TeX level, so something like `mathcode' is going to considered
 % defined even though it is not a Texinfo command.
-%
+% 
 \makecond{ifcommanddefined}
 \def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
 %
@@ -4778,8 +4778,8 @@
 \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
 \def\docodeindexxxx #1{\docind{\indexname}{#1}}
 
-
-% Used for the aux, toc and index files to prevent expansion of Texinfo
+

+% Used for the aux, toc and index files to prevent expansion of Texinfo 
 % commands.
 %
 \def\atdummies{%
@@ -5126,13 +5126,13 @@
   \let\value\indexnofontsvalue
 }
 
-% Give the control sequence a definition that removes the {} that follows
+% Give the control sequence a definition that removes the {} that follows 
 % its use, e.g. @AA{} -> AA
 \def\indexnofontsdef#1#2{\def#1##1{#2}}%
 
+

 
 
-
 % #1 is the index name, #2 is the entry text.
 \def\doind#1#2{%
   \iflinks
@@ -5171,7 +5171,7 @@
   \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
+  % 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}%
@@ -5223,7 +5223,7 @@
   \ifx\segment\isfinish
   \else
     %
-    % Fully expand the segment, throwing away any @sortas directives, and
+    % Fully expand the segment, throwing away any @sortas directives, and 
     % trim spaces.
     \edef\trimmed{\segment}%
     \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}%
@@ -5284,12 +5284,12 @@
 % the current value of \escapechar.
 \def\escapeisbackslash{\escapechar=`\\}
 
-% Use \ in index files by default.  texi2dvi didn't support @ as the escape
-% character (as it checked for "\entry" in the files, and not "@entry").  When
-% the new version of texi2dvi has had a chance to become more prevalent, then
-% the escape character can change back to @ again.  This should be an easy
-% change to make now because both @ and \ are only used as escape characters in
-% index files, never standing for themselves.
+% Use \ in index files by default.  texi2dvi didn't support @ as the escape 
+% character (as it checked for "\entry" in the files, and not "@entry").  When 
+% the new version of texi2dvi has had a chance to become more prevalent, then 
+% the escape character can change back to @ again.  This should be an easy 
+% change to make now because both @ and \ are only used as escape characters in 
+% index files, never standing for themselves. 
 %
 \set txiindexescapeisbackslash
 
@@ -5314,7 +5314,7 @@
   \def\}{\rbracechar{}}%
   \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}%
   %
-  % Split the entry into primary entry and any subentries, and get the index
+  % Split the entry into primary entry and any subentries, and get the index 
   % sort key.
   \splitindexentry\indextext
   %
@@ -5495,18 +5495,18 @@
     \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1
       \expandafter\ifx\csname SETtxiskipindexfileswithbackslash\endcsname\relax
 \errmessage{%
-ERROR: A sorted index file in an obsolete format was skipped.
+ERROR: A sorted index file in an obsolete format was skipped.  
 To fix this problem, please upgrade your version of 'texi2dvi'
 or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>.
-If you are using an old version of 'texindex' (part of the Texinfo
+If you are using an old version of 'texindex' (part of the Texinfo 
 distribution), you may also need to upgrade to a newer version (at least 6.0).
 You may be able to typeset the index if you run
 'texindex \jobname.\indexname' yourself.
-You could also try setting the 'txiindexescapeisbackslash' flag by
+You could also try setting the 'txiindexescapeisbackslash' flag by 
 running a command like
-'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'.  If you do
+'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'.  If you do 
 this, Texinfo will try to use index files in the old format.
-If you continue to have problems, deleting the index files and starting again
+If you continue to have problems, deleting the index files and starting again 
 might help (with 'rm \jobname.?? \jobname.??s')%
 }%
       \else
@@ -5579,7 +5579,7 @@
   % bottom of a column to reduce an increase in inter-line spacing.
   \nobreak
   \vskip 0pt plus 5\baselineskip
-  \penalty -300
+  \penalty -300 
   \vskip 0pt plus -5\baselineskip
   %
   % Typeset the initial.  Making this add up to a whole number of
@@ -5695,7 +5695,7 @@
       \advance\dimen at ii by 1\dimen at i
       \ifdim\wd\boxA > \dimen at ii % If the entry doesn't fit in one line
       \ifdim\dimen@ > 0.8\dimen at ii   % due to long index text
-        % Try to split the text roughly evenly.  \dimen@ will be the length of
+        % Try to split the text roughly evenly.  \dimen@ will be the length of 
         % the first line.
         \dimen@ = 0.7\dimen@
         \dimen at ii = \hsize
@@ -5903,7 +5903,7 @@
 \newbox\balancedcolumns
 \setbox\balancedcolumns=\vbox{shouldnt see this}%
 %
-% Only called for the last of the double column material.  \doublecolumnout
+% Only called for the last of the double column material.  \doublecolumnout 
 % does the others.
 \def\balancecolumns{%
   \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120.
@@ -5931,7 +5931,7 @@
     }%
     % 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.
+    % 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
@@ -6228,7 +6228,7 @@
 \let\top\unnumbered
 
 % Sections.
-%
+% 
 \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
 \def\seczzz#1{%
   \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
@@ -6251,7 +6251,7 @@
 }
 
 % Subsections.
-%
+% 
 % normally calls numberedsubseczzz:
 \outer\parseargdef\numberedsubsec{\numhead2{#1}}
 \def\numberedsubseczzz#1{%
@@ -6276,7 +6276,7 @@
 }
 
 % Subsubsections.
-%
+% 
 % normally numberedsubsubseczzz:
 \outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
 \def\numberedsubsubseczzz#1{%
@@ -7342,7 +7342,7 @@
 
 % @indentedblock is like @quotation, but indents only on the left and
 % has no optional argument.
-%
+% 
 \makedispenvdef{indentedblock}{\indentedblockstart}
 %
 \def\indentedblockstart{%
@@ -7639,7 +7639,7 @@
 % @deftypefnnewline on|off says whether the return type of typed functions
 % are printed on their own line.  This affects @deftypefn, @deftypefun,
 % @deftypeop, and @deftypemethod.
-%
+% 
 \parseargdef\deftypefnnewline{%
   \def\temp{#1}%
   \ifx\temp\onword
@@ -7658,8 +7658,8 @@
 % \dosubind {index}{topic}{subtopic}
 %
 % If SUBTOPIC is present, precede it with a space, and call \doind.
-% (At some time during the 20th century, this made a two-level entry in an
-% index such as the operation index.  Nobody seemed to notice the change in
+% (At some time during the 20th century, this made a two-level entry in an 
+% index such as the operation index.  Nobody seemed to notice the change in 
 % behaviour though.)
 \def\dosubind#1#2#3{%
   \def\thirdarg{#3}%
@@ -7834,7 +7834,7 @@
       \tclose{\temp}% typeset the return type
       \ifrettypeownline
         % put return type on its own line; prohibit line break following:
-        \hfil\vadjust{\nobreak}\break
+        \hfil\vadjust{\nobreak}\break  
       \else
         \space  % type on same line, so just followed by a space
       \fi
@@ -7988,7 +7988,7 @@
   \scantokens{#1 at comment}%
   %
   % The \comment is to remove the \newlinechar added by \scantokens, and
-  % can be noticed by \parsearg.  Note \c isn't used because this means cedilla
+  % can be noticed by \parsearg.  Note \c isn't used because this means cedilla 
   % in math mode.
 }
 
@@ -8194,7 +8194,7 @@
 % 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.
+% defined `a la TeX in the macro body.  
 %
 % That gets used by \mbodybackslash (above).
 %
@@ -8228,8 +8228,8 @@
 %
 % 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
+% 
+% 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.
 %
@@ -8263,7 +8263,7 @@
 % twice the \macarg.BLAH macros does not cost too much processing power.
 \def\parsemmanyargdef@@#1,{%
   \if#1;\let\next=\relax
-  \else
+  \else 
     \let\next=\parsemmanyargdef@@
     \edef\tempb{\eatspaces{#1}}%
     \expandafter\def\expandafter\tempa
@@ -8348,7 +8348,7 @@
 
 % Replace arguments by their values in the macro body, and place the result
 % 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
@@ -8372,9 +8372,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. 
+% 
+\def\macargexpandinbody@{% 
   \expandafter
   \endgroup
   \macargdeflist@
@@ -8412,7 +8412,7 @@
 }
 
 % Trailing missing arguments are set to empty.
-%
+% 
 \def\setemptyargvalues@{%
   \ifx\paramlist\nilm@
     \let\next\macargexpandinbody@
@@ -8489,7 +8489,7 @@
   \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
+      % @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.
@@ -8533,11 +8533,11 @@
 % 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
+% 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
 %
@@ -8559,11 +8559,11 @@
 % #3 - NEXT_TOKEN
 % #4 used to look ahead
 %
-% If the next token is not a backslash, process the rest of the argument;
+% If the next token is not a backslash, process the rest of the argument; 
 % otherwise, remove the next token.
 @gdef at look_ahead#1!#2#3#4{%
   @ifx#4\%
-   @expandafter at gobble_and_check_finish
+   @expandafter at gobble_and_check_finish 
   @else
    @expandafter at add_segment
   @fi#1!{#2}#4#4%
@@ -8587,9 +8587,9 @@
 % #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,
+% 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
@@ -8601,13 +8601,13 @@
   % append the pending backslash to the result, followed by the next segment
   @expandafter at 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
+  % 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
+% #3 discards the res of the conditional in @add_segment, and @is_fi ends the 
 % conditional.
 @gdef at call_the_macro#1#2!#3 at fi{@is_fi #1{#2}}
 
@@ -8619,7 +8619,7 @@
 % 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
@@ -8673,7 +8673,7 @@
 
 % Used so that the @top node doesn't have to be wrapped in an @ifnottex
 % conditional.
-% \doignore goes to more effort to skip nested conditionals but we don't need
+% \doignore goes to more effort to skip nested conditionals but we don't need 
 % that here.
 \def\omittopnode{%
    \ifx\lastnode\wordTop
@@ -8681,7 +8681,7 @@
 }
 \def\wordTop{Top}
 
-% Until the next @node or @bye command, divert output to a box that is not
+% Until the next @node or @bye command, divert output to a box that is not 
 % output.
 \def\ignorenode{\setbox\dummybox\vbox\bgroup\def\node{\egroup\node}%
 \ignorenodebye
@@ -8748,7 +8748,7 @@
 % automatically in xrefs, if the third arg is not explicitly specified.
 % This was provided as a "secret" @set xref-automatic-section-title
 % variable, now it's official.
-%
+% 
 \parseargdef\xrefautomaticsectiontitle{%
   \def\temp{#1}%
   \ifx\temp\onword
@@ -8764,7 +8764,7 @@
   \fi\fi
 }
 
-%
+% 

 % @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
 % the node name, #2 the name of the Info cross-reference, #3 the printed
 % node name, #4 the name of the Info file, #5 the name of the printed
@@ -8917,7 +8917,7 @@
     \fi
   \else
     % node/anchor (non-float) references.
-    %
+    % 
     % If we use \unhbox to print the node names, TeX does not insert
     % empty discretionaries after hyphens, which means that it will not
     % find a line break at a hyphen in a node names.  Since some manuals
@@ -8924,10 +8924,10 @@
     % are best written with fairly long node names, containing hyphens,
     % this is a loss.  Therefore, we give the text of the node name
     % again, so it is as if TeX is seeing it for the first time.
-    %
+    % 
     \ifdim \wd\printedmanualbox > 0pt
       % Cross-manual reference with a printed manual name.
-      %
+      % 
       \crossmanualxref{\cite{\printedmanual\unskip}}%
     %
     \else\ifdim \wd\infofilenamebox > 0pt
@@ -8934,7 +8934,7 @@
       % Cross-manual reference with only an info filename (arg 4), no
       % printed manual name (arg 5).  This is essentially the same as
       % the case above; we output the filename, since we have nothing else.
-      %
+      % 
       \crossmanualxref{\code{\infofilename\unskip}}%
     %
     \else
@@ -8970,20 +8970,20 @@
 \endgroup}
 
 % Output a cross-manual xref to #1.  Used just above (twice).
-%
+% 
 % Only include the text "Section ``foo'' in" if the foo is neither
 % missing or Top.  Thus, @xref{,,,foo,The Foo Manual} outputs simply
 % "see The Foo Manual", the idea being to refer to the whole manual.
-%
+% 
 % But, this being TeX, we can't easily compare our node name against the
 % string "Top" while ignoring the possible spaces before and after in
 % the input.  By adding the arbitrary 7sp below, we make it much less
 % likely that a real node name would have the same width as "Top" (e.g.,
 % in a monospaced font).  Hopefully it will never happen in practice.
-%
+% 
 % For the same basic reason, we retypeset the "Top" at every
 % reference, since the current font is indeterminate.
-%
+% 
 \def\crossmanualxref#1{%
   \setbox\toprefbox = \hbox{Top\kern7sp}%
   \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
@@ -9060,9 +9060,9 @@
   \fi
 }
 
-% 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
+% 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{%
@@ -9078,10 +9078,10 @@
   \bgroup
     \expandafter\gdef\csname XR\safexrefname\endcsname{#2}%
   \egroup
-  % We put the \gdef inside a group to avoid the definitions building up on
-  % TeX's save stack, which can cause it to run out of space for aux files with
+  % We put the \gdef inside a group to avoid the definitions building up on 
+  % TeX's save stack, which can cause it to run out of space for aux files with 
   % thousands of lines.  \gdef doesn't use the save stack, but \csname does
-  % when it defines an unknown control sequence as \relax.
+  % when it defines an unknown control sequence as \relax. 
   %
   % Was that xref control sequence that we just defined for a float?
   \expandafter\iffloat\csname XR\safexrefname\endcsname
@@ -9440,7 +9440,7 @@
   %
   \ifimagevmode
     \medskip  % space after a standalone image
-  \fi
+  \fi  
   \ifx\centersub\centerV \egroup \fi
 \endgroup}
 
@@ -10271,7 +10271,7 @@
         \uppercase{.}
       \endgroup
     \else
-      \errhelp = \EMsimple
+      \errhelp = \EMsimple	
       \errmessage{Unicode character U+#1 not supported, sorry}%
     \fi
   \else
@@ -10304,7 +10304,7 @@
     \countUTFz = "#1\relax
     \begingroup
       \parseXMLCharref
-
+    
       % Give \u8:... its definition.  The sequence of seven \expandafter's
       % expands after the \gdef three times, e.g.
       %
@@ -10316,7 +10316,7 @@
       \expandafter\expandafter
       \expandafter\expandafter
       \expandafter\gdef       \UTFviiiTmp{#2}%
-      %
+      % 
       \expandafter\ifx\csname uni:#1\endcsname \relax \else
        \message{Internal error, already defined: #1}%
       \fi
@@ -10355,7 +10355,7 @@
     \divide\countUTFz by 64
     \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
@@ -10390,7 +10390,7 @@
 % U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)
 % U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A
 % U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B
-%
+% 
 % Many of our renditions are less than wonderful, and all the missing
 % characters are available somewhere.  Loading the necessary fonts
 % awaits user request.  We can't truly support Unicode without
@@ -11442,7 +11442,7 @@
 \def\texinfochars{%
   \let< = \activeless
   \let> = \activegtr
-  \let~ = \activetilde
+  \let~ = \activetilde 
   \let^ = \activehat
   \setregularquotes
   \let\b = \strong

Modified: branches/stable/source/src/doc/Makefile.in
===================================================================
--- branches/stable/source/src/doc/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/doc/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/doc/build-tools.txt
===================================================================
--- branches/stable/source/src/doc/build-tools.txt	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/doc/build-tools.txt	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,6 +1,6 @@
 autoconf (GNU Autoconf) 2.71
-automake (GNU automake) 1.16.4
-bison (GNU Bison) 3.7.5
+automake (GNU automake) 1.16.5
+bison (GNU Bison) 3.8.2
 flex 2.6.0
 ltmain.sh (GNU libtool) 2.4.6
 m4 (GNU M4) 1.4.19

Modified: branches/stable/source/src/doc/tlbuild.info
===================================================================
--- branches/stable/source/src/doc/tlbuild.info	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/doc/tlbuild.info	2021-11-03 18:16:31 UTC (rev 867)
@@ -59,7 +59,8 @@
 1 Introduction
 **************
 
-This manual (dated July 2021) corresponds to the TeX Live 2021 release.
+This manual (dated September 2021) corresponds to the TeX Live 2021
+release.
 
    This manual is aimed at system installers and programmers, and
 focuses on how to configure, build, and develop the TeX Live (TL)
@@ -764,8 +765,8 @@
    Currently the versions we use are:
 
      autoconf (GNU Autoconf) 2.71
-     automake (GNU automake) 1.16.4
-     bison (GNU Bison) 3.7.5
+     automake (GNU automake) 1.16.5
+     bison (GNU Bison) 3.8.2
      flex 2.6.0
      ltmain.sh (GNU libtool) 2.4.6
      m4 (GNU M4) 1.4.19
@@ -1405,7 +1406,7 @@
 program, but it's not all that similar, either.  In this case, the main
 work is done by creating a new subdirectory of 'texk/web2c/' for the
 engine.  The subdirectory is conventionally named ending in 'dir', like
-'pdftexdir' and 'xetexdir'.
+'pdftexdir' and 'xetexdir', to avoid clashes with executable names.
 
    The source files for the new engine should be put in this
 'NEWENGINEdir' subdirectory.  Also, a file
@@ -1425,6 +1426,13 @@
 LuaTeX.  Of course, every engine will have its own unique features and
 requirements, so existing examples will only take you so far.
 
+   Web2c is built as one "package", with each subdirectory's '.am'
+fragment inserted with an Automake 'include'.  This means that, for
+instance, '$(srcdir)' is '.../web2c', not '.../webdir/enginedir'.  It is
+a difficult setup to come to terms with, but the alternative is to
+recurse into each engine subdirectory, and that would be far worse
+(*note (automake)Directories::).
+
 
 File: tlbuild.info,  Node: Adding a new generic library module,  Next: Adding a new TeX-specific library module,  Prev: Adding a new engine,  Up: Extending TeX Live
 
@@ -5951,401 +5959,401 @@
 Tag Table:
 Node: Top1208
 Node: Introduction2118
-Node: Overview of build system3942
-Node: Prerequisites5993
-Node: Building8589
-Node: Build iteration9975
-Node: Build problems11016
-Node: Build in parallel11470
-Node: Build distribution12074
-Node: Build one package12722
-Node: Build one engine16496
-Node: Cross compilation18179
-Node: Cross configuring19459
-Node: Cross problems21136
-Node: Installing22798
-Node: Installation directories23818
-Node: Linked scripts25636
-Node: Distro builds27127
-Node: Layout and infrastructure29503
-Node: Build system tools30334
-Node: Top-level directories32551
-Node: Autoconf macros34787
-Node: General setup macros35549
-Node: Macros for programs36424
-Node: Macros for compilers37225
-Node: Macros for libraries38633
-Node: Macros for library and header flags39059
-Node: Macros for Windows40970
-Node: Library modules42557
-Node: png library43046
-Node: zlib library45394
-Node: freetype library45909
-Node: kpathsea library46605
-Node: Program modules47984
-Node: t1utils package48412
-Node: xindy package48957
-Node: xdvik package50073
-Node: asymptote51132
-Node: Extending TeX Live51628
-Node: Adding a new program module52435
-Node: Adding a new engine57198
-Node: Adding a new generic library module58567
-Node: Adding a new TeX-specific library module60788
-Node: Configure options61486
-Node: Global configure options62867
-Node: --disable-native-texlive-build63409
-Node: --prefix --bindir ...64371
-Node: --disable-largefile64911
-Node: --disable-missing65453
-Node: --enable-compiler-warnings=LEVEL65854
-Node: --enable-cxx-runtime-hack66510
-Node: --enable-maintainer-mode66930
-Node: --enable-multiplatform67459
-Node: --enable-shared68032
-Node: --enable-silent-rules68403
-Node: --without-ln-s68855
-Node: --without-x69202
-Node: Program-specific configure options69390
-Node: --enable-PROG --disable-PROG70033
-Node: --disable-all-pkgs70306
-Node: Configure options for texk/web2c71089
-Node: Configure options for texk/bibtex-x73627
-Node: Configure options for texk/dvipdfm-x74170
-Node: Configure options for texk/dvisvgm74946
-Node: Configure options for texk/texlive75827
-Node: Configure options for texk/xdvik76248
-Node: Configure options for utils/xindy76869
-Node: Library-specific configure options77759
-Node: Configure options for kpathsea78720
-Node: Variables for configure79424
-Node: Coding conventions80850
-Node: Declarations and definitions81565
-Node: Const83739
-Node: Continuous integration85603
-Node: Transfer from Subversion to Github86267
-Node: Automatic update of the Git mirror88429
-Node: CI testing on Travis-CI89011
-Node: Releases on Github89720
-Node: install-tl90160
-Node: install-tl NAME90529
-Node: install-tl SYNOPSIS90687
-Node: install-tl DESCRIPTION90945
-Node: install-tl REFERENCES92005
-Node: install-tl OPTIONS92529
-Ref: install-tl *-gui* [[=]_module_]92870
-Ref: install-tl text93078
-Ref: install-tl tcl (or "perltk" or "wizard" or "expert" or nothing)93263
-Ref: install-tl *-no-gui*93895
-Ref: install-tl *-lang* _llcode_93985
-Ref: install-tl *-repository* _url|path_94609
-Ref: install-tl *-select-repository*95498
-Ref: install-tl *-all-options*95916
-Ref: install-tl *-custom-bin* _path_96171
-Ref: install-tl *-debug-translation*97005
-Ref: install-tl *-force-platform* _platform_97281
-Ref: install-tl *-help*, *--help*, *-?*97525
-Ref: install-tl *-in-place*97938
-Ref: install-tl *-init-from-profile* _profile_file_98483
-Ref: install-tl *-logfile* _file_98752
-Ref: install-tl *-no-cls*99103
-Ref: install-tl *-no-persistent-downloads*99251
-Ref: install-tl *-persistent-downloads*99276
-Ref: install-tl *-no-verify-downloads*99894
-Ref: install-tl *-non-admin*100257
-Ref: install-tl *-portable*100350
-Ref: install-tl *-print-platform*100489
-Ref: install-tl *-profile* _profile_file_100687
-Ref: install-tl *-q*100908
-Ref: install-tl *-scheme* _scheme_100970
-Ref: install-tl *-v*101444
-Ref: install-tl *-version*, *--version*101599
-Node: install-tl PROFILES101733
-Ref: install-tl instopt_adjustpath (default 0 on Unix, 1 on Windows)104599
-Ref: install-tl instopt_adjustrepo (default 1)104675
-Ref: install-tl instopt_letter (default 0)104812
-Ref: install-tl instopt_portable (default 0)104903
-Ref: install-tl instopt_write18_restricted (default 1)104999
-Node: install-tl ENVIRONMENT VARIABLES106338
-Ref: install-tl TEXLIVE_DOWNLOADER106716
-Ref: install-tl TL_DOWNLOAD_PROGRAM106739
-Ref: install-tl TL_DOWNLOAD_ARGS106759
-Ref: install-tl TEXLIVE_INSTALL_ENV_NOCHECK106963
-Ref: install-tl TEXLIVE_INSTALL_NO_CONTEXT_CACHE107165
-Ref: install-tl TEXLIVE_INSTALL_NO_RESUME107274
-Ref: install-tl TEXLIVE_INSTALL_NO_WELCOME107426
-Ref: install-tl TEXLIVE_INSTALL_PAPER107547
-Ref: install-tl TEXLIVE_INSTALL_PREFIX107693
-Ref: install-tl TEXLIVE_INSTALL_TEXDIR107719
-Ref: install-tl TEXLIVE_INSTALL_TEXMFCONFIG107750
-Ref: install-tl TEXLIVE_INSTALL_TEXMFVAR107778
-Ref: install-tl TEXLIVE_INSTALL_TEXMFHOME107807
-Ref: install-tl TEXLIVE_INSTALL_TEXMFLOCAL107837
-Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSCONFIG107871
-Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSVAR107902
-Ref: install-tl NOPERLDOC108273
-Node: install-tl AUTHORS AND COPYRIGHT108337
-Node: tlmgr108750
-Node: tlmgr NAME109235
-Node: tlmgr SYNOPSIS109367
-Node: tlmgr DESCRIPTION109557
-Node: tlmgr EXAMPLES110656
-Ref: tlmgr tlmgr option repository ctan110907
-Ref: tlmgr tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet110980
-Ref: tlmgr tlmgr update --list111585
-Ref: tlmgr tlmgr update --all111678
-Ref: tlmgr tlmgr info _what_111835
-Node: tlmgr OPTIONS112097
-Ref: tlmgr *--repository* _url|path_112617
-Ref: tlmgr /some/local/dir113803
-Ref: tlmgr file:/some/local/dir113832
-Ref: tlmgr ctan113905
-Ref: tlmgr https://mirror.ctan.org/systems/texlive/tlnet113959
-Ref: tlmgr http://server/path/to/tlnet114300
-Ref: tlmgr https://server/path/to/tlnet114681
-Ref: tlmgr ftp://server/path/to/tlnet115149
-Ref: tlmgr user at machine:/path/to/tlnet115281
-Ref: tlmgr scp://user@machine/path/to/tlnet115322
-Ref: tlmgr ssh://user@machine/path/to/tlnet115363
-Ref: tlmgr *--gui* [_action_]115756
-Ref: tlmgr *--gui-lang* _llcode_116569
-Ref: tlmgr *--command-logfile* _file_117310
-Ref: tlmgr *--debug-translation*117576
-Ref: tlmgr *--machine-readable*117779
-Ref: tlmgr *--no-execute-actions*118047
-Ref: tlmgr *--package-logfile* _file_118240
-Ref: tlmgr *--pause*118494
-Ref: tlmgr *--persistent-downloads*118649
-Ref: tlmgr *--no-persistent-downloads*118677
-Ref: tlmgr *--pin-file*119171
-Ref: tlmgr *--usermode*119389
-Ref: tlmgr *--usertree* _dir_119509
-Ref: tlmgr *--verify-repo=[none|main|all]*119635
-Node: tlmgr ACTIONS120534
-Node: tlmgr help121395
-Node: tlmgr version121872
-Node: tlmgr backup122135
-Ref: tlmgr *backup [_option_...] --all*122306
-Ref: tlmgr *backup [_option_...] _pkg_...*122339
-Ref: tlmgr *--backupdir* _directory_123405
-Ref: tlmgr *--all*123622
-Ref: tlmgr *--clean*[=_N_]123874
-Ref: tlmgr *--dry-run*124201
-Node: tlmgr candidates _pkg_124331
-Node: tlmgr check [_option_...] [depends|executes|files|runfiles|texmfdbs|all]124686
-Ref: tlmgr *depends*125200
-Ref: tlmgr *executes*125542
-Ref: tlmgr *files*125657
-Ref: tlmgr *runfiles*125793
-Ref: tlmgr *texmfdbs*125930
-Ref: tlmgr - all items in TEXMFDBS have the !! prefix.126160
-Ref: tlmgr - all items in TEXMFBDS have an ls-R file (if they exist at all).126236
-Ref: tlmgr - all items in TEXMF with !! are listed in TEXMFDBS.126301
-Ref: tlmgr - all items in TEXMF with an ls-R file are listed in TEXMFDBS.126376
-Ref: tlmgr *--use-svn*126401
-Node: tlmgr conf126542
-Ref: tlmgr *conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]*126830
-Ref: tlmgr *conf auxtrees [--conffile _file_] [show|add|remove] [_value_]*126894
-Node: tlmgr dump-tlpdb [_option_...] [--json]129309
-Ref: tlmgr *--local*129742
-Ref: tlmgr *--remote*129781
-Ref: tlmgr *--json*129819
-Node: tlmgr generate130390
-Ref: tlmgr *generate [_option_...] language*130586
-Ref: tlmgr *generate [_option_...] language.dat*130625
-Ref: tlmgr *generate [_option_...] language.def*130664
-Ref: tlmgr *generate [_option_...] language.dat.lua*130707
-Ref: tlmgr *--dest* _output_file_133034
-Ref: tlmgr *--localcfg* _local_conf_file_133610
-Ref: tlmgr *--rebuild-sys*133733
-Node: tlmgr gui134548
-Node: tlmgr info134726
-Ref: tlmgr *info [_option_...] _pkg_...*134888
-Ref: tlmgr *info [_option_...] collections*134922
-Ref: tlmgr *info [_option_...] schemes*134952
-Ref: tlmgr *--list*136482
-Ref: tlmgr *--only-installed*136796
-Ref: tlmgr *--only-remote*136984
-Ref: tlmgr *--data item1,item2,...*137288
-Ref: tlmgr *--json* 1138651
-Node: tlmgr init-usertree139034
-Node: tlmgr install [_option_...] _pkg_...139415
-Ref: tlmgr *--dry-run* 1139923
-Ref: tlmgr *--file*140040
-Ref: tlmgr *--force*140262
-Ref: tlmgr *--no-depends*140482
-Ref: tlmgr *--no-depends-at-all*140641
-Ref: tlmgr *--reinstall*141041
-Ref: tlmgr *--with-doc*141419
-Ref: tlmgr *--with-src*141432
-Node: tlmgr key142160
-Ref: tlmgr *key list*142318
-Ref: tlmgr *key add _file_*142336
-Ref: tlmgr *key remove _keyid_*142358
-Node: tlmgr list142952
-Node: tlmgr option143114
-Ref: tlmgr *option [--json] [show]*143269
-Ref: tlmgr *option [--json] showall|help*143300
-Ref: tlmgr *option _key_ [_value_]*143326
-Node: tlmgr paper147905
-Ref: tlmgr *paper [a4|letter]*148054
-Ref: tlmgr *<[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*>148130
-Ref: tlmgr *paper --json*148145
-Node: tlmgr path149360
-Ref: tlmgr *path [--w32mode=user|admin] add*149521
-Ref: tlmgr *path [--w32mode=user|admin] remove*149558
-Node: tlmgr pinning151043
-Ref: tlmgr pinning show151284
-Ref: tlmgr pinning add _repo_ _pkgglob_...151357
-Ref: tlmgr pinning remove _repo_ _pkgglob_...151476
-Ref: tlmgr pinning remove _repo_ --all151629
-Node: tlmgr platform151683
-Ref: tlmgr *platform list|add|remove _platform_...*151869
-Ref: tlmgr *platform set _platform_*151896
-Ref: tlmgr *platform set auto*151917
-Ref: tlmgr *--dry-run* 2152794
-Node: tlmgr postaction152913
-Ref: tlmgr *postaction [_option_...] install [shortcut|fileassoc|script] [_pkg_...]*153143
-Ref: tlmgr *postaction [_option_...] remove [shortcut|fileassoc|script] [_pkg_...]*153217
-Ref: tlmgr *--w32mode=[user|admin]*153532
-Ref: tlmgr *--fileassocmode=[1|2]*153948
-Ref: tlmgr *--all* 1154233
-Node: tlmgr print-platform154288
-Node: tlmgr print-platform-info154619
-Node: tlmgr remove [_option_...] _pkg_...154919
-Ref: tlmgr *--all* 2155403
-Ref: tlmgr *--backup*155513
-Ref: tlmgr *--backupdir* _directory_ 1155539
-Ref: tlmgr *--no-depends* 1155944
-Ref: tlmgr *--no-depends-at-all* 1156006
-Ref: tlmgr *--force* 1156109
-Ref: tlmgr *--dry-run* 3156582
-Node: tlmgr repository156918
-Ref: tlmgr *repository list*157106
-Ref: tlmgr *repository list _path|url|tag_*157140
-Ref: tlmgr *repository add _path_ [_tag_]*157173
-Ref: tlmgr *repository remove _path|tag_*157205
-Ref: tlmgr *repository set _path_[#_tag_] [_path_[#_tag_] ...]*157259
-Ref: tlmgr *repository status*157280
-Ref: tlmgr The tag (which can be the same as the url);158507
-Node: tlmgr restore158985
-Ref: tlmgr *restore [_option_...] _pkg_ [_rev_]*159164
-Ref: tlmgr *restore [_option_...] --all*159194
-Ref: tlmgr *--all* 3159894
-Ref: tlmgr *--backupdir* _directory_ 2160108
-Ref: tlmgr *--dry-run* 4160289
-Ref: tlmgr *--force* 2160421
-Ref: tlmgr *--json* 2160467
-Node: tlmgr search160794
-Ref: tlmgr *search [_option_...] _what_*160958
-Ref: tlmgr *search [_option_...] --file _what_*160995
-Ref: tlmgr *search [_option_...] --all _what_*161031
-Ref: tlmgr *--file* 1161251
-Ref: tlmgr *--all* 4161313
-Ref: tlmgr *--global*161402
-Ref: tlmgr *--word*161529
-Node: tlmgr shell161844
-Ref: tlmgr protocol162579
-Ref: tlmgr help 1162643
-Ref: tlmgr version 1162696
-Ref: tlmgr quit, end, bye, byebye, EOF162764
-Ref: tlmgr restart162785
-Ref: tlmgr load [local|remote]162908
-Ref: tlmgr save162978
-Ref: tlmgr get [_var_] =item set [_var_ [_val_]]163101
-Node: tlmgr show163702
-Node: tlmgr uninstall163869
-Node: tlmgr update [_option_...] [_pkg_...]164099
-Ref: tlmgr *--all* 5164470
-Ref: tlmgr *--self*166649
-Ref: tlmgr *--dry-run* 5167413
-Ref: tlmgr *--list* [_pkg_]167590
-Ref: tlmgr *--exclude* _pkg_168279
-Ref: tlmgr *--no-auto-remove* [_pkg_...]169079
-Ref: tlmgr *--no-auto-install* [_pkg_...]169563
-Ref: tlmgr *--reinstall-forcibly-removed*170325
-Ref: tlmgr *--backup* 1170860
-Ref: tlmgr *--backupdir* _directory_ 3170886
-Ref: tlmgr *--no-depends* 2172052
-Ref: tlmgr *--no-depends-at-all* 2172255
-Ref: tlmgr *--force* 3172358
-Node: tlmgr CONFIGURATION FILE FOR TLMGR173349
-Ref: tlmgr auto-remove, value 0 or 1 (default 1), same as command-line option.174356
-Ref: tlmgr gui-expertmode, value 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.174493
-Ref: tlmgr gui-lang _llcode_, with a language code value as with the command-line option.174575
-Ref: tlmgr no-checksums, value 0 or 1 (default 0, see below).174629
-Ref: tlmgr persistent-downloads, value 0 or 1 (default 1), same as command-line option.174709
-Ref: tlmgr require-verification, value 0 or 1 (default 0), same as command-line option.174789
-Ref: tlmgr tkfontscale, value any float. Controls the scaling of fonts in the Tk based frontends.174879
-Ref: tlmgr update-exclude, value: comma-separated list of packages (no space allowed). Same as the command line option --exclude for the action update.175027
-Ref: tlmgr verify-downloads, value 0 or 1 (default 1), same as command-line option.175103
-Ref: tlmgr allowed-actions _action1_ [,_action_,...] The value is a comma-separated list of tlmgr actions which are allowed to be executed when tlmgr is invoked in system mode (that is, without --usermode).175372
-Node: tlmgr CRYPTOGRAPHIC VERIFICATION176460
-Node: tlmgr Configuration of GnuPG invocation178633
-Node: tlmgr USER MODE179271
-Node: tlmgr User mode install182117
-Node: tlmgr User mode backup, restore, remove, update183261
-Node: tlmgr User mode generate, option, paper183703
-Node: tlmgr MULTIPLE REPOSITORIES184079
-Node: tlmgr Pinning185808
-Node: tlmgr GUI FOR TLMGR187731
-Node: tlmgr Main display189380
-Node: tlmgr Display configuration area189632
-Ref: tlmgr Status189993
-Ref: tlmgr Category190157
-Ref: tlmgr Match190343
-Ref: tlmgr Selection190524
-Ref: tlmgr Display configuration buttons190728
-Node: tlmgr Package list area190911
-Ref: tlmgr a checkbox191495
-Ref: tlmgr package name191631
-Ref: tlmgr local revision (and version)191730
-Ref: tlmgr remote revision (and version)192105
-Ref: tlmgr short description192402
-Node: tlmgr Main display action buttons192447
-Ref: tlmgr Update all installed192713
-Ref: tlmgr Update193085
-Ref: tlmgr Install193135
-Ref: tlmgr Remove193321
-Ref: tlmgr Backup193499
-Node: tlmgr Menu bar193656
-Ref: tlmgr tlmgr menu193879
-Ref: tlmgr Options menu194187
-Ref: tlmgr Actions menu195270
-Ref: tlmgr Help menu195698
-Node: tlmgr GUI options195832
-Ref: tlmgr -background _color_196078
-Ref: tlmgr -font " _fontname_ _fontsize_ "196143
-Ref: tlmgr -foreground _color_196301
-Ref: tlmgr -geometry _geomspec_196353
-Ref: tlmgr -xrm _xresource_196545
-Node: tlmgr MACHINE-READABLE OUTPUT196814
-Node: tlmgr Machine-readable update and install output197624
-Ref: tlmgr location-url _location_198900
-Ref: tlmgr total-bytes _count_199116
-Ref: tlmgr _pkgname_199526
-Ref: tlmgr _status_199736
-Ref: tlmgr d199814
-Ref: tlmgr f199874
-Ref: tlmgr u200053
-Ref: tlmgr r200099
-Ref: tlmgr a200222
-Ref: tlmgr i200400
-Ref: tlmgr I200519
-Ref: tlmgr _localrev_200621
-Ref: tlmgr _serverrev_200728
-Ref: tlmgr _size_200840
-Ref: tlmgr _runtime_201009
-Ref: tlmgr _esttot_201079
-Node: tlmgr Machine-readable option output201112
-Node: tlmgr ENVIRONMENT VARIABLES201624
-Ref: tlmgr TEXLIVE_COMPRESSOR202135
-Ref: tlmgr TEXLIVE_DOWNLOADER202983
-Ref: tlmgr TL_DOWNLOAD_PROGRAM203006
-Ref: tlmgr TL_DOWNLOAD_ARGS203026
-Ref: tlmgr TEXLIVE_PREFER_OWN204052
-Node: tlmgr AUTHORS AND COPYRIGHT204876
-Node: Index205274
+Node: Overview of build system3947
+Node: Prerequisites5998
+Node: Building8594
+Node: Build iteration9980
+Node: Build problems11021
+Node: Build in parallel11475
+Node: Build distribution12079
+Node: Build one package12727
+Node: Build one engine16501
+Node: Cross compilation18184
+Node: Cross configuring19464
+Node: Cross problems21141
+Node: Installing22803
+Node: Installation directories23823
+Node: Linked scripts25641
+Node: Distro builds27132
+Node: Layout and infrastructure29508
+Node: Build system tools30339
+Node: Top-level directories32556
+Node: Autoconf macros34792
+Node: General setup macros35554
+Node: Macros for programs36429
+Node: Macros for compilers37230
+Node: Macros for libraries38638
+Node: Macros for library and header flags39064
+Node: Macros for Windows40975
+Node: Library modules42562
+Node: png library43051
+Node: zlib library45399
+Node: freetype library45914
+Node: kpathsea library46610
+Node: Program modules47989
+Node: t1utils package48417
+Node: xindy package48962
+Node: xdvik package50078
+Node: asymptote51137
+Node: Extending TeX Live51633
+Node: Adding a new program module52440
+Node: Adding a new engine57203
+Node: Adding a new generic library module58988
+Node: Adding a new TeX-specific library module61209
+Node: Configure options61907
+Node: Global configure options63288
+Node: --disable-native-texlive-build63830
+Node: --prefix --bindir ...64792
+Node: --disable-largefile65332
+Node: --disable-missing65874
+Node: --enable-compiler-warnings=LEVEL66275
+Node: --enable-cxx-runtime-hack66931
+Node: --enable-maintainer-mode67351
+Node: --enable-multiplatform67880
+Node: --enable-shared68453
+Node: --enable-silent-rules68824
+Node: --without-ln-s69276
+Node: --without-x69623
+Node: Program-specific configure options69811
+Node: --enable-PROG --disable-PROG70454
+Node: --disable-all-pkgs70727
+Node: Configure options for texk/web2c71510
+Node: Configure options for texk/bibtex-x74048
+Node: Configure options for texk/dvipdfm-x74591
+Node: Configure options for texk/dvisvgm75367
+Node: Configure options for texk/texlive76248
+Node: Configure options for texk/xdvik76669
+Node: Configure options for utils/xindy77290
+Node: Library-specific configure options78180
+Node: Configure options for kpathsea79141
+Node: Variables for configure79845
+Node: Coding conventions81271
+Node: Declarations and definitions81986
+Node: Const84160
+Node: Continuous integration86024
+Node: Transfer from Subversion to Github86688
+Node: Automatic update of the Git mirror88850
+Node: CI testing on Travis-CI89432
+Node: Releases on Github90141
+Node: install-tl90581
+Node: install-tl NAME90950
+Node: install-tl SYNOPSIS91108
+Node: install-tl DESCRIPTION91366
+Node: install-tl REFERENCES92426
+Node: install-tl OPTIONS92950
+Ref: install-tl *-gui* [[=]_module_]93291
+Ref: install-tl text93499
+Ref: install-tl tcl (or "perltk" or "wizard" or "expert" or nothing)93684
+Ref: install-tl *-no-gui*94316
+Ref: install-tl *-lang* _llcode_94406
+Ref: install-tl *-repository* _url|path_95030
+Ref: install-tl *-select-repository*95919
+Ref: install-tl *-all-options*96337
+Ref: install-tl *-custom-bin* _path_96592
+Ref: install-tl *-debug-translation*97426
+Ref: install-tl *-force-platform* _platform_97702
+Ref: install-tl *-help*, *--help*, *-?*97946
+Ref: install-tl *-in-place*98359
+Ref: install-tl *-init-from-profile* _profile_file_98904
+Ref: install-tl *-logfile* _file_99173
+Ref: install-tl *-no-cls*99524
+Ref: install-tl *-no-persistent-downloads*99672
+Ref: install-tl *-persistent-downloads*99697
+Ref: install-tl *-no-verify-downloads*100315
+Ref: install-tl *-non-admin*100678
+Ref: install-tl *-portable*100771
+Ref: install-tl *-print-platform*100910
+Ref: install-tl *-profile* _profile_file_101108
+Ref: install-tl *-q*101329
+Ref: install-tl *-scheme* _scheme_101391
+Ref: install-tl *-v*101865
+Ref: install-tl *-version*, *--version*102020
+Node: install-tl PROFILES102154
+Ref: install-tl instopt_adjustpath (default 0 on Unix, 1 on Windows)105020
+Ref: install-tl instopt_adjustrepo (default 1)105096
+Ref: install-tl instopt_letter (default 0)105233
+Ref: install-tl instopt_portable (default 0)105324
+Ref: install-tl instopt_write18_restricted (default 1)105420
+Node: install-tl ENVIRONMENT VARIABLES106759
+Ref: install-tl TEXLIVE_DOWNLOADER107137
+Ref: install-tl TL_DOWNLOAD_PROGRAM107160
+Ref: install-tl TL_DOWNLOAD_ARGS107180
+Ref: install-tl TEXLIVE_INSTALL_ENV_NOCHECK107384
+Ref: install-tl TEXLIVE_INSTALL_NO_CONTEXT_CACHE107586
+Ref: install-tl TEXLIVE_INSTALL_NO_RESUME107695
+Ref: install-tl TEXLIVE_INSTALL_NO_WELCOME107847
+Ref: install-tl TEXLIVE_INSTALL_PAPER107968
+Ref: install-tl TEXLIVE_INSTALL_PREFIX108114
+Ref: install-tl TEXLIVE_INSTALL_TEXDIR108140
+Ref: install-tl TEXLIVE_INSTALL_TEXMFCONFIG108171
+Ref: install-tl TEXLIVE_INSTALL_TEXMFVAR108199
+Ref: install-tl TEXLIVE_INSTALL_TEXMFHOME108228
+Ref: install-tl TEXLIVE_INSTALL_TEXMFLOCAL108258
+Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSCONFIG108292
+Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSVAR108323
+Ref: install-tl NOPERLDOC108694
+Node: install-tl AUTHORS AND COPYRIGHT108758
+Node: tlmgr109171
+Node: tlmgr NAME109656
+Node: tlmgr SYNOPSIS109788
+Node: tlmgr DESCRIPTION109978
+Node: tlmgr EXAMPLES111077
+Ref: tlmgr tlmgr option repository ctan111328
+Ref: tlmgr tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet111401
+Ref: tlmgr tlmgr update --list112006
+Ref: tlmgr tlmgr update --all112099
+Ref: tlmgr tlmgr info _what_112256
+Node: tlmgr OPTIONS112518
+Ref: tlmgr *--repository* _url|path_113038
+Ref: tlmgr /some/local/dir114224
+Ref: tlmgr file:/some/local/dir114253
+Ref: tlmgr ctan114326
+Ref: tlmgr https://mirror.ctan.org/systems/texlive/tlnet114380
+Ref: tlmgr http://server/path/to/tlnet114721
+Ref: tlmgr https://server/path/to/tlnet115102
+Ref: tlmgr ftp://server/path/to/tlnet115570
+Ref: tlmgr user at machine:/path/to/tlnet115702
+Ref: tlmgr scp://user@machine/path/to/tlnet115743
+Ref: tlmgr ssh://user@machine/path/to/tlnet115784
+Ref: tlmgr *--gui* [_action_]116177
+Ref: tlmgr *--gui-lang* _llcode_116990
+Ref: tlmgr *--command-logfile* _file_117731
+Ref: tlmgr *--debug-translation*117997
+Ref: tlmgr *--machine-readable*118200
+Ref: tlmgr *--no-execute-actions*118468
+Ref: tlmgr *--package-logfile* _file_118661
+Ref: tlmgr *--pause*118915
+Ref: tlmgr *--persistent-downloads*119070
+Ref: tlmgr *--no-persistent-downloads*119098
+Ref: tlmgr *--pin-file*119592
+Ref: tlmgr *--usermode*119810
+Ref: tlmgr *--usertree* _dir_119930
+Ref: tlmgr *--verify-repo=[none|main|all]*120056
+Node: tlmgr ACTIONS120955
+Node: tlmgr help121816
+Node: tlmgr version122293
+Node: tlmgr backup122556
+Ref: tlmgr *backup [_option_...] --all*122727
+Ref: tlmgr *backup [_option_...] _pkg_...*122760
+Ref: tlmgr *--backupdir* _directory_123826
+Ref: tlmgr *--all*124043
+Ref: tlmgr *--clean*[=_N_]124295
+Ref: tlmgr *--dry-run*124622
+Node: tlmgr candidates _pkg_124752
+Node: tlmgr check [_option_...] [depends|executes|files|runfiles|texmfdbs|all]125107
+Ref: tlmgr *depends*125621
+Ref: tlmgr *executes*125963
+Ref: tlmgr *files*126078
+Ref: tlmgr *runfiles*126214
+Ref: tlmgr *texmfdbs*126351
+Ref: tlmgr - all items in TEXMFDBS have the !! prefix.126581
+Ref: tlmgr - all items in TEXMFBDS have an ls-R file (if they exist at all).126657
+Ref: tlmgr - all items in TEXMF with !! are listed in TEXMFDBS.126722
+Ref: tlmgr - all items in TEXMF with an ls-R file are listed in TEXMFDBS.126797
+Ref: tlmgr *--use-svn*126822
+Node: tlmgr conf126963
+Ref: tlmgr *conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]*127251
+Ref: tlmgr *conf auxtrees [--conffile _file_] [show|add|remove] [_value_]*127315
+Node: tlmgr dump-tlpdb [_option_...] [--json]129730
+Ref: tlmgr *--local*130163
+Ref: tlmgr *--remote*130202
+Ref: tlmgr *--json*130240
+Node: tlmgr generate130811
+Ref: tlmgr *generate [_option_...] language*131007
+Ref: tlmgr *generate [_option_...] language.dat*131046
+Ref: tlmgr *generate [_option_...] language.def*131085
+Ref: tlmgr *generate [_option_...] language.dat.lua*131128
+Ref: tlmgr *--dest* _output_file_133455
+Ref: tlmgr *--localcfg* _local_conf_file_134031
+Ref: tlmgr *--rebuild-sys*134154
+Node: tlmgr gui134969
+Node: tlmgr info135147
+Ref: tlmgr *info [_option_...] _pkg_...*135309
+Ref: tlmgr *info [_option_...] collections*135343
+Ref: tlmgr *info [_option_...] schemes*135373
+Ref: tlmgr *--list*136903
+Ref: tlmgr *--only-installed*137217
+Ref: tlmgr *--only-remote*137405
+Ref: tlmgr *--data item1,item2,...*137709
+Ref: tlmgr *--json* 1139072
+Node: tlmgr init-usertree139455
+Node: tlmgr install [_option_...] _pkg_...139836
+Ref: tlmgr *--dry-run* 1140344
+Ref: tlmgr *--file*140461
+Ref: tlmgr *--force*140683
+Ref: tlmgr *--no-depends*140903
+Ref: tlmgr *--no-depends-at-all*141062
+Ref: tlmgr *--reinstall*141462
+Ref: tlmgr *--with-doc*141840
+Ref: tlmgr *--with-src*141853
+Node: tlmgr key142581
+Ref: tlmgr *key list*142739
+Ref: tlmgr *key add _file_*142757
+Ref: tlmgr *key remove _keyid_*142779
+Node: tlmgr list143373
+Node: tlmgr option143535
+Ref: tlmgr *option [--json] [show]*143690
+Ref: tlmgr *option [--json] showall|help*143721
+Ref: tlmgr *option _key_ [_value_]*143747
+Node: tlmgr paper148326
+Ref: tlmgr *paper [a4|letter]*148475
+Ref: tlmgr *<[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*>148551
+Ref: tlmgr *paper --json*148566
+Node: tlmgr path149781
+Ref: tlmgr *path [--w32mode=user|admin] add*149942
+Ref: tlmgr *path [--w32mode=user|admin] remove*149979
+Node: tlmgr pinning151464
+Ref: tlmgr pinning show151705
+Ref: tlmgr pinning add _repo_ _pkgglob_...151778
+Ref: tlmgr pinning remove _repo_ _pkgglob_...151897
+Ref: tlmgr pinning remove _repo_ --all152050
+Node: tlmgr platform152104
+Ref: tlmgr *platform list|add|remove _platform_...*152290
+Ref: tlmgr *platform set _platform_*152317
+Ref: tlmgr *platform set auto*152338
+Ref: tlmgr *--dry-run* 2153215
+Node: tlmgr postaction153334
+Ref: tlmgr *postaction [_option_...] install [shortcut|fileassoc|script] [_pkg_...]*153564
+Ref: tlmgr *postaction [_option_...] remove [shortcut|fileassoc|script] [_pkg_...]*153638
+Ref: tlmgr *--w32mode=[user|admin]*153953
+Ref: tlmgr *--fileassocmode=[1|2]*154369
+Ref: tlmgr *--all* 1154654
+Node: tlmgr print-platform154709
+Node: tlmgr print-platform-info155040
+Node: tlmgr remove [_option_...] _pkg_...155340
+Ref: tlmgr *--all* 2155824
+Ref: tlmgr *--backup*155934
+Ref: tlmgr *--backupdir* _directory_ 1155960
+Ref: tlmgr *--no-depends* 1156365
+Ref: tlmgr *--no-depends-at-all* 1156427
+Ref: tlmgr *--force* 1156530
+Ref: tlmgr *--dry-run* 3157003
+Node: tlmgr repository157339
+Ref: tlmgr *repository list*157527
+Ref: tlmgr *repository list _path|url|tag_*157561
+Ref: tlmgr *repository add _path_ [_tag_]*157594
+Ref: tlmgr *repository remove _path|tag_*157626
+Ref: tlmgr *repository set _path_[#_tag_] [_path_[#_tag_] ...]*157680
+Ref: tlmgr *repository status*157701
+Ref: tlmgr The tag (which can be the same as the url);158928
+Node: tlmgr restore159406
+Ref: tlmgr *restore [_option_...] _pkg_ [_rev_]*159585
+Ref: tlmgr *restore [_option_...] --all*159615
+Ref: tlmgr *--all* 3160315
+Ref: tlmgr *--backupdir* _directory_ 2160529
+Ref: tlmgr *--dry-run* 4160710
+Ref: tlmgr *--force* 2160842
+Ref: tlmgr *--json* 2160888
+Node: tlmgr search161215
+Ref: tlmgr *search [_option_...] _what_*161379
+Ref: tlmgr *search [_option_...] --file _what_*161416
+Ref: tlmgr *search [_option_...] --all _what_*161452
+Ref: tlmgr *--file* 1161672
+Ref: tlmgr *--all* 4161734
+Ref: tlmgr *--global*161823
+Ref: tlmgr *--word*161950
+Node: tlmgr shell162265
+Ref: tlmgr protocol163000
+Ref: tlmgr help 1163064
+Ref: tlmgr version 1163117
+Ref: tlmgr quit, end, bye, byebye, EOF163185
+Ref: tlmgr restart163206
+Ref: tlmgr load [local|remote]163329
+Ref: tlmgr save163399
+Ref: tlmgr get [_var_] =item set [_var_ [_val_]]163522
+Node: tlmgr show164123
+Node: tlmgr uninstall164290
+Node: tlmgr update [_option_...] [_pkg_...]164520
+Ref: tlmgr *--all* 5164891
+Ref: tlmgr *--self*167070
+Ref: tlmgr *--dry-run* 5167834
+Ref: tlmgr *--list* [_pkg_]168011
+Ref: tlmgr *--exclude* _pkg_168700
+Ref: tlmgr *--no-auto-remove* [_pkg_...]169500
+Ref: tlmgr *--no-auto-install* [_pkg_...]169984
+Ref: tlmgr *--reinstall-forcibly-removed*170746
+Ref: tlmgr *--backup* 1171281
+Ref: tlmgr *--backupdir* _directory_ 3171307
+Ref: tlmgr *--no-depends* 2172473
+Ref: tlmgr *--no-depends-at-all* 2172676
+Ref: tlmgr *--force* 3172779
+Node: tlmgr CONFIGURATION FILE FOR TLMGR173770
+Ref: tlmgr auto-remove, value 0 or 1 (default 1), same as command-line option.174777
+Ref: tlmgr gui-expertmode, value 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.174914
+Ref: tlmgr gui-lang _llcode_, with a language code value as with the command-line option.174996
+Ref: tlmgr no-checksums, value 0 or 1 (default 0, see below).175050
+Ref: tlmgr persistent-downloads, value 0 or 1 (default 1), same as command-line option.175130
+Ref: tlmgr require-verification, value 0 or 1 (default 0), same as command-line option.175210
+Ref: tlmgr tkfontscale, value any float. Controls the scaling of fonts in the Tk based frontends.175300
+Ref: tlmgr update-exclude, value: comma-separated list of packages (no space allowed). Same as the command line option --exclude for the action update.175448
+Ref: tlmgr verify-downloads, value 0 or 1 (default 1), same as command-line option.175524
+Ref: tlmgr allowed-actions _action1_ [,_action_,...] The value is a comma-separated list of tlmgr actions which are allowed to be executed when tlmgr is invoked in system mode (that is, without --usermode).175793
+Node: tlmgr CRYPTOGRAPHIC VERIFICATION176881
+Node: tlmgr Configuration of GnuPG invocation179054
+Node: tlmgr USER MODE179692
+Node: tlmgr User mode install182538
+Node: tlmgr User mode backup, restore, remove, update183682
+Node: tlmgr User mode generate, option, paper184124
+Node: tlmgr MULTIPLE REPOSITORIES184500
+Node: tlmgr Pinning186229
+Node: tlmgr GUI FOR TLMGR188152
+Node: tlmgr Main display189801
+Node: tlmgr Display configuration area190053
+Ref: tlmgr Status190414
+Ref: tlmgr Category190578
+Ref: tlmgr Match190764
+Ref: tlmgr Selection190945
+Ref: tlmgr Display configuration buttons191149
+Node: tlmgr Package list area191332
+Ref: tlmgr a checkbox191916
+Ref: tlmgr package name192052
+Ref: tlmgr local revision (and version)192151
+Ref: tlmgr remote revision (and version)192526
+Ref: tlmgr short description192823
+Node: tlmgr Main display action buttons192868
+Ref: tlmgr Update all installed193134
+Ref: tlmgr Update193506
+Ref: tlmgr Install193556
+Ref: tlmgr Remove193742
+Ref: tlmgr Backup193920
+Node: tlmgr Menu bar194077
+Ref: tlmgr tlmgr menu194300
+Ref: tlmgr Options menu194608
+Ref: tlmgr Actions menu195691
+Ref: tlmgr Help menu196119
+Node: tlmgr GUI options196253
+Ref: tlmgr -background _color_196499
+Ref: tlmgr -font " _fontname_ _fontsize_ "196564
+Ref: tlmgr -foreground _color_196722
+Ref: tlmgr -geometry _geomspec_196774
+Ref: tlmgr -xrm _xresource_196966
+Node: tlmgr MACHINE-READABLE OUTPUT197235
+Node: tlmgr Machine-readable update and install output198045
+Ref: tlmgr location-url _location_199321
+Ref: tlmgr total-bytes _count_199537
+Ref: tlmgr _pkgname_199947
+Ref: tlmgr _status_200157
+Ref: tlmgr d200235
+Ref: tlmgr f200295
+Ref: tlmgr u200474
+Ref: tlmgr r200520
+Ref: tlmgr a200643
+Ref: tlmgr i200821
+Ref: tlmgr I200940
+Ref: tlmgr _localrev_201042
+Ref: tlmgr _serverrev_201149
+Ref: tlmgr _size_201261
+Ref: tlmgr _runtime_201430
+Ref: tlmgr _esttot_201500
+Node: tlmgr Machine-readable option output201533
+Node: tlmgr ENVIRONMENT VARIABLES202045
+Ref: tlmgr TEXLIVE_COMPRESSOR202556
+Ref: tlmgr TEXLIVE_DOWNLOADER203404
+Ref: tlmgr TL_DOWNLOAD_PROGRAM203427
+Ref: tlmgr TL_DOWNLOAD_ARGS203447
+Ref: tlmgr TEXLIVE_PREFER_OWN204473
+Node: tlmgr AUTHORS AND COPYRIGHT205297
+Node: Index205695
 
 End Tag Table
 

Modified: branches/stable/source/src/doc/tlbuild.texi
===================================================================
--- branches/stable/source/src/doc/tlbuild.texi	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/doc/tlbuild.texi	2021-11-03 18:16:31 UTC (rev 867)
@@ -2,7 +2,7 @@
 @setfilename tlbuild.info
 
 @set version 2021
- at set month-year July 2021
+ at set month-year September 2021
 
 @set mytitle Building @TeX{} Live (@value{version})
 @settitle @value{mytitle}
@@ -1762,7 +1762,8 @@
 program, but it's not all that similar, either.  In this case, the main
 work is done by creating a new subdirectory of @file{texk/web2c/} for
 the engine.  The subdirectory is conventionally named ending in
- at file{dir}, like @file{pdftexdir} and @file{xetexdir}.
+ at file{dir}, like @file{pdftexdir} and @file{xetexdir}, to avoid
+clashes with executable names.
 
 The source files for the new engine should be put in this
 @file{@var{newengine}dir} subdirectory.  Also, a file
@@ -1784,6 +1785,14 @@
 unique features and requirements, so existing examples will only take
 you so far.
 
+Web2c is built as one ``package'', with each subdirectory's @file{.am}
+fragment inserted with an Automake @code{include}.  This means that,
+for instance, @code{$(srcdir)} is @file{.../web2c}, not
+ at file{.../webdir/enginedir}.  It is a difficult setup to come to terms
+with, but the alternative is to recurse into each engine subdirectory,
+and that would be far worse (@pxref{Directories,,, automake, GNU
+Automake}).
+
 @node Adding a new generic library module
 @subsection Adding a new generic library module
 

Modified: branches/stable/source/src/libs/Makefile.in
===================================================================
--- branches/stable/source/src/libs/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/libs/aclocal.m4
===================================================================
--- branches/stable/source/src/libs/aclocal.m4	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/aclocal.m4	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -428,6 +428,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl

Modified: branches/stable/source/src/libs/libpng/Makefile.in
===================================================================
--- branches/stable/source/src/libs/libpng/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/libpng/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/libs/libpng/aclocal.m4
===================================================================
--- branches/stable/source/src/libs/libpng/aclocal.m4	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/libpng/aclocal.m4	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -448,6 +448,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl

Modified: branches/stable/source/src/libs/libpng/include/Makefile.in
===================================================================
--- branches/stable/source/src/libs/libpng/include/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/libpng/include/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/libs/xpdf/Makefile.in
===================================================================
--- branches/stable/source/src/libs/xpdf/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/xpdf/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/libs/xpdf/aclocal.m4
===================================================================
--- branches/stable/source/src/libs/xpdf/aclocal.m4	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/xpdf/aclocal.m4	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -428,6 +428,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl

Modified: branches/stable/source/src/libs/xpdf/fofi/Makefile.in
===================================================================
--- branches/stable/source/src/libs/xpdf/fofi/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/xpdf/fofi/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/libs/xpdf/goo/Makefile.in
===================================================================
--- branches/stable/source/src/libs/xpdf/goo/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/xpdf/goo/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/libs/xpdf/splash/Makefile.in
===================================================================
--- branches/stable/source/src/libs/xpdf/splash/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/xpdf/splash/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/libs/xpdf/xpdf/Makefile.in
===================================================================
--- branches/stable/source/src/libs/xpdf/xpdf/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/xpdf/xpdf/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/libs/zlib/Makefile.in
===================================================================
--- branches/stable/source/src/libs/zlib/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/zlib/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/libs/zlib/aclocal.m4
===================================================================
--- branches/stable/source/src/libs/zlib/aclocal.m4	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/zlib/aclocal.m4	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -428,6 +428,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl

Modified: branches/stable/source/src/libs/zlib/include/Makefile.in
===================================================================
--- branches/stable/source/src/libs/zlib/include/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/libs/zlib/include/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/Makefile.in
===================================================================
--- branches/stable/source/src/texk/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/README
===================================================================
--- branches/stable/source/src/texk/README	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/README	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-$Id: README 60535 2021-09-18 08:20:21Z takuji $
+$Id: README 60856 2021-10-24 05:44:35Z takuji $
 Copyright 2006-2021 TeX Users Group.
 You may freely use, modify and/or distribute this file.
 
@@ -108,7 +108,7 @@
 
 ttfdump - maintained here, by us, since Taiwan upstream apparently gone.
 
-upmendex 0.59 - by Takuji Tanaka
+upmendex 0.60 - by Takuji Tanaka
   http://www.ctan.org/pkg/upmendex
   https://github.com/t-tk/upmendex-package
 

Modified: branches/stable/source/src/texk/aclocal.m4
===================================================================
--- branches/stable/source/src/texk/aclocal.m4	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/aclocal.m4	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -428,6 +428,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl

Modified: branches/stable/source/src/texk/kpathsea/ChangeLog
===================================================================
--- branches/stable/source/src/texk/kpathsea/ChangeLog	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/kpathsea/ChangeLog	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,3 +1,10 @@
+2021-11-01  Marcel Fabian Krueger  <tex at 2krueger.de>
+
+	* str-list.c (str_list_uniqify): compare each input element
+	against the elements to be returned, to keep the ordering of the
+	result the same as the input.  Then the first result in a list
+	from kpsewhich -a will be the same as the result of just kpsewhich.
+
 2021-05-14  Karl Berry  <karl at tug.org>
 
 	* texmf.cnf (TEXINPUTS.optex): new definition for new format.

Modified: branches/stable/source/src/texk/kpathsea/Makefile.in
===================================================================
--- branches/stable/source/src/texk/kpathsea/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/kpathsea/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
@@ -2096,6 +2096,8 @@
 	$(MAKE) $(AM_MAKEFLAGS) check-recursive
 all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(DATA) $(HEADERS) \
 		c-auto.h
+install-EXTRAPROGRAMS: install-libLTLIBRARIES
+
 install-binPROGRAMS: install-libLTLIBRARIES
 
 installdirs: installdirs-recursive

Modified: branches/stable/source/src/texk/kpathsea/aclocal.m4
===================================================================
--- branches/stable/source/src/texk/kpathsea/aclocal.m4	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/kpathsea/aclocal.m4	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -428,6 +428,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl

Modified: branches/stable/source/src/texk/kpathsea/doc/Makefile.in
===================================================================
--- branches/stable/source/src/texk/kpathsea/doc/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/kpathsea/doc/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/kpathsea/man/Makefile.in
===================================================================
--- branches/stable/source/src/texk/kpathsea/man/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/kpathsea/man/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/kpathsea/str-list.c
===================================================================
--- branches/stable/source/src/texk/kpathsea/str-list.c	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/kpathsea/str-list.c	2021-11-03 18:16:31 UTC (rev 867)
@@ -128,11 +128,17 @@
 
   for (e = 0; e < STR_LIST_LENGTH (*l); e++) {
     string elt1 = STR_LIST_ELT (*l, e);
+    /* printf ("outer l[%d]: %s\n", e, elt1); */
+    
+    /* Compare against known-unique list ret; this keeps the elements in
+       the return list in the same order as the input list.  */
     unsigned f;
-    for (f = e + 1; f < STR_LIST_LENGTH (*l); f++) {
-      string elt2 = STR_LIST_ELT (*l, f);
-      /* I don't think our list should ever contain NULL's, but if
-         it does, let it stay and don't bother collapsing multiple
+    for (f = 0; f < STR_LIST_LENGTH (ret); f++) {
+      string elt2 = STR_LIST_ELT (ret, f);
+      /* printf("  inner ret[%d]: %s\n", f, elt2); */
+      
+      /* I don't think our lists should ever contain NULL's, but if
+         it does, let them stay and don't bother collapsing multiple
          NULL's into one.  */
       if (FILESTRCASEEQ (elt1, elt2)) {
         break;
@@ -139,9 +145,11 @@
       }
     }
 
-    if (f == STR_LIST_LENGTH (*l)) {
+    if (f == STR_LIST_LENGTH (ret)) {
+      /* printf ("  added new\n"); */
       str_list_add (&ret, elt1); /* not found */
     } else {
+      /* printf ("  skipped duplicate\n"); */
       free (elt1);  /* duplicate, forget this one */
     }
   }
@@ -149,3 +157,31 @@
   /* Replace the passed list with what we constructed.  */
   *l = ret;
 }
+

+#ifdef TEST
+int
+main ()
+{
+  unsigned e;
+  str_list_type tst = str_list_init ();
+  str_list_add (&tst, xstrdup("a"));
+  str_list_add (&tst, xstrdup("a"));
+  str_list_add (&tst, xstrdup("b"));
+  str_list_add (&tst, xstrdup("a"));
+  str_list_uniqify (&tst);  
+  
+  for (e = 0; e < STR_LIST_LENGTH (tst); e++) {
+    printf ("ret[%d]: %s\n", e, STR_LIST_ELT(tst, e));
+  }
+  
+  return 0;
+}
+
+#endif /* TEST */
+
+
+/*
+Local variables:
+standalone-compile-command: "gcc -g -I. -I.. -I$WK -DTEST -DMAKE_KPSE_DLL str-list.c $wk/.libs/libkpathsea.a"
+End:
+*/

Modified: branches/stable/source/src/texk/kpathsea/win32/Makefile.in
===================================================================
--- branches/stable/source/src/texk/kpathsea/win32/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/kpathsea/win32/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/web2c/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/ChangeLog	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/ChangeLog	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,3 +1,8 @@
+2021-10-11  Andreas Scherer  <https://ascherer.github.io>
+
+	* ctangleboot.cin,
+	* cwebboot.cin: CWEB 4.6 pre-release RC2.
+
 2021-09-21  Karl Berry  <karl at freefriends.org>
 
 	* ac/web2c.ac (kpse_tex_progs): include hitex, disabled by default.

Modified: branches/stable/source/src/texk/web2c/Makefile.in
===================================================================
--- branches/stable/source/src/texk/web2c/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
@@ -1388,20 +1388,18 @@
 gftype_LDADD = $(LDADD)
 gftype_DEPENDENCIES = $(proglib) $(am__DEPENDENCIES_1)
 nodist_hishrink_OBJECTS = hishrink-hformat.$(OBJEXT) \
-	hishrink-hishrink.$(OBJEXT) hishrink-shrink-lexer.$(OBJEXT) \
-	hishrink-shrink-parser.$(OBJEXT)
+	hishrink-hishrink.$(OBJEXT) \
+	hitexdir/hishrink-hishrink-lexer.$(OBJEXT) \
+	hitexdir/hishrink-hishrink-parser.$(OBJEXT)
 hishrink_OBJECTS = $(nodist_hishrink_OBJECTS)
-hishrink_DEPENDENCIES = $(am__DEPENDENCIES_1)
 nodist_histretch_OBJECTS = histretch-hformat.$(OBJEXT) \
 	histretch-histretch.$(OBJEXT)
 histretch_OBJECTS = $(nodist_histretch_OBJECTS)
-histretch_DEPENDENCIES = $(am__DEPENDENCIES_1)
 am__objects_37 = hitex-htex.$(OBJEXT)
 am__objects_38 = hitex-hitex.$(OBJEXT)
 nodist_hitex_OBJECTS = hitex-hformat.$(OBJEXT) hitex-hput.$(OBJEXT) \
 	$(am__objects_37) $(am__objects_38)
 hitex_OBJECTS = $(nodist_hitex_OBJECTS)
-hitex_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 nodist_initex_OBJECTS = initex-callexe.$(OBJEXT)
 initex_OBJECTS = $(nodist_initex_OBJECTS)
 initex_DEPENDENCIES =
@@ -1772,8 +1770,6 @@
 	./$(DEPDIR)/gftodvi.Po ./$(DEPDIR)/gftopk.Po \
 	./$(DEPDIR)/gftype.Po ./$(DEPDIR)/hishrink-hformat.Po \
 	./$(DEPDIR)/hishrink-hishrink.Po \
-	./$(DEPDIR)/hishrink-shrink-lexer.Po \
-	./$(DEPDIR)/hishrink-shrink-parser.Po \
 	./$(DEPDIR)/histretch-hformat.Po \
 	./$(DEPDIR)/histretch-histretch.Po \
 	./$(DEPDIR)/hitex-hformat.Po ./$(DEPDIR)/hitex-hitex.Po \
@@ -1856,6 +1852,8 @@
 	eptexdir/$(DEPDIR)/eptex-eptexextra.Po \
 	etexdir/$(DEPDIR)/etex-etexextra.Po \
 	euptexdir/$(DEPDIR)/euptex-euptexextra.Po \
+	hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Po \
+	hitexdir/$(DEPDIR)/hishrink-hishrink-parser.Po \
 	libmd5/$(DEPDIR)/a-md5.Po libmd5/$(DEPDIR)/md5main-md5main.Po \
 	luatexdir/$(DEPDIR)/luahbtex-luatex.Po \
 	luatexdir/$(DEPDIR)/luajithbtex-luatex.Po \
@@ -2461,15 +2459,6 @@
 am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD   " $@;
 am__v_CXXLD_1 = 
- at MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ ||
-LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS)
-LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS)
-AM_V_LEX = $(am__v_LEX_ at AM_V@)
-am__v_LEX_ = $(am__v_LEX_ at AM_DEFAULT_V@)
-am__v_LEX_0 = @echo "  LEX     " $@;
-am__v_LEX_1 = 
-YLWRAP = $(top_srcdir)/../../build-aux/ylwrap
 OBJCXXCOMPILE = $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS)
 LTOBJCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
@@ -2488,16 +2477,6 @@
 am__v_OBJCXXLD_ = $(am__v_OBJCXXLD_ at AM_DEFAULT_V@)
 am__v_OBJCXXLD_0 = @echo "  OBJCXXLD" $@;
 am__v_OBJCXXLD_1 = 
- at MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ ||
-am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \
-		   -e s/c++$$/h++/ -e s/c$$/h/
-YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS)
-LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS)
-AM_V_YACC = $(am__v_YACC_ at AM_V@)
-am__v_YACC_ = $(am__v_YACC_ at AM_DEFAULT_V@)
-am__v_YACC_0 = @echo "  YACC    " $@;
-am__v_YACC_1 = 
 SOURCES = $(libff_a_SOURCES) $(libkanji_a_SOURCES) \
 	$(nodist_libluaffi_a_SOURCES) $(libluaharfbuzz_a_SOURCES) \
 	$(nodist_libluahbtexspecific_a_SOURCES) \
@@ -2872,7 +2851,6 @@
 	$(top_srcdir)/../../build-aux/ltmain.sh \
 	$(top_srcdir)/../../build-aux/missing \
 	$(top_srcdir)/../../build-aux/test-driver \
-	$(top_srcdir)/../../build-aux/ylwrap \
 	$(top_srcdir)/../texlive/w32_wrapper/callexe.c \
 	$(top_srcdir)/luatexdir/luafontloader/ff-config.in \
 	$(top_srcdir)/synctexdir/synctex.pc.in ../../build-aux/ar-lib \
@@ -3183,6 +3161,11 @@
 dist_man_MANS = synctexdir/man1/synctex.1 synctexdir/man5/synctex.5
 nodist_man_MANS = 
 TEST_EXTENSIONS = .pl .test
+#
+# By the way, the $(BUILT_SOURCES) suggestion in the Automake manual for
+# this does not work for us, because we want to be able to invoke
+# specific targets (hiall, hitex, hishrink, ...), and $(BUILT_SOURCES)
+# is only a dependency on general targets (all, install, ...).
 EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
 	triptrap-sh tangle.web tangle.ch tangleboot.pin cwebdir \
 	ctangleboot.cin cwebboot.cin tangle.test $(web_programs:=.web) \
@@ -3297,7 +3280,7 @@
 	euptexdir/pdfprimitive.test \
 	eptexdir/tests/pdfprimitive-test.tex \
 	euptexdir/tests/pdfprimitive-euptex.log hitexdir/ChangeLog \
-	$(hitex_web) lex.sed yacc.sed pdftexdir/regex/COPYING.LIB \
+	$(hitex_web) pdftexdir/regex/COPYING.LIB \
 	pdftexdir/regex/README $(pdftex_ch_srcs) \
 	pdftexdir/pdftex.defines pdftexdir/ChangeLog pdftexdir/NEWS \
 	pdftexdir/README pdftexdir/change-files.txt $(pdftex_tests) \
@@ -3621,12 +3604,12 @@
 	euptex.p euptex.pool euptex-tangle euptrip.diffs \
 	pdfprimitive-euptex.* $(nodist_hitex_SOURCES) \
 	$(nodist_hishrink_SOURCES) $(nodist_histretch_SOURCES) \
-	format-tangle htex-tangle hitex-tangle shrink-parser.* \
-	shrink-lexer.* $(nodist_pdftex_SOURCES) pdftex-final.ch \
-	pdftex-web2c pdftex.p pdftex.pool pdftex-tangle pwprob.log \
-	pwprob.tex pdfimage.fmt pdfimage.log pdfimage.pdf expanded.log \
-	cnfline.log partoken-ok.log partoken-xfail.log postV3.afm \
-	postV7.afm test-13.pdf test-13.xref test-15.pdf test-15.xref \
+	format-tangle htex-tangle hitex-tangle \
+	$(nodist_pdftex_SOURCES) pdftex-final.ch pdftex-web2c pdftex.p \
+	pdftex.pool pdftex-tangle pwprob.log pwprob.tex pdfimage.fmt \
+	pdfimage.log pdfimage.pdf expanded.log cnfline.log \
+	partoken-ok.log partoken-xfail.log postV3.afm postV7.afm \
+	test-13.pdf test-13.xref test-15.pdf test-15.xref \
 	$(nodist_libluatex_sources) luaimage.* luajitimage.* \
 	$(nodist_xetex_SOURCES) xetex.web xetex-final.ch xetex-web2c \
 	xetex.p xetex.pool xetex-tangle bug73.fmt bug73.log bug73.out \
@@ -4586,22 +4569,19 @@
 # e-upTeX Tests
 #
 euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test
-
-#kb hitex_CFLAGS = $(AM_CFLAGS) \
-#kb -Wno-parentheses -Wno-maybe-uninitialized -Wno-unused-function -Wno-unused-variable 
-hitex_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_INCLUDES)
-hitex_LDADD = $(KPATHSEA_LIBS) $(ZLIB_LIBS)
+hitex_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_INCLUDES) -I$(srcdir)/libmd5
+hitex_LDADD = $(KPATHSEA_LIBS) $(ZLIB_LIBS) libmd5.a
+hitex_DEPENDENCIES = $(KPATHSEA_DEPEND) $(ZLIB_DEPEND) libmd5.a
 #
 histretch_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_INCLUDES)
 histretch_LDADD = $(ZLIB_LIBS)
+histretch_DEPENDENCIES = $(ZLIB_DEPEND)
 #
-hishrink_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_INCLUDES)
+# The -I$(srcdir)/hitexdir is so the compiler can find the *parser.h file.
+hishrink_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_INCLUDES) -I$(srcdir)/hitexdir
 hishrink_LDADD = $(ZLIB_LIBS)
+hishrink_DEPENDENCIES = $(ZLIB_DEPEND)
 
-# We want debugging for the parser, and we use features not in POSIX yacc.
-# I guess the result is that we assume bison? Not sure if that's ok.
-AM_YFLAGS = -d -v -Wno-yacc
-
 # HiTeX CWEB sources
 hitex_web = hitexdir/format.w hitexdir/htex.w hitexdir/hitex.w
 
@@ -4614,19 +4594,27 @@
         mkhformat.c \
 	hput.c hput.h \
 	hget.c hget.h \
-	shrink.lex-in shrink.yacc-in \
+	shrink.l shrink.y \
 	hishrink.c histretch.c
 
 htex_c_h = htex.c htex.h
 hitex_c_h = hitex.c hitex.h 
 
-# Other web2c/*dir/am/*.am engine Makefile fragments define a bunch of
-# _OBJECTS variables. This does not seem right to me. Instead, we
-# correctly define the _SOURCES.
-#
+# hitex
 nodist_hitex_SOURCES = hformat.c hput.c $(htex_c_h) $(hitex_c_h)
+
+# histretch
 nodist_histretch_SOURCES = hformat.c histretch.c
-nodist_hishrink_SOURCES = hformat.c hishrink.c shrink-lexer.l shrink-parser.y
+
+# The actual sources for the lexer and parser are in format.w.
+# However, to simplify life with Automake (a little), we include the
+# generated [.ch] files as if they were the sources here, and don't try
+# to have Automake support the derivation from .w.
+#
+nodist_hishrink_SOURCES = hformat.c hishrink.c \
+  hitexdir/hishrink-lexer.c \
+  hitexdir/hishrink-parser.c hitexdir/hishrink-parser.h 
+
 libpdftex_a_CPPFLAGS = $(REGEX_INCLUDES) $(pdftex_cppflags)
 libpdftex_a_CXXFLAGS = $(WARNING_CXXFLAGS)
 libpdftex_a_SOURCES = pdftexdir/avl.c pdftexdir/avl.h \
@@ -5618,7 +5606,7 @@
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .c .cc .cin .cpp .cxx .h .hin .l .lo .log .mm .o .obj .p .pin .pl .pl$(EXEEXT) .test .test$(EXEEXT) .trs .y
+.SUFFIXES: .c .cc .cin .cpp .cxx .h .hin .lo .log .mm .o .obj .p .pin .pl .pl$(EXEEXT) .test .test$(EXEEXT) .trs
 am--refresh: Makefile
 	@:
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../am/dist_hook.am $(srcdir)/am/bootstrap.am $(srcdir)/am/web.am $(srcdir)/am/cweb.am $(srcdir)/am/texmf.am $(srcdir)/mfluadir/am/mflua.am $(srcdir)/mfluadir/am/mfluaotfcc.am $(srcdir)/mfluajitdir/am/mfluajit.am $(srcdir)/mplibdir/am/mplib.am $(srcdir)/pmpostdir/am/pmpost.am $(srcdir)/mplibdir/am/libmputil.am $(srcdir)/mplibdir/am/libmplib.am $(srcdir)/etexdir/am/etex.am $(srcdir)/ptexdir/am/ptex.am $(srcdir)/eptexdir/am/eptex.am $(srcdir)/uptexdir/am/uptex.am $(srcdir)/euptexdir/am/euptex.am $(srcdir)/hitexdir/am/hitex.am $(srcdir)/pdftexdir/am/libpdftex.am $(srcdir)/pdftexdir/am/pdftex.am $(srcdir)/pdftexdir/am/ttf2afm.am $(srcdir)/pdftexdir/am/pdftosrc.am $(srcdir)/luatexdir/am/luasocket.am $(srcdir)/luatexdir/am/luamisc.am $(srcdir)/luatexdir/am/libunilib.am $(srcdir)/luatexdir/am/luafontforge.am $(srcdir)/luatexdir/am/libluatex.am $(srcdir)/luatexdir/am/luaffi.am $(srcdir)/luatexdir/am/luatex.am $(srcdir)/luatexdir/am/luaharfbuzz.am $(srcdir)/xetexdir/am/xetex.am $(srcdir)/omegaware/am/omegaware.am $(srcdir)/alephdir/am/aleph.am $(srcdir)/synctexdir/am/synctex.am $(srcdir)/libmd5/am/md5.am $(srcdir)/../../am/bin_links.am $(am__configure_deps)
@@ -8045,9 +8033,16 @@
 gftype$(EXEEXT): $(gftype_OBJECTS) $(gftype_DEPENDENCIES) $(EXTRA_gftype_DEPENDENCIES) 
 	@rm -f gftype$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(gftype_OBJECTS) $(gftype_LDADD) $(LIBS)
-shrink-parser.h: shrink-parser.c
-	@if test ! -f $@; then rm -f shrink-parser.c; else :; fi
-	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) shrink-parser.c; else :; fi
+hitexdir/$(am__dirstamp):
+	@$(MKDIR_P) hitexdir
+	@: > hitexdir/$(am__dirstamp)
+hitexdir/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) hitexdir/$(DEPDIR)
+	@: > hitexdir/$(DEPDIR)/$(am__dirstamp)
+hitexdir/hishrink-hishrink-lexer.$(OBJEXT): hitexdir/$(am__dirstamp) \
+	hitexdir/$(DEPDIR)/$(am__dirstamp)
+hitexdir/hishrink-hishrink-parser.$(OBJEXT): hitexdir/$(am__dirstamp) \
+	hitexdir/$(DEPDIR)/$(am__dirstamp)
 
 hishrink$(EXEEXT): $(hishrink_OBJECTS) $(hishrink_DEPENDENCIES) $(EXTRA_hishrink_DEPENDENCIES) 
 	@rm -f hishrink$(EXEEXT)
@@ -8337,6 +8332,7 @@
 	-rm -f eptexdir/*.$(OBJEXT)
 	-rm -f etexdir/*.$(OBJEXT)
 	-rm -f euptexdir/*.$(OBJEXT)
+	-rm -f hitexdir/*.$(OBJEXT)
 	-rm -f libmd5/*.$(OBJEXT)
 	-rm -f luatexdir/*.$(OBJEXT)
 	-rm -f luatexdir/dvi/*.$(OBJEXT)
@@ -8443,8 +8439,6 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gftype.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hishrink-hformat.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hishrink-hishrink.Po at am__quote@ # am--include-marker
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hishrink-shrink-lexer.Po at am__quote@ # am--include-marker
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hishrink-shrink-parser.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/histretch-hformat.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/histretch-histretch.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hitex-hformat.Po at am__quote@ # am--include-marker
@@ -8563,6 +8557,8 @@
 @AMDEP_TRUE@@am__include@ @am__quote at eptexdir/$(DEPDIR)/eptex-eptexextra.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at etexdir/$(DEPDIR)/etex-etexextra.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at euptexdir/$(DEPDIR)/euptex-euptexextra.Po at am__quote@ # am--include-marker
+ at AMDEP_TRUE@@am__include@ @am__quote at hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Po at am__quote@ # am--include-marker
+ at AMDEP_TRUE@@am__include@ @am__quote at hitexdir/$(DEPDIR)/hishrink-hishrink-parser.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at libmd5/$(DEPDIR)/a-md5.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at libmd5/$(DEPDIR)/md5main-md5main.Po at am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote at luatexdir/$(DEPDIR)/luahbtex-luatex.Po at am__quote@ # am--include-marker
@@ -17396,33 +17392,33 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hishrink-hishrink.obj `if test -f 'hishrink.c'; then $(CYGPATH_W) 'hishrink.c'; else $(CYGPATH_W) '$(srcdir)/hishrink.c'; fi`
 
-hishrink-shrink-lexer.o: shrink-lexer.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hishrink-shrink-lexer.o -MD -MP -MF $(DEPDIR)/hishrink-shrink-lexer.Tpo -c -o hishrink-shrink-lexer.o `test -f 'shrink-lexer.c' || echo '$(srcdir)/'`shrink-lexer.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/hishrink-shrink-lexer.Tpo $(DEPDIR)/hishrink-shrink-lexer.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='shrink-lexer.c' object='hishrink-shrink-lexer.o' libtool=no @AMDEPBACKSLASH@
+hitexdir/hishrink-hishrink-lexer.o: hitexdir/hishrink-lexer.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitexdir/hishrink-hishrink-lexer.o -MD -MP -MF hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Tpo -c -o hitexdir/hishrink-hishrink-lexer.o `test -f 'hitexdir/hishrink-lexer.c' || echo '$(srcdir)/'`hitexdir/hishrink-lexer.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Tpo hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='hitexdir/hishrink-lexer.c' object='hitexdir/hishrink-hishrink-lexer.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hishrink-shrink-lexer.o `test -f 'shrink-lexer.c' || echo '$(srcdir)/'`shrink-lexer.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hitexdir/hishrink-hishrink-lexer.o `test -f 'hitexdir/hishrink-lexer.c' || echo '$(srcdir)/'`hitexdir/hishrink-lexer.c
 
-hishrink-shrink-lexer.obj: shrink-lexer.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hishrink-shrink-lexer.obj -MD -MP -MF $(DEPDIR)/hishrink-shrink-lexer.Tpo -c -o hishrink-shrink-lexer.obj `if test -f 'shrink-lexer.c'; then $(CYGPATH_W) 'shrink-lexer.c'; else $(CYGPATH_W) '$(srcdir)/shrink-lexer.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/hishrink-shrink-lexer.Tpo $(DEPDIR)/hishrink-shrink-lexer.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='shrink-lexer.c' object='hishrink-shrink-lexer.obj' libtool=no @AMDEPBACKSLASH@
+hitexdir/hishrink-hishrink-lexer.obj: hitexdir/hishrink-lexer.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitexdir/hishrink-hishrink-lexer.obj -MD -MP -MF hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Tpo -c -o hitexdir/hishrink-hishrink-lexer.obj `if test -f 'hitexdir/hishrink-lexer.c'; then $(CYGPATH_W) 'hitexdir/hishrink-lexer.c'; else $(CYGPATH_W) '$(srcdir)/hitexdir/hishrink-lexer.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Tpo hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='hitexdir/hishrink-lexer.c' object='hitexdir/hishrink-hishrink-lexer.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hishrink-shrink-lexer.obj `if test -f 'shrink-lexer.c'; then $(CYGPATH_W) 'shrink-lexer.c'; else $(CYGPATH_W) '$(srcdir)/shrink-lexer.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hitexdir/hishrink-hishrink-lexer.obj `if test -f 'hitexdir/hishrink-lexer.c'; then $(CYGPATH_W) 'hitexdir/hishrink-lexer.c'; else $(CYGPATH_W) '$(srcdir)/hitexdir/hishrink-lexer.c'; fi`
 
-hishrink-shrink-parser.o: shrink-parser.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hishrink-shrink-parser.o -MD -MP -MF $(DEPDIR)/hishrink-shrink-parser.Tpo -c -o hishrink-shrink-parser.o `test -f 'shrink-parser.c' || echo '$(srcdir)/'`shrink-parser.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/hishrink-shrink-parser.Tpo $(DEPDIR)/hishrink-shrink-parser.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='shrink-parser.c' object='hishrink-shrink-parser.o' libtool=no @AMDEPBACKSLASH@
+hitexdir/hishrink-hishrink-parser.o: hitexdir/hishrink-parser.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitexdir/hishrink-hishrink-parser.o -MD -MP -MF hitexdir/$(DEPDIR)/hishrink-hishrink-parser.Tpo -c -o hitexdir/hishrink-hishrink-parser.o `test -f 'hitexdir/hishrink-parser.c' || echo '$(srcdir)/'`hitexdir/hishrink-parser.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) hitexdir/$(DEPDIR)/hishrink-hishrink-parser.Tpo hitexdir/$(DEPDIR)/hishrink-hishrink-parser.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='hitexdir/hishrink-parser.c' object='hitexdir/hishrink-hishrink-parser.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hishrink-shrink-parser.o `test -f 'shrink-parser.c' || echo '$(srcdir)/'`shrink-parser.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hitexdir/hishrink-hishrink-parser.o `test -f 'hitexdir/hishrink-parser.c' || echo '$(srcdir)/'`hitexdir/hishrink-parser.c
 
-hishrink-shrink-parser.obj: shrink-parser.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hishrink-shrink-parser.obj -MD -MP -MF $(DEPDIR)/hishrink-shrink-parser.Tpo -c -o hishrink-shrink-parser.obj `if test -f 'shrink-parser.c'; then $(CYGPATH_W) 'shrink-parser.c'; else $(CYGPATH_W) '$(srcdir)/shrink-parser.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/hishrink-shrink-parser.Tpo $(DEPDIR)/hishrink-shrink-parser.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='shrink-parser.c' object='hishrink-shrink-parser.obj' libtool=no @AMDEPBACKSLASH@
+hitexdir/hishrink-hishrink-parser.obj: hitexdir/hishrink-parser.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitexdir/hishrink-hishrink-parser.obj -MD -MP -MF hitexdir/$(DEPDIR)/hishrink-hishrink-parser.Tpo -c -o hitexdir/hishrink-hishrink-parser.obj `if test -f 'hitexdir/hishrink-parser.c'; then $(CYGPATH_W) 'hitexdir/hishrink-parser.c'; else $(CYGPATH_W) '$(srcdir)/hitexdir/hishrink-parser.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) hitexdir/$(DEPDIR)/hishrink-hishrink-parser.Tpo hitexdir/$(DEPDIR)/hishrink-hishrink-parser.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='hitexdir/hishrink-parser.c' object='hitexdir/hishrink-hishrink-parser.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hishrink-shrink-parser.obj `if test -f 'shrink-parser.c'; then $(CYGPATH_W) 'shrink-parser.c'; else $(CYGPATH_W) '$(srcdir)/shrink-parser.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hitexdir/hishrink-hishrink-parser.obj `if test -f 'hitexdir/hishrink-parser.c'; then $(CYGPATH_W) 'hitexdir/hishrink-parser.c'; else $(CYGPATH_W) '$(srcdir)/hitexdir/hishrink-parser.c'; fi`
 
 histretch-hformat.o: hformat.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(histretch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT histretch-hformat.o -MD -MP -MF $(DEPDIR)/histretch-hformat.Tpo -c -o histretch-hformat.o `test -f 'hformat.c' || echo '$(srcdir)/'`hformat.c
@@ -18896,13 +18892,6 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
-.l.c:
-	$(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
-
-shrink-lexer.c: shrink-lexer.l
-	$(AM_V_LEX) \
-	$(SHELL) $(YLWRAP) `test -f 'shrink-lexer.l' || echo '$(srcdir)/'`shrink-lexer.l $(LEX_OUTPUT_ROOT).c shrink-lexer.c -- $(LEX) $(AM_LFLAGS) $(LFLAGS)
-
 .mm.o:
 @am__fastdepOBJCXX_TRUE@	$(AM_V_OBJCXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
 @am__fastdepOBJCXX_TRUE@	$(OBJCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@@ -18941,13 +18930,6 @@
 @AMDEP_TRUE@@am__fastdepOBJCXX_FALSE@	DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepOBJCXX_FALSE@	$(AM_V_OBJCXX at am__nodep@)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxetex_a_CPPFLAGS) $(CPPFLAGS) $(libxetex_a_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o xetexdir/libxetex_a-XeTeXFontMgr_Mac.obj `if test -f 'xetexdir/XeTeXFontMgr_Mac.mm'; then $(CYGPATH_W) 'xetexdir/XeTeXFontMgr_Mac.mm'; else $(CYGPATH_W) '$(srcdir)/xetexdir/XeTeXFontMgr_Mac.mm'; fi`
 
-.y.c:
-	$(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE)
-
-shrink-parser.c: shrink-parser.y
-	$(AM_V_YACC) \
-	$(SHELL) $(YLWRAP) `test -f 'shrink-parser.y' || echo '$(srcdir)/'`shrink-parser.y y.tab.c shrink-parser.c y.tab.h `echo shrink-parser.c | $(am__yacc_c2h)` y.output shrink-parser.output -- $(YACC) $(AM_YFLAGS) $(YFLAGS)
-
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -19566,8 +19548,12 @@
 check: check-recursive
 all-am: Makefile $(PROGRAMS) $(LIBRARIES) $(LTLIBRARIES) $(MANS) \
 		$(DATA) $(HEADERS) ff-config.h
+install-EXTRAPROGRAMS: install-libLTLIBRARIES
+
 install-binPROGRAMS: install-libLTLIBRARIES
 
+install-EXTRALTLIBRARIES: install-libLTLIBRARIES
+
 installdirs: installdirs-recursive
 installdirs-am:
 	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(syncincludedir)"; do \
@@ -19598,9 +19584,6 @@
 	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
-	-rm -f shrink-lexer.c
-	-rm -f shrink-parser.c
-	-rm -f shrink-parser.h
 	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
@@ -19614,6 +19597,8 @@
 	-rm -f etexdir/$(am__dirstamp)
 	-rm -f euptexdir/$(DEPDIR)/$(am__dirstamp)
 	-rm -f euptexdir/$(am__dirstamp)
+	-rm -f hitexdir/$(DEPDIR)/$(am__dirstamp)
+	-rm -f hitexdir/$(am__dirstamp)
 	-rm -f libmd5/$(DEPDIR)/$(am__dirstamp)
 	-rm -f libmd5/$(am__dirstamp)
 	-rm -f luatexdir/$(DEPDIR)/$(am__dirstamp)
@@ -19790,8 +19775,6 @@
 	-rm -f ./$(DEPDIR)/gftype.Po
 	-rm -f ./$(DEPDIR)/hishrink-hformat.Po
 	-rm -f ./$(DEPDIR)/hishrink-hishrink.Po
-	-rm -f ./$(DEPDIR)/hishrink-shrink-lexer.Po
-	-rm -f ./$(DEPDIR)/hishrink-shrink-parser.Po
 	-rm -f ./$(DEPDIR)/histretch-hformat.Po
 	-rm -f ./$(DEPDIR)/histretch-histretch.Po
 	-rm -f ./$(DEPDIR)/hitex-hformat.Po
@@ -19910,6 +19893,8 @@
 	-rm -f eptexdir/$(DEPDIR)/eptex-eptexextra.Po
 	-rm -f etexdir/$(DEPDIR)/etex-etexextra.Po
 	-rm -f euptexdir/$(DEPDIR)/euptex-euptexextra.Po
+	-rm -f hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Po
+	-rm -f hitexdir/$(DEPDIR)/hishrink-hishrink-parser.Po
 	-rm -f libmd5/$(DEPDIR)/a-md5.Po
 	-rm -f libmd5/$(DEPDIR)/md5main-md5main.Po
 	-rm -f luatexdir/$(DEPDIR)/luahbtex-luatex.Po
@@ -20569,8 +20554,6 @@
 	-rm -f ./$(DEPDIR)/gftype.Po
 	-rm -f ./$(DEPDIR)/hishrink-hformat.Po
 	-rm -f ./$(DEPDIR)/hishrink-hishrink.Po
-	-rm -f ./$(DEPDIR)/hishrink-shrink-lexer.Po
-	-rm -f ./$(DEPDIR)/hishrink-shrink-parser.Po
 	-rm -f ./$(DEPDIR)/histretch-hformat.Po
 	-rm -f ./$(DEPDIR)/histretch-histretch.Po
 	-rm -f ./$(DEPDIR)/hitex-hformat.Po
@@ -20689,6 +20672,8 @@
 	-rm -f eptexdir/$(DEPDIR)/eptex-eptexextra.Po
 	-rm -f etexdir/$(DEPDIR)/etex-etexextra.Po
 	-rm -f euptexdir/$(DEPDIR)/euptex-euptexextra.Po
+	-rm -f hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Po
+	-rm -f hitexdir/$(DEPDIR)/hishrink-hishrink-parser.Po
 	-rm -f libmd5/$(DEPDIR)/a-md5.Po
 	-rm -f libmd5/$(DEPDIR)/md5main-md5main.Po
 	-rm -f luatexdir/$(DEPDIR)/luahbtex-luatex.Po
@@ -22122,6 +22107,9 @@
 euptrip-clean:
 	rm -rf euptripdir
 
+# convenience target to build all the programs here.
+hiall: hitex hishrink histretch
+
 $(format_c_h_l_y): format-tangle
 	$(hi_ctangle_sh) format
 #
@@ -22145,23 +22133,11 @@
 hformat.c: mkhformat
 	./mkhformat >hformat.c || { rm -f hformat.c; exit 1; }
 
-# Postprocessing lex and yacc files generated by ctangle.
-# (SED is defined with AC_PROG_SED)
-shrink-parser.y: $(srcdir)/hitexdir/yacc.sed shrink.yacc-in
-	$(SED) -f $(srcdir)/hitexdir/yacc.sed shrink.yacc-in >shrink-parser.y \
-	|| { rm -f shrink-parser.y; exit 1; }
+# This is our attempt to ensure that bison got run before anything else,
+# when needed.
 #
-shrink-lexer.l: $(srcdir)/hitexdir/lex.sed shrink.lex-in
-	$(SED) -f $(srcdir)/hitexdir/lex.sed shrink.lex-in >shrink-lexer.l \
-	|| { rm -f shrink-lexer.l; exit 1; }
+$(hishrink_OBJECTS): $(srcdir)/hitexdir/hishrink-parser.h
 
-# shrink needs the yacc header. It's actually the .o that should be the
-# target here, seems to me, but hishrink.o is not used for the object
-# name, it's hishrink-hishrink.o (because the program is also named
-# hishrink), and adding that here ends up trying to link with
-# hishrink-hishrink.o (I don't know), which doesn't exist. Sigh.
-hishrink.c: shrink-parser.h shrink-parser.c
-
 # still missing
 
 # We must create pdftexd.h (and xpdf...) before building the libpdftex_a_OBJECTS.

Modified: branches/stable/source/src/texk/web2c/aclocal.m4
===================================================================
--- branches/stable/source/src/texk/web2c/aclocal.m4	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/aclocal.m4	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -465,6 +465,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl

Modified: branches/stable/source/src/texk/web2c/ctangleboot.cin
===================================================================
--- branches/stable/source/src/texk/web2c/ctangleboot.cin	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/ctangleboot.cin	2021-11-03 18:16:31 UTC (rev 867)
@@ -270,12 +270,12 @@
 extern FILE*active_file;
 extern FILE*check_file;
 
-/*:15*//*115:*/
-#line 487 "cwebdir/ctang-w2c.ch"
+/*:15*//*116:*/
+#line 504 "cwebdir/ctang-w2c.ch"
 
 extern char cb_banner[];
 
-/*:115*/
+/*:116*/
 #line 69 "cwebdir/ctangle.w"
 
 /*19:*/
@@ -536,12 +536,12 @@
 #line 1114 "cwebdir/ctangle.w"
 section_text[0]= ' ';
 
-/*:78*//*116:*/
-#line 490 "cwebdir/ctang-w2c.ch"
+/*:78*//*117:*/
+#line 507 "cwebdir/ctang-w2c.ch"
 
 strncpy(cb_banner,banner,max_banner-1);
 
-/*:116*/
+/*:117*/
 #line 88 "cwebdir/ctangle.w"
 
 common_init();
@@ -748,13 +748,14 @@
 writeloop:/*50:*/
 #line 138 "cwebdir/ctang-w2c.ch"
 
+if(check_for_change){
 fclose(C_file);C_file= NULL;
-/*105:*/
-#line 370 "cwebdir/ctang-w2c.ch"
+/*106:*/
+#line 387 "cwebdir/ctang-w2c.ch"
 
 if((C_file= fopen(C_file_name,"r"))!=NULL){
-/*106:*/
-#line 377 "cwebdir/ctang-w2c.ch"
+/*107:*/
+#line 394 "cwebdir/ctang-w2c.ch"
 
 boolean comparison= false;
 
@@ -762,8 +763,8 @@
 fatal(_("! Cannot open output file "),check_file_name);
 
 
-if(check_for_change)/*107:*/
-#line 391 "cwebdir/ctang-w2c.ch"
+/*108:*/
+#line 408 "cwebdir/ctang-w2c.ch"
 
 do{
 char x[BUFSIZ],y[BUFSIZ];
@@ -772,18 +773,18 @@
 comparison= (x_size==y_size)&&!memcmp(x,y,x_size);
 }while(comparison&&!feof(C_file)&&!feof(check_file));
 
-/*:107*/
-#line 384 "cwebdir/ctang-w2c.ch"
+/*:108*/
+#line 401 "cwebdir/ctang-w2c.ch"
 
 
 fclose(C_file);C_file= NULL;
 fclose(check_file);check_file= NULL;
 
-/*:106*/
-#line 372 "cwebdir/ctang-w2c.ch"
+/*:107*/
+#line 389 "cwebdir/ctang-w2c.ch"
 
-/*108:*/
-#line 402 "cwebdir/ctang-w2c.ch"
+/*109:*/
+#line 419 "cwebdir/ctang-w2c.ch"
 
 if(comparison)
 remove(check_file_name);
@@ -792,18 +793,22 @@
 rename(check_file_name,C_file_name);
 }
 
-/*:108*/
-#line 373 "cwebdir/ctang-w2c.ch"
+/*:109*/
+#line 390 "cwebdir/ctang-w2c.ch"
 
 }else
 rename(check_file_name,C_file_name);
 
-/*:105*/
-#line 140 "cwebdir/ctang-w2c.ch"
+/*:106*/
+#line 141 "cwebdir/ctang-w2c.ch"
 
+}
 for(an_output_file= end_output_files;an_output_file> cur_out_file;){
 an_output_file--;
 sprint_section_name(output_file_name,*an_output_file);
+if(check_for_change)/*105:*/
+#line 378 "cwebdir/ctang-w2c.ch"
+{
 if((C_file= fopen(output_file_name,"a"))==NULL)
 fatal(_("! Cannot open output file "),output_file_name);
 
@@ -810,6 +815,17 @@
 else fclose(C_file);
 if((C_file= fopen(check_file_name,"wb"))==NULL)
 fatal(_("! Cannot open output file "),check_file_name);
+}
+
+/*:105*/
+#line 146 "cwebdir/ctang-w2c.ch"
+
+else{
+fclose(C_file);
+if((C_file= fopen(output_file_name,"wb"))==NULL)
+fatal(_("! Cannot open output file "),output_file_name);
+
+}
 if(show_progress){printf("\n(%s)",output_file_name);update_terminal;}
 cur_line= 1;
 stack_ptr= stack+1;
@@ -818,16 +834,18 @@
 cur_byte= cur_repl->tok_start;
 cur_end= (cur_repl+1)->tok_start;
 while(stack_ptr> stack)get_output();
-flush_buffer();fclose(C_file);C_file= NULL;
-/*109:*/
-#line 415 "cwebdir/ctang-w2c.ch"
+flush_buffer();
+if(check_for_change){
+fclose(C_file);C_file= NULL;
+/*110:*/
+#line 432 "cwebdir/ctang-w2c.ch"
 
 if(0==strcmp("/dev/stdout",output_file_name))
-/*111:*/
-#line 442 "cwebdir/ctang-w2c.ch"
+/*112:*/
+#line 459 "cwebdir/ctang-w2c.ch"
 {
-/*114:*/
-#line 473 "cwebdir/ctang-w2c.ch"
+/*115:*/
+#line 490 "cwebdir/ctang-w2c.ch"
 
 char in_buf[BUFSIZ+1];
 int in_size;
@@ -836,8 +854,8 @@
 fatal(_("! Cannot open output file "),check_file_name);
 
 
-/*:114*/
-#line 443 "cwebdir/ctang-w2c.ch"
+/*:115*/
+#line 460 "cwebdir/ctang-w2c.ch"
 
 do{
 in_size= fread(in_buf,sizeof(char),BUFSIZ,check_file);
@@ -845,8 +863,8 @@
 fprintf(stdout,"%s",in_buf);
 }while(!feof(check_file));
 fclose(check_file);check_file= NULL;
-/*110:*/
-#line 432 "cwebdir/ctang-w2c.ch"
+/*111:*/
+#line 449 "cwebdir/ctang-w2c.ch"
 
 if(comparison)
 remove(check_file_name);
@@ -855,20 +873,20 @@
 rename(check_file_name,output_file_name);
 }
 
-/*:110*/
-#line 450 "cwebdir/ctang-w2c.ch"
+/*:111*/
+#line 467 "cwebdir/ctang-w2c.ch"
 
 }
 
-/*:111*/
-#line 417 "cwebdir/ctang-w2c.ch"
+/*:112*/
+#line 434 "cwebdir/ctang-w2c.ch"
 
 else if(0==strcmp("/dev/stderr",output_file_name))
-/*112:*/
-#line 455 "cwebdir/ctang-w2c.ch"
+/*113:*/
+#line 472 "cwebdir/ctang-w2c.ch"
 {
-/*114:*/
-#line 473 "cwebdir/ctang-w2c.ch"
+/*115:*/
+#line 490 "cwebdir/ctang-w2c.ch"
 
 char in_buf[BUFSIZ+1];
 int in_size;
@@ -877,8 +895,8 @@
 fatal(_("! Cannot open output file "),check_file_name);
 
 
-/*:114*/
-#line 456 "cwebdir/ctang-w2c.ch"
+/*:115*/
+#line 473 "cwebdir/ctang-w2c.ch"
 
 do{
 in_size= fread(in_buf,sizeof(char),BUFSIZ,check_file);
@@ -886,8 +904,8 @@
 fprintf(stderr,"%s",in_buf);
 }while(!feof(check_file));
 fclose(check_file);check_file= NULL;
-/*110:*/
-#line 432 "cwebdir/ctang-w2c.ch"
+/*111:*/
+#line 449 "cwebdir/ctang-w2c.ch"
 
 if(comparison)
 remove(check_file_name);
@@ -896,21 +914,21 @@
 rename(check_file_name,output_file_name);
 }
 
-/*:110*/
-#line 463 "cwebdir/ctang-w2c.ch"
+/*:111*/
+#line 480 "cwebdir/ctang-w2c.ch"
 
 }
 
-/*:112*/
-#line 419 "cwebdir/ctang-w2c.ch"
+/*:113*/
+#line 436 "cwebdir/ctang-w2c.ch"
 
 else if(0==strcmp("/dev/null",output_file_name))
-/*113:*/
-#line 468 "cwebdir/ctang-w2c.ch"
+/*114:*/
+#line 485 "cwebdir/ctang-w2c.ch"
 {
 boolean comparison= true;
-/*110:*/
-#line 432 "cwebdir/ctang-w2c.ch"
+/*111:*/
+#line 449 "cwebdir/ctang-w2c.ch"
 
 if(comparison)
 remove(check_file_name);
@@ -919,18 +937,18 @@
 rename(check_file_name,output_file_name);
 }
 
-/*:110*/
-#line 470 "cwebdir/ctang-w2c.ch"
+/*:111*/
+#line 487 "cwebdir/ctang-w2c.ch"
 
 }
 
-/*:113*/
-#line 421 "cwebdir/ctang-w2c.ch"
+/*:114*/
+#line 438 "cwebdir/ctang-w2c.ch"
 
 else{
 if((C_file= fopen(output_file_name,"r"))!=NULL){
-/*106:*/
-#line 377 "cwebdir/ctang-w2c.ch"
+/*107:*/
+#line 394 "cwebdir/ctang-w2c.ch"
 
 boolean comparison= false;
 
@@ -938,8 +956,8 @@
 fatal(_("! Cannot open output file "),check_file_name);
 
 
-if(check_for_change)/*107:*/
-#line 391 "cwebdir/ctang-w2c.ch"
+/*108:*/
+#line 408 "cwebdir/ctang-w2c.ch"
 
 do{
 char x[BUFSIZ],y[BUFSIZ];
@@ -948,18 +966,18 @@
 comparison= (x_size==y_size)&&!memcmp(x,y,x_size);
 }while(comparison&&!feof(C_file)&&!feof(check_file));
 
-/*:107*/
-#line 384 "cwebdir/ctang-w2c.ch"
+/*:108*/
+#line 401 "cwebdir/ctang-w2c.ch"
 
 
 fclose(C_file);C_file= NULL;
 fclose(check_file);check_file= NULL;
 
-/*:106*/
-#line 424 "cwebdir/ctang-w2c.ch"
+/*:107*/
+#line 441 "cwebdir/ctang-w2c.ch"
 
-/*110:*/
-#line 432 "cwebdir/ctang-w2c.ch"
+/*111:*/
+#line 449 "cwebdir/ctang-w2c.ch"
 
 if(comparison)
 remove(check_file_name);
@@ -968,17 +986,19 @@
 rename(check_file_name,output_file_name);
 }
 
-/*:110*/
-#line 425 "cwebdir/ctang-w2c.ch"
+/*:111*/
+#line 442 "cwebdir/ctang-w2c.ch"
 
 }else
 rename(check_file_name,output_file_name);
 }
 
-/*:109*/
-#line 159 "cwebdir/ctang-w2c.ch"
+/*:110*/
+#line 164 "cwebdir/ctang-w2c.ch"
 
 }
+}
+if(check_for_change)
 strcpy(check_file_name,"");
 #line 581 "cwebdir/ctangle.w"
 
@@ -1021,7 +1041,7 @@
 if(a<024000){
 cur_val= (int)a;out_char(identifier);
 }
-#line 167 "cwebdir/ctang-w2c.ch"
+#line 174 "cwebdir/ctang-w2c.ch"
 else if(a<050000)confusion(_("macro defs have strange char"));
 #line 626 "cwebdir/ctangle.w"
 else{
@@ -1165,7 +1185,7 @@
 if(is_long_comment){
 if(get_line())return comment_continues= true;
 else{
-#line 173 "cwebdir/ctang-w2c.ch"
+#line 180 "cwebdir/ctang-w2c.ch"
 err_print(_("! Input ended in mid-comment"));
 #line 853 "cwebdir/ctangle.w"
 
@@ -1180,7 +1200,7 @@
 }
 if(c=='@'){
 if(ccode[(eight_bits)*loc]==new_section){
-#line 179 "cwebdir/ctang-w2c.ch"
+#line 186 "cwebdir/ctang-w2c.ch"
 err_print(_("! Section name ended in mid-comment"));loc--;
 #line 866 "cwebdir/ctangle.w"
 
@@ -1288,13 +1308,13 @@
 while(true){
 if(loc>=limit){
 if(*(limit-1)!='\\'){
-#line 185 "cwebdir/ctang-w2c.ch"
+#line 192 "cwebdir/ctang-w2c.ch"
 err_print(_("! String didn't end"));loc= limit;break;
 #line 1016 "cwebdir/ctangle.w"
 
 }
 if(get_line()==false){
-#line 191 "cwebdir/ctang-w2c.ch"
+#line 198 "cwebdir/ctang-w2c.ch"
 err_print(_("! Input ended in middle of string"));loc= buffer;break;
 #line 1020 "cwebdir/ctangle.w"
 
@@ -1314,7 +1334,7 @@
 if(++id_loc<=section_text_end)*id_loc= (char)c;
 }
 if(id_loc>=section_text_end){
-#line 197 "cwebdir/ctang-w2c.ch"
+#line 204 "cwebdir/ctang-w2c.ch"
 fputs(_("\n! String too long: "),stdout);
 #line 1038 "cwebdir/ctangle.w"
 
@@ -1348,7 +1368,7 @@
 
 switch(c= ccode[(eight_bits)*loc++]){
 case ignore:continue;
-#line 203 "cwebdir/ctang-w2c.ch"
+#line 210 "cwebdir/ctang-w2c.ch"
 case translit_code:err_print(_("! Use @l in limbo only"));continue;
 #line 1053 "cwebdir/ctangle.w"
 
@@ -1355,7 +1375,7 @@
 case control_text:while((c= skip_ahead())=='@');
 
 if(*(loc-1)!='>')
-#line 209 "cwebdir/ctang-w2c.ch"
+#line 216 "cwebdir/ctang-w2c.ch"
 err_print(_("! Double @ should be used in control text"));
 #line 1058 "cwebdir/ctangle.w"
 
@@ -1371,7 +1391,7 @@
 
 while(true){
 if(loc> limit&&get_line()==false){
-#line 227 "cwebdir/ctang-w2c.ch"
+#line 234 "cwebdir/ctang-w2c.ch"
 err_print(_("! Input ended in section name"));
 #line 1120 "cwebdir/ctangle.w"
 
@@ -1387,13 +1407,13 @@
 loc+= 2;break;
 }
 if(ccode[(eight_bits)c]==new_section){
-#line 239 "cwebdir/ctang-w2c.ch"
+#line 246 "cwebdir/ctang-w2c.ch"
 err_print(_("! Section name didn't end"));break;
 #line 1147 "cwebdir/ctangle.w"
 
 }
 if(ccode[(eight_bits)c]==section_name){
-#line 245 "cwebdir/ctang-w2c.ch"
+#line 252 "cwebdir/ctang-w2c.ch"
 err_print(_("! Nesting of section names not allowed"));break;
 #line 1151 "cwebdir/ctangle.w"
 
@@ -1411,7 +1431,7 @@
 *k= (char)c;
 }
 if(k>=section_text_end){
-#line 233 "cwebdir/ctang-w2c.ch"
+#line 240 "cwebdir/ctang-w2c.ch"
 fputs(_("\n! Section name too long: "),stdout);
 #line 1133 "cwebdir/ctangle.w"
 
@@ -1459,7 +1479,7 @@
 
 id_first= loc++;*(limit+1)= '@';*(limit+2)= '>';
 while(*loc!='@'||*(loc+1)!='>')loc++;
-#line 251 "cwebdir/ctang-w2c.ch"
+#line 258 "cwebdir/ctang-w2c.ch"
 if(loc>=limit)err_print(_("! Verbatim string didn't end"));
 #line 1165 "cwebdir/ctangle.w"
 
@@ -1478,7 +1498,7 @@
 while(*loc!='\''){
 if(*loc=='@'){
 if(*(loc+1)!='@')
-#line 215 "cwebdir/ctang-w2c.ch"
+#line 222 "cwebdir/ctang-w2c.ch"
 err_print(_("! Double @ should be used in ASCII constant"));
 #line 1082 "cwebdir/ctangle.w"
 
@@ -1486,7 +1506,7 @@
 }
 loc++;
 if(loc> limit){
-#line 221 "cwebdir/ctang-w2c.ch"
+#line 228 "cwebdir/ctang-w2c.ch"
 err_print(_("! String didn't end"));loc= limit-1;break;
 #line 1088 "cwebdir/ctangle.w"
 
@@ -1585,7 +1605,7 @@
 while(*try_loc==' '&&try_loc<limit)try_loc++;
 if(*try_loc=='+'&&try_loc<limit)try_loc++;
 while(*try_loc==' '&&try_loc<limit)try_loc++;
-#line 287 "cwebdir/ctang-w2c.ch"
+#line 294 "cwebdir/ctang-w2c.ch"
 if(*try_loc=='=')err_print(_("! Missing `@ ' before a named section"));
 #line 1284 "cwebdir/ctangle.w"
 
@@ -1621,7 +1641,7 @@
 
 }
 break;
-#line 275 "cwebdir/ctang-w2c.ch"
+#line 282 "cwebdir/ctang-w2c.ch"
 case output_defs_code:if(t!=section_name)err_print(_("! Misplaced @h"));
 #line 1256 "cwebdir/ctangle.w"
 
@@ -1660,7 +1680,7 @@
 while(id_first<id_loc){
 if(*id_first=='@'){
 if(*(id_first+1)=='@')id_first++;
-#line 293 "cwebdir/ctang-w2c.ch"
+#line 300 "cwebdir/ctang-w2c.ch"
 else err_print(_("! Double @ should be used in string"));
 #line 1301 "cwebdir/ctangle.w"
 
@@ -1714,7 +1734,7 @@
 case'\\':c= '\\';break;
 case'\'':c= '\'';break;
 case'\"':c= '\"';break;
-#line 299 "cwebdir/ctang-w2c.ch"
+#line 306 "cwebdir/ctang-w2c.ch"
 default:err_print(_("! Unrecognized escape sequence"));
 #line 1350 "cwebdir/ctangle.w"
 
@@ -1734,7 +1754,7 @@
 break;
 case definition:case format_code:case begin_C:if(t!=section_name)goto done;
 else{
-#line 281 "cwebdir/ctang-w2c.ch"
+#line 288 "cwebdir/ctang-w2c.ch"
 err_print(_("! @d, @f and @c are ignored in C text"));continue;
 #line 1274 "cwebdir/ctangle.w"
 
@@ -1750,7 +1770,7 @@
 default:app_repl(a);
 }
 done:next_control= (eight_bits)a;
-#line 269 "cwebdir/ctang-w2c.ch"
+#line 276 "cwebdir/ctang-w2c.ch"
 if(text_ptr> text_info_end)overflow(_("text"));
 #line 1216 "cwebdir/ctangle.w"
 cur_text= text_ptr;(++text_ptr)->tok_start= tok_ptr;
@@ -1789,7 +1809,7 @@
 
 while((next_control= get_next())=='\n');
 if(next_control!=identifier){
-#line 305 "cwebdir/ctang-w2c.ch"
+#line 312 "cwebdir/ctang-w2c.ch"
 err_print(_("! Definition flushed, must start with identifier"));
 #line 1423 "cwebdir/ctangle.w"
 
@@ -1900,7 +1920,7 @@
 loc+= 3;
 if(loc> limit||!xisxdigit(*(loc-3))||!xisxdigit(*(loc-2))
 ||(*(loc-3)>='0'&&*(loc-3)<='7')||!xisspace(*(loc-1)))
-#line 323 "cwebdir/ctang-w2c.ch"
+#line 330 "cwebdir/ctang-w2c.ch"
 err_print(_("! Improper hex number following @l"));
 #line 1522 "cwebdir/ctangle.w"
 
@@ -1912,7 +1932,7 @@
 beg= loc;
 while(loc<limit&&(xisalpha(*loc)||xisdigit(*loc)||*loc=='_'))loc++;
 if(loc-beg>=translit_length)
-#line 329 "cwebdir/ctang-w2c.ch"
+#line 336 "cwebdir/ctang-w2c.ch"
 err_print(_("! Replacement string in @l too long"));
 #line 1532 "cwebdir/ctangle.w"
 
@@ -1929,13 +1949,13 @@
 case control_text:if(c=='q'||c=='Q'){
 while((c= (char)skip_ahead())=='@');
 if(*(loc-1)!='>')
-#line 311 "cwebdir/ctang-w2c.ch"
+#line 318 "cwebdir/ctang-w2c.ch"
 err_print(_("! Double @ should be used in control text"));
 #line 1504 "cwebdir/ctangle.w"
 
 break;
 }
-#line 317 "cwebdir/ctang-w2c.ch"
+#line 324 "cwebdir/ctang-w2c.ch"
 default:err_print(_("! Double @ should be used in limbo"));
 #line 1508 "cwebdir/ctangle.w"
 
@@ -1949,7 +1969,7 @@
 
 void
 print_stats(void){
-#line 342 "cwebdir/ctang-w2c.ch"
+#line 349 "cwebdir/ctang-w2c.ch"
 puts(_("\nMemory usage statistics:"));
 printf(_("%td names (out of %ld)\n"),
 (ptrdiff_t)(name_ptr-name_dir),(long)max_names);
@@ -1962,5 +1982,5 @@
 (ptrdiff_t)(tok_ptr-tok_mem),(long)max_toks);
 }
 
-#line 355 "cwebdir/ctang-w2c.ch"
+#line 362 "cwebdir/ctang-w2c.ch"
 /*:103*/

Modified: branches/stable/source/src/texk/web2c/cwebboot.cin
===================================================================
--- branches/stable/source/src/texk/web2c/cwebboot.cin	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebboot.cin	2021-11-03 18:16:31 UTC (rev 867)
@@ -22,8 +22,8 @@
 #include <stdlib.h>  
 #include <string.h>  
 
-/*:3*//*89:*/
-#line 717 "cwebdir/comm-w2c.ch"
+/*:3*//*91:*/
+#line 739 "cwebdir/comm-w2c.ch"
 
 #if HAVE_GETTEXT
 #include <locale.h>  
@@ -33,8 +33,8 @@
 #define textdomain(a) ""
 #endif
 
-/*:89*//*91:*/
-#line 764 "cwebdir/comm-w2c.ch"
+/*:91*//*93:*/
+#line 786 "cwebdir/comm-w2c.ch"
 
 #include <kpathsea/kpathsea.h>  
 
@@ -41,13 +41,13 @@
 #include <w2c/config.h>  
 #include <lib/lib.h>  
 
-/*:91*//*94:*/
-#line 801 "cwebdir/comm-w2c.ch"
+/*:93*//*96:*/
+#line 823 "cwebdir/comm-w2c.ch"
 
 #define CWEB
 #include "help.h" 
 
-/*:94*/
+/*:96*/
 #line 63 "cwebdir/common.w"
 
 #define _(s) gettext(s)  \
@@ -395,13 +395,13 @@
 
 #line 601 "cwebdir/comm-w2c.ch"
 /*:83*//*86:*/
-#line 646 "cwebdir/comm-w2c.ch"
+#line 629 "cwebdir/comm-w2c.ch"
 
 const char*use_language= "";
 
 
 /*:86*//*87:*/
-#line 659 "cwebdir/comm-w2c.ch"
+#line 642 "cwebdir/comm-w2c.ch"
 
 char cb_banner[max_banner];
 string texmf_locale;
@@ -476,13 +476,13 @@
 static void scan_args(void);
 
 #line 507 "cwebdir/comm-w2c.ch"
-/*:76*//*96:*/
-#line 814 "cwebdir/comm-w2c.ch"
+/*:76*//*98:*/
+#line 836 "cwebdir/comm-w2c.ch"
 
 static void cb_usage(const_string str);
 static void cb_usagehelp(const_string*message,const_string bug_email);
 
-/*:96*/
+/*:98*/
 #line 67 "cwebdir/common.w"
 
 
@@ -509,17 +509,17 @@
 /*:47*/
 #line 78 "cwebdir/comm-w2c.ch"
 
-/*92:*/
-#line 776 "cwebdir/comm-w2c.ch"
+/*94:*/
+#line 798 "cwebdir/comm-w2c.ch"
 
 kpse_set_program_name(argv[0],"cweb");
 
-/*:92*/
+/*:94*/
 #line 79 "cwebdir/comm-w2c.ch"
 
 #line 85 "cwebdir/comm-w2c.ch"
-/*90:*/
-#line 726 "cwebdir/comm-w2c.ch"
+/*92:*/
+#line 748 "cwebdir/comm-w2c.ch"
 
 setlocale(LC_MESSAGES,setlocale(LC_CTYPE,""));
 texmf_locale= kpse_var_expand("${TEXMFLOCALEDIR}");
@@ -534,7 +534,7 @@
 textdomain("cweb");
 
 
-/*:90*/
+/*:92*/
 #line 85 "cwebdir/comm-w2c.ch"
 
 /*74:*/
@@ -553,6 +553,9 @@
 
 scan_args();
 if(program==ctangle){
+if(check_for_change)/*88:*/
+#line 659 "cwebdir/comm-w2c.ch"
+{
 if((C_file= fopen(C_file_name,"a"))==NULL)
 fatal(_("! Cannot open output file "),C_file_name);
 
@@ -565,11 +568,22 @@
 }
 if((C_file= fopen(check_file_name,"wb"))==NULL)
 fatal(_("! Cannot open output file "),check_file_name);
+}
 
+/*:88*/
+#line 604 "cwebdir/comm-w2c.ch"
+
+else if((C_file= fopen(C_file_name,"wb"))==NULL)
+fatal(_("! Cannot open output file "),C_file_name);
+
 }
 else{
+if(check_for_change)/*89:*/
+#line 674 "cwebdir/comm-w2c.ch"
+{
 if((tex_file= fopen(tex_file_name,"a"))==NULL)
 fatal(_("! Cannot open output file "),tex_file_name);
+
 else fclose(tex_file);
 strcpy(check_file_name,tex_file_name);
 if(check_file_name[0]!='\0'){
@@ -580,9 +594,16 @@
 if((tex_file= fopen(check_file_name,"wb"))==NULL)
 fatal(_("! Cannot open output file "),check_file_name);
 }
+
+/*:89*/
+#line 610 "cwebdir/comm-w2c.ch"
+
+else if((tex_file= fopen(tex_file_name,"wb"))==NULL)
+fatal(_("! Cannot open output file "),tex_file_name);
+}
 #line 1287 "cwebdir/common.w"
 
-#line 636 "cwebdir/comm-w2c.ch"
+#line 619 "cwebdir/comm-w2c.ch"
 /*:84*/
 #line 101 "cwebdir/common.w"
 
@@ -1332,8 +1353,8 @@
 /*:69*/
 #line 394 "cwebdir/comm-w2c.ch"
 
-/*88:*/
-#line 670 "cwebdir/comm-w2c.ch"
+/*90:*/
+#line 692 "cwebdir/comm-w2c.ch"
 
 if(C_file)fclose(C_file);
 if(tex_file)fclose(tex_file);
@@ -1341,7 +1362,7 @@
 if(strlen(check_file_name))
 remove(check_file_name);
 
-/*:88*/
+/*:90*/
 #line 395 "cwebdir/comm-w2c.ch"
 
 #line 402 "cwebdir/comm-w2c.ch"
@@ -1408,20 +1429,20 @@
 {
 if(strcmp("-help",*argv)==0||strcmp("--help",*argv)==0)
 
-/*95:*/
-#line 805 "cwebdir/comm-w2c.ch"
+/*97:*/
+#line 827 "cwebdir/comm-w2c.ch"
 
 cb_usagehelp(program==ctangle?CTANGLEHELP:
 program==cweave?CWEAVEHELP:CTWILLHELP,NULL);
 
 
-/*:95*/
+/*:97*/
 #line 523 "cwebdir/comm-w2c.ch"
 
 if(strcmp("-version",*argv)==0||strcmp("--version",*argv)==0)
 
-/*98:*/
-#line 853 "cwebdir/comm-w2c.ch"
+/*100:*/
+#line 875 "cwebdir/comm-w2c.ch"
 
 printversionandexit(cb_banner,
 program==ctwill?"Donald E. Knuth":"Silvio Levy and Donald E. Knuth",
@@ -1428,7 +1449,7 @@
 NULL,"Contemporary development on https://github.com/ascherer/cweb.\n");
 
 
-/*:98*/
+/*:100*/
 #line 526 "cwebdir/comm-w2c.ch"
 
 if(strcmp("-verbose",*argv)==0||strcmp("--verbose",*argv)==0)
@@ -1594,8 +1615,8 @@
 
 }
 
-/*:75*//*97:*/
-#line 818 "cwebdir/comm-w2c.ch"
+/*:75*//*99:*/
+#line 840 "cwebdir/comm-w2c.ch"
 
 static void cb_usage(const_string str)
 {
@@ -1628,8 +1649,8 @@
 history= spotless;exit(wrap_up());
 }
 
-/*:97*//*99:*/
-#line 861 "cwebdir/comm-w2c.ch"
+/*:99*//*101:*/
+#line 883 "cwebdir/comm-w2c.ch"
 
 void cb_show_banner(void)
 {
@@ -1640,4 +1661,4 @@
 
 }
 
-/*:99*/
+/*:101*/

Modified: branches/stable/source/src/texk/web2c/cwebdir/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/ChangeLog	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/ChangeLog	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,3 +1,32 @@
+2021-10-31  Andreas Scherer  <https://ascherer.github.io>
+
+	* ctproofmac.tex,
+	* cttwinxmac.tex,
+	* ctwill-mini.ch,
+	* ctwimac.tex,
+	* cweave.w,
+	* cwebmac.tex,
+	* cwebman.tex,
+	* texinputs/pdfctwimac.tex: Restore '\T' macro backward compatibility.
+
+2021-10-24  Andreas Scherer  <https://ascherer.github.io>
+
+	* texinputs/pdfwebtocfront.tex: Restore 'classic' PDF layout.
+
+2021-10-14  Andreas Scherer  <https://ascherer.github.io>
+
+	* ctproofmac.tex,
+	* cttwinxmac.tex,
+	* ctwimac.tex,
+	* texinputs/pdfctwimac.tex: Fix 'base 2' for 'p' exponent.
+
+2021-10-11  Andreas Scherer  <https://ascherer.github.io>
+
+	* comm-w2c.ch,
+	* ctang-w2c.ch,
+	* ctwill-w2c.ch,
+	* cweav-w2c.ch: CWEB 4.6 pre-release RC2.
+
 2021-09-16  Andreas Scherer  <https://ascherer.github.io>
 
 	* comm-{bs,vms,w2c,w32}.ch,

Modified: branches/stable/source/src/texk/web2c/cwebdir/comm-w2c.ch
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/comm-w2c.ch	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/comm-w2c.ch	2021-11-03 18:16:31 UTC (rev 867)
@@ -601,32 +601,15 @@
 @ @<Scan arguments and open output files@>=
 scan_args();
 if (program==ctangle) {
-  if ((C_file=fopen(C_file_name,"a"))==NULL)
+  if (check_for_change) @<Open intermediate \CEE/ output file@>@;
+  else if ((C_file=fopen(C_file_name,"wb"))==NULL)
     fatal(_("! Cannot open output file "), C_file_name);
 @.Cannot open output file@>
-  else fclose(C_file); /* Test accessability */
-  strcpy(check_file_name,C_file_name);
-  if(check_file_name[0]!='\0') {
-    char *dot_pos=strrchr(check_file_name,'.');
-    if(dot_pos==NULL) strcat(check_file_name,".ttp");
-    else strcpy(dot_pos,".ttp");
-  }
-  if ((C_file=fopen(check_file_name,"wb"))==NULL)
-    fatal(_("! Cannot open output file "), check_file_name);
- at .Cannot open output file@>
 }
 else {
-  if ((tex_file=fopen(tex_file_name,"a"))==NULL)
+  if (check_for_change) @<Open intermediate \TEX/ output file@>@;
+  else if ((tex_file=fopen(tex_file_name,"wb"))==NULL)
     fatal(_("! Cannot open output file "), tex_file_name);
-  else fclose(tex_file); /* Test accessability */
-  strcpy(check_file_name,tex_file_name);
-  if(check_file_name[0]!='\0') {
-    char *dot_pos=strrchr(check_file_name,'.');
-    if(dot_pos==NULL) strcat(check_file_name,".wtp");
-    else strcpy(dot_pos,".wtp");
-  }
-  if ((tex_file=fopen(check_file_name,"wb"))==NULL)
-    fatal(_("! Cannot open output file "), check_file_name);
 }
 @z
 
@@ -664,7 +647,46 @@
 #endif
 char separators[]=SEPARATORS;
 
-@* Temporary file output.  Before we leave the program we have to make
+@* Temporary file output. Most \CEE/ projects are controlled by a \.{Makefile}
+that automatically takes care of the temporal dependecies between the different
+source modules. It may be convenient that \.{CWEB} doesn't create new output
+for all existing files, when there are only changes to some of them. Thus the
+\.{make} process will only recompile those modules where necessary. You can
+activate this feature with the `\.{+c}' command-line option. The idea and basic
+implementation of this mechanism can be found in the program \.{NUWEB} by
+Preston Briggs, to whom credit is due.
+
+@<Open intermediate \CEE/ output file@>= {
+  if ((C_file=fopen(C_file_name,"a"))==NULL)
+    fatal(_("! Cannot open output file "), C_file_name);
+ at .Cannot open output file@>
+  else fclose(C_file); /* Test accessability */
+  strcpy(check_file_name,C_file_name);
+  if(check_file_name[0]!='\0') {
+    char *dot_pos=strrchr(check_file_name,'.');
+    if(dot_pos==NULL) strcat(check_file_name,".ttp");
+    else strcpy(dot_pos,".ttp");
+  }
+  if ((C_file=fopen(check_file_name,"wb"))==NULL)
+    fatal(_("! Cannot open output file "), check_file_name);
+}
+
+@ @<Open intermediate \TEX/ output file@>= {
+  if ((tex_file=fopen(tex_file_name,"a"))==NULL)
+    fatal(_("! Cannot open output file "), tex_file_name);
+ at .Cannot open output file@>
+  else fclose(tex_file); /* Test accessability */
+  strcpy(check_file_name,tex_file_name);
+  if(check_file_name[0]!='\0') {
+    char *dot_pos=strrchr(check_file_name,'.');
+    if(dot_pos==NULL) strcat(check_file_name,".wtp");
+    else strcpy(dot_pos,".wtp");
+  }
+  if ((tex_file=fopen(check_file_name,"wb"))==NULL)
+    fatal(_("! Cannot open output file "), check_file_name);
+}
+
+@ Before we leave the program we have to make
 sure that the output files are correctly written.
 
 @<Remove the temporary file...@>=

Modified: branches/stable/source/src/texk/web2c/cwebdir/ctang-w2c.ch
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/ctang-w2c.ch	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/ctang-w2c.ch	2021-11-03 18:16:31 UTC (rev 867)
@@ -136,29 +136,36 @@
 }
 @y
 @<Write all the named output files@>=
-fclose(C_file); C_file=NULL;
-@<Update the primary result when it has changed@>@;
+if (check_for_change) {
+  fclose(C_file); C_file=NULL;
+  @<Update the primary result when it has changed@>@;
+}
 for (an_output_file=end_output_files; an_output_file>cur_out_file;) {
-    an_output_file--;
-    sprint_section_name(output_file_name,*an_output_file);
-    if ((C_file=fopen(output_file_name,"a"))==NULL)
+  an_output_file--;
+  sprint_section_name(output_file_name,*an_output_file);
+  if (check_for_change) @<Open the intermediate output file@>@;
+  else {
+    fclose(C_file);
+    if ((C_file=fopen(output_file_name,"wb"))==NULL)
       fatal(_("! Cannot open output file "),output_file_name);
 @.Cannot open output file@>
-    else fclose(C_file); /* Test accessability */
-    if((C_file=fopen(check_file_name,"wb"))==NULL)
-      fatal(_("! Cannot open output file "),check_file_name);
-    if (show_progress) { printf("\n(%s)",output_file_name); update_terminal; }
-    cur_line=1;
-    stack_ptr=stack+1;
-    cur_name=*an_output_file;
-    cur_repl=(text_pointer)cur_name->equiv;
-    cur_byte=cur_repl->tok_start;
-    cur_end=(cur_repl+1)->tok_start;
-    while (stack_ptr > stack) get_output();
-    flush_buffer(); fclose(C_file); C_file=NULL;
+  }
+  if (show_progress) { printf("\n(%s)",output_file_name); update_terminal; }
+  cur_line=1;
+  stack_ptr=stack+1;
+  cur_name=*an_output_file;
+  cur_repl=(text_pointer)cur_name->equiv;
+  cur_byte=cur_repl->tok_start;
+  cur_end=(cur_repl+1)->tok_start;
+  while (stack_ptr > stack) get_output();
+  flush_buffer();
+  if (check_for_change) {
+    fclose(C_file); C_file=NULL;
     @<Update the secondary results when they have changed@>@;
+  }
 }
-strcpy(check_file_name,""); /* We want to get rid of the temporary file */
+if (check_for_change)
+  strcpy(check_file_name,""); /* We want to get rid of the temporary file */
 @z
 
 @x
@@ -359,15 +366,25 @@
 Care has been taken to keep the original section numbering intact, so this new
 material should nicely integrate with the original ``\&{104.~Index}.''
 
-@* Output file update.  Most \CEE/ projects are controlled by a
-\.{Makefile} that automatically takes care of the temporal dependecies
-between the different source modules.  It is suitable that \.{CWEB} doesn't
-create new output for all existing files, when there are only changes to
-some of them. Thus the \.{make} process will only recompile those modules
-where necessary. The idea and basic implementation of this mechanism can
-be found in the program \.{NUWEB} by Preston Briggs, to whom credit is due.
+@* Output file update. Most \CEE/ projects are controlled by a \.{Makefile}
+that automatically takes care of the temporal dependecies between the different
+source modules. It may be convenient that \.{CWEB} doesn't create new output
+for all existing files, when there are only changes to some of them. Thus the
+\.{make} process will only recompile those modules where necessary. You can
+activate this feature with the `\.{+c}' command-line option. The idea and basic
+implementation of this mechanism can be found in the program \.{NUWEB} by
+Preston Briggs, to whom credit is due.
 
-@<Update the primary result...@>=
+@<Open the intermediate output file@>= {
+  if ((C_file=fopen(output_file_name,"a"))==NULL)
+    fatal(_("! Cannot open output file "),output_file_name);
+ at .Cannot open output file@>
+  else fclose(C_file); /* Test accessability */
+  if((C_file=fopen(check_file_name,"wb"))==NULL)
+    fatal(_("! Cannot open output file "),check_file_name);
+}
+
+@ @<Update the primary result...@>=
 if((C_file=fopen(C_file_name,"r"))!=NULL) {
   @<Set up the comparison of temporary output@>@;
   @<Create the primary output depending on the comparison@>@;
@@ -381,7 +398,7 @@
     fatal(_("! Cannot open output file "),check_file_name);
 @.Cannot open output file@>
 
-  if (check_for_change) @<Compare the temporary output...@>@;
+  @<Compare the temporary output...@>@;
 
   fclose(C_file); C_file=NULL;
   fclose(check_file); check_file=NULL;

Modified: branches/stable/source/src/texk/web2c/cwebdir/ctproofmac.tex
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/ctproofmac.tex	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/ctproofmac.tex	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,8 +1,8 @@
 % standard macros for CWEB listings (in addition to plain.tex)
-% Version 4.4 --- July 2021
+% Version 4.5 --- October 2021
 % Modified for proofs in CTWILL
 \ifx\documentstyle\undefined\else\endinput\fi % LaTeX will use other macros
-\xdef\fmtversion{\fmtversion+CWEB4.4+PROOFS}
+\xdef\fmtversion{\fmtversion+CWEB4.5+PROOFS}
 
 \let\:=\. % preserve a way to get the dot accent
  % (all other accents will still work as usual)
@@ -17,6 +17,7 @@
 \def\TEX/{\TeX}
 \def\CPLUSPLUS/{{\mc C\PP\spacefactor1000}}
 \def\Cee{\CEE/} % for backward compatibility
+\def\Cpp{\CPLUSPLUS/} % for backward compatibility
 \def\9#1{}
 \font\eightrm=cmr8
 \let\sc=\eightrm % small caps (NOT a caps-and-small-caps font)
@@ -161,10 +162,10 @@
 % \S is section sign
 \def\T#1{\leavevmode % octal, hex or decimal constant
   \hbox{$\def\?{\kern.2em}%$%
-    \def\$##1{\egroup_{\,\rm##1}\bgroup}% suffix to constant
+    \let\ \, % C++ digit separator becomes a little white space
+    \def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant
     \def\_{\cdot 10^{\aftergroup}}% power of ten (via dirty trick)
-    \def\%{\cdot 16^{\aftergroup}}% power of sixteen (via dirty trick)
-    \let\~=\oct \let\^=\hex \let\\=\bin{#1}$}}%$%
+    \let\~=\oct \let\^=\hex \let\\=\bin {#1}$}}%$%
 \def\U{\note{This code is used in section}} % xref for use of a section
 \def\Us{\note{This code is used in sections}} % xref for uses of a section
 \let\V=\lor % logical or
@@ -178,15 +179,13 @@
 
 %\def\oct{\hbox{\rm\char'23\kern-.2em\it\aftergroup\?\aftergroup}} % WEB style
 %\def\hex{\hbox{\rm\char"7D\tt\aftergroup}} % WEB style
-\def\oct{\hbox{$^\circ$\kern-.1em}\Od}% CWEB style
-\def\hex{\hbox{$^{\scriptscriptstyle\#}$}\Hd} % CWEB style
-\def\bin{\hbox{$^{\scriptscriptstyle b}$}\Bd}
-\def\Od#1/{{\it#1}} % octal digit
-\def\Hd#1/{{\tt#1}} % hexadecimal digit
-\def\Bd#1/{{\tt#1}} % binary digit
+\def\oct{\hbox{$^\circ$\kern-.1em\it\aftergroup\?\aftergroup}} % CWEB style
+\def\hex{\hbox{$^{\scriptscriptstyle\#}$\tt\aftergroup}} % CWEB style
+\def\bin{\hbox{$^{\scriptscriptstyle b}$\tt\aftergroup}} % new in CWEB 4.3
 \def\vb#1{\leavevmode\hbox{\kern2pt\vrule\vtop{\vbox{\hrule
         \hbox{\strut\kern2pt\.{#1}\kern2pt}}
       \hrule}\vrule\kern2pt}} % verbatim string
+\def\p#1{\cdot 2^{#1}} % power of two (hex exponent)
 
 \def\onmaybe{\let\ifon=\maybe} \let\maybe=\iftrue
 \newif\ifon \newif\iftitle \newif\ifpagesaved

Modified: branches/stable/source/src/texk/web2c/cwebdir/cttwinxmac.tex
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/cttwinxmac.tex	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/cttwinxmac.tex	2021-11-03 18:16:31 UTC (rev 867)
@@ -8,6 +8,8 @@
 \def\UNIX/{{\mc U\kern-.05emNIX\spacefactor1000}}
 \def\TEX/{\TeX}
 \def\CPLUSPLUS/{{\mc C\PP\spacefactor1000}}
+\def\Cee{\CEE/} % for backward compatibility
+\def\Cpp{\CPLUSPLUS/} % for backward compatibility
 \def\9#1{}
 
 \newdimen\em \em=10pt % this "em" will not change with font size
@@ -119,8 +121,6 @@
 \def\eightbig#1{{\hbox{$\textfont0=\ninerm\textfont2=\ninesy
   \left#1\vbox to6.5pt{}\right.\nulldelimiterspace=0pt$}}}
 
-\def\Cee{{\mc C\spacefactor1000}}
-\def\UNIX{{\mc UNIX\spacefactor1000}}
 \font\titlefont=cmr7 scaled\magstep4 % title on the contents page
 \font\ttitlefont=cmtt10 scaled\magstep2 % typewriter type in title
 
@@ -194,7 +194,7 @@
   \sfcode`;=1500 \pretolerance 200 \hyphenpenalty 50 \exhyphenpenalty 50
   \noindent\strut{\bf\modno.\quad}}
 \let\startsection=\stsec
-\def\defin#1{\global\advance\ind by 2 \1\&{#1 } } % begin `define' or `format'
+\def\defin#1{\global\advance\ind by 2 \1\&{#1 }} % begin `define' or `format'
 \def\A{\note{See also section}} % xref for doubly defined section name
 \def\As{\note{See also sections}} % xref for multiply defined section name
 \def\B{\iftenpoint\ninepoint\fi
@@ -205,7 +205,7 @@
   \exhyphenpenalty 10000
   \global\ind=2 \1\ \unskip}
 \def\C#1{\5\5\quad$/\ast\,$#1$\,\ast/$}
-\def\D{\defin{\#define}} % macro definition
+\def\D{\defin{{\rm\#}define}} % macro definition
 \let\E=\equiv % equivalence sign
 \def\ET{ and~} % conjunction between two section numbers
 \def\ETs{, and~} % conjunction between the last two of several section numbers
@@ -222,15 +222,16 @@
 \let\R=\lnot % logical not
 % \S is section sign
 \def\T#1{\leavevmode % octal, hex or decimal constant
-  \hbox{${\def\?{\kern.2em}%
-    \def\${\ell}% long constant
+  \hbox{${\def\?{\kern.2em}%$%
+    \let\ \, % C++ digit separator becomes a little white space
+    \def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant
     \def\_{\cdot 10^{\aftergroup}}% power of ten (via dirty trick)
-    \let\~=\oct \let\^=\hex #1}$}}
+    \let\~=\oct \let\^=\hex \let\\=\bin {#1}$}}%$%
 \def\U{\note{This code is used in section}} % xref for use of a section
 \def\Us{\note{This code is used in sections}} % xref for uses of a section
 \let\V=\lor % logical or
 \let\W=\land % logical and
-\def\X#1:#2\X{\ifmmode\gdef\XX{\null$\null}\else\gdef\XX{}\fi % section name
+\def\X#1:#2\X{\ifmmode\gdef\XX{\null$\null}\else\gdef\XX{}\fi %$% section name
   \XX$\langle\,${#2\sevenrm\kern.5em#1}$\,\rangle$\XX}
 \def\Y{\par\yskip}
 \let\Z=\let % now you can \send the control sequence \Z
@@ -238,11 +239,13 @@
 
 %\def\oct{\hbox{\rm\char'23\kern-.2em\it\aftergroup\?\aftergroup}} % WEB style
 %\def\hex{\hbox{\rm\char"7D\tt\aftergroup}} % WEB style
-\def\oct{\hbox{$^\circ$\kern-.1em\it\aftergroup\?\aftergroup}}% CWEB style
+\def\oct{\hbox{$^\circ$\kern-.1em\it\aftergroup\?\aftergroup}} % CWEB style
 \def\hex{\hbox{$^{\scriptscriptstyle\#}$\tt\aftergroup}} % CWEB style
+\def\bin{\hbox{$^{\scriptscriptstyle b}$\tt\aftergroup}} % new in CWEB 4.3
 \def\vb#1{\leavevmode\hbox{\kern2pt\vrule\vtop{\vbox{\hrule
         \hbox{\strut\kern2pt\.{#1}\kern2pt}}
       \hrule}\vrule\kern2pt}} % verbatim string
+\def\p#1{\cdot 2^{#1}} % power of two (hex exponent)
 
 \def\normaloutput#1{\shipout\vbox{
       \vbox to 3pc{\ifodd\pageno\rightheadline\else\leftheadline\fi\vfill}

Modified: branches/stable/source/src/texk/web2c/cwebdir/ctwill-mini.ch
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/ctwill-mini.ch	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/ctwill-mini.ch	2021-11-03 18:16:31 UTC (rev 867)
@@ -1484,9 +1484,23 @@
   case ':': app(':');@+app_scrap(colon,no_math);@+break;@/
 @z
 
+Section 216.
+
+ at x
+@<Append a string or...@>={@+ int count=-1; /* characters remaining before string break */
+ at y
+@<Append a string or...@>={int count=-1; /* characters remaining before string break */
+ at z
+
 Section 221.
 
 @x
+@ The |outer_parse| routine is to |C_parse| as |outer_xref|
+ at y
+ at r @ The |outer_parse| routine is to |C_parse| as |outer_xref|
+ at z
+
+ at x
 @d make_pb flags['e']
 @y
 @d make_pb flags['e']
@@ -1494,14 +1508,6 @@
 @$make_pb {CTWILL}221 =\\{flags}[\.{'e'}]@>
 @z
 
-Section 222.
-
- at x
-@ @c
- at y
- at r @ @c
- at z
-
 Section 225.
 
 @x
@@ -1542,6 +1548,12 @@
 Section 234--235.
 
 @x
+@ Here is \.{CWEAVE}'s major output handler.
+ at y
+ at r @ Here is \.{CWEAVE}'s major output handler.
+ at z
+
+ at x
     reswitch: switch(a) {
       case end_translation: return;
       case identifier: case res_word: @<Output an identifier@>@; break;
@@ -1783,7 +1795,7 @@
 @x
 @ A left-to-right radix sorting method is used, since this makes it easy to
 @y
-@ A left-to-right radix sorting method is used, since this makes it easy to
+ at r @ A left-to-right radix sorting method is used, since this makes it easy to
 @-c@>
 @z
 
@@ -1790,12 +1802,6 @@
 Section 271.
 
 @x
-@ During the sorting phase we shall use the |cat| and |trans| arrays from
- at y
- at r @ During the sorting phase we shall use the |cat| and |trans| arrays from
- at z
-
- at x
 @<Rest of |trans_plus| union@>=
 @y
 @<Rest of |trans_plus| union@>=
@@ -1832,7 +1838,7 @@
 @x
 @ Procedure |unbucket| goes through the buckets and adds nonempty lists
 @y
- at r @ Procedure |unbucket| goes through the buckets and adds nonempty lists
+@ Procedure |unbucket| goes through the buckets and adds nonempty lists
 @-unbucket@>
 @$unbucket {CTWILL}276 \&{static} \&{void} (\,)@>
 @z

Modified: branches/stable/source/src/texk/web2c/cwebdir/ctwill-w2c.ch
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/ctwill-w2c.ch	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/ctwill-w2c.ch	2021-11-03 18:16:31 UTC (rev 867)
@@ -1157,7 +1157,6 @@
   finish_line();
   out_str("\\end");
 @.\\end@>
-  active_file=tex_file;
 }
 @z
 
@@ -1194,8 +1193,8 @@
 @y
 @.\\end@>
 }
-finish_line(); fclose(active_file); active_file=NULL;
-@<Update the result when it has changed@>@;
+finish_line(); fclose(active_file); active_file=tex_file=NULL;
+if (check_for_change) @<Update the result when it has changed@>@;
 @z
 
 @x
@@ -1981,15 +1980,16 @@
 @<Set init...@>=
 order_decl_stmt=true;
 
-@* Output file update.  Most \CEE/ projects are controlled by a
-\.{Makefile} that automatically takes care of the temporal dependecies
-between the different source modules.  It is suitable that \.{CWEB} doesn't
-create new output for all existing files, when there are only changes to
-some of them. Thus the \.{make} process will only recompile those modules
-where necessary. The idea and basic implementation of this mechanism can
-be found in the program \.{NUWEB} by Preston Briggs, to whom credit is due.
+@* Output file update. Most \CEE/ projects are controlled by a \.{Makefile}
+that automatically takes care of the temporal dependecies between the different
+source modules. It may be convenient that \.{CWEB} doesn't create new output
+for all existing files, when there are only changes to some of them. Thus the
+\.{make} process will only recompile those modules where necessary. You can
+activate this feature with the `\.{+c}' command-line option. The idea and basic
+implementation of this mechanism can be found in the program \.{NUWEB} by
+Preston Briggs, to whom credit is due.
 
-@<Update the result...@>=
+@<Update the result...@>= {
 if((tex_file=fopen(tex_file_name,"r"))!=NULL) {
   boolean comparison=false;
 
@@ -1997,7 +1997,7 @@
     fatal(_("! Cannot open output file "),check_file_name);
 @.Cannot open output file@>
 
-  if (check_for_change) @<Compare the temporary output...@>@;
+  @<Compare the temporary output...@>@;
 
   fclose(tex_file); tex_file=NULL;
   fclose(check_file); check_file=NULL;
@@ -2007,6 +2007,7 @@
   rename(check_file_name,tex_file_name); /* This was the first run */
 
 strcpy(check_file_name,""); /* We want to get rid of the temporary file */
+}
 
 @ We hope that this runs fast on most systems.
 

Modified: branches/stable/source/src/texk/web2c/cwebdir/ctwimac.tex
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/ctwimac.tex	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/ctwimac.tex	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,9 +1,9 @@
 % standard macros for CWEB listings (in addition to plain.tex)
-% Version 4.4 --- July 2021
+% Version 4.5 --- October 2021
 % modified for pages produced by CTWILL
 % further modified for page size of the MMIXware book
 \ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros
-\xdef\fmtversion{\fmtversion+CTWILL4.4+LNCS}
+\xdef\fmtversion{\fmtversion+CTWILL4.5+LNCS}
 
 \let\:=\. % preserve a way to get the dot accent
  % (all other accents will still work as usual)
@@ -29,6 +29,7 @@
 \def\TEX/{\TeX}
 \def\CPLUSPLUS/{{\mc C\PP\spacefactor1000}}
 \def\Cee{\CEE/} % for backward compatibility
+\def\Cpp{\CPLUSPLUS/} % for backward compatibility
 \def\9#1{}
 \font\eightrm=cmr8
 \font\sixrm=cmr6
@@ -278,10 +279,10 @@
 % \S is section sign
 \def\T#1{\leavevmode % octal, hex or decimal constant
   \hbox{$\def\?{\kern.2em}%$%
-    \def\$##1{\egroup_{\,\rm##1}\bgroup}% suffix to constant
+    \let\ \, % C++ digit separator becomes a little white space
+    \def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant
     \def\_{\cdot 10^{\aftergroup}}% power of ten (via dirty trick)
-    \def\%{\cdot 16^{\aftergroup}}% power of sixteen (via dirty trick)
-    \let\~=\oct \let\^=\hex \let\\=\bin{#1}$}}%$%
+    \let\~=\oct \let\^=\hex \let\\=\bin {#1}$}}%$%
 \def\U{\note{This code is used in section}} % xref for use of a section
 \def\Us{\note{This code is used in sections}} % xref for uses of a section
 \let\V=\lor % logical or
@@ -295,15 +296,13 @@
 
 %\def\oct{\hbox{\rm\char'23\kern-.2em\it\aftergroup\?\aftergroup}} % WEB style
 %\def\hex{\hbox{\rm\char"7D\tt\aftergroup}} % WEB style
-\def\oct{\hbox{$^\circ$\kern-.1em}\Od}% CWEB style
-\def\hex{\hbox{$^{\scriptscriptstyle\#}$}\Hd} % CWEB style
-\def\bin{\hbox{$^{\scriptscriptstyle b}$}\Bd}
-\def\Od#1/{{\it#1}} % octal digit
-\def\Hd#1/{{\tt#1}} % hexadecimal digit
-\def\Bd#1/{{\tt#1}} % binary digit
+\def\oct{\hbox{$^\circ$\kern-.1em\it\aftergroup\?\aftergroup}} % CWEB style
+\def\hex{\hbox{$^{\scriptscriptstyle\#}$\tt\aftergroup}} % CWEB style
+\def\bin{\hbox{$^{\scriptscriptstyle b}$\tt\aftergroup}} % new in CWEB 4.3
 \def\vb#1{\leavevmode\hbox{\kern2pt\vrule\vtop{\vbox{\hrule
         \hbox{\strut\kern2pt\.{#1}\kern2pt}}
       \hrule}\vrule\kern2pt}} % verbatim string
+\def\p#1{\cdot 2^{#1}} % power of two (hex exponent)
 
 % now here's the mini-index formatting control
 \newcount\nrefs % total number of references in partial page

Modified: branches/stable/source/src/texk/web2c/cwebdir/cweav-w2c.ch
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/cweav-w2c.ch	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/cweav-w2c.ch	2021-11-03 18:16:31 UTC (rev 867)
@@ -558,7 +558,6 @@
   finish_line();
   out_str("\\end");
 @.\\end@>
-  active_file=tex_file;
 }
 @z
 
@@ -588,8 +587,8 @@
 @y
 @.\\end@>
 }
-finish_line(); fclose(active_file); active_file=NULL;
-@<Update the result when it has changed@>@;
+finish_line(); fclose(active_file); active_file=tex_file=NULL;
+if (check_for_change) @<Update the result when it has changed@>@;
 @z
 
 @x
@@ -678,15 +677,16 @@
 @<Set init...@>=
 order_decl_stmt=true;
 
-@* Output file update.  Most \CEE/ projects are controlled by a
-\.{Makefile} that automatically takes care of the temporal dependecies
-between the different source modules.  It is suitable that \.{CWEB} doesn't
-create new output for all existing files, when there are only changes to
-some of them. Thus the \.{make} process will only recompile those modules
-where necessary. The idea and basic implementation of this mechanism can
-be found in the program \.{NUWEB} by Preston Briggs, to whom credit is due.
+@* Output file update. Most \CEE/ projects are controlled by a \.{Makefile}
+that automatically takes care of the temporal dependecies between the different
+source modules. It may be convenient that \.{CWEB} doesn't create new output
+for all existing files, when there are only changes to some of them. Thus the
+\.{make} process will only recompile those modules where necessary. You can
+activate this feature with the `\.{+c}' command-line option. The idea and basic
+implementation of this mechanism can be found in the program \.{NUWEB} by
+Preston Briggs, to whom credit is due.
 
-@<Update the result...@>=
+@<Update the result...@>= {
 if((tex_file=fopen(tex_file_name,"r"))!=NULL) {
   boolean comparison=false;
 
@@ -694,7 +694,7 @@
     fatal(_("! Cannot open output file "),check_file_name);
 @.Cannot open output file@>
 
-  if (check_for_change) @<Compare the temporary output...@>@;
+  @<Compare the temporary output...@>@;
 
   fclose(tex_file); tex_file=NULL;
   fclose(check_file); check_file=NULL;
@@ -704,6 +704,7 @@
   rename(check_file_name,tex_file_name); /* This was the first run */
 
 strcpy(check_file_name,""); /* We want to get rid of the temporary file */
+}
 
 @ We hope that this runs fast on most systems.
 

Modified: branches/stable/source/src/texk/web2c/cwebdir/cweave.w
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/cweave.w	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/cweave.w	2021-11-03 18:16:31 UTC (rev 867)
@@ -831,7 +831,8 @@
 
 @d gather_digits_while(t) while ((t) || *loc=='\'')
   if (*loc=='\'') { /* \CPLUSPLUS/-style digit separator */
-    *id_loc++=' '; loc++; /* insert a little bit of space */
+    *id_loc++=' ';@+ loc++; /* insert a little white space */
+ at .\\\ @>
   }@+else *id_loc++=*loc++
 
 @<Get a constant@>= {
@@ -865,18 +866,18 @@
 @ @<Get a hex...@>={
   *id_loc++='^'; loc++;
   gather_digits_while(xisxdigit(*loc) || *loc=='.');
-  *id_loc++='/'; goto get_exponent;
+  goto get_exponent;
 }
 
 @ @<Get a bin...@>={
   *id_loc++='\\'; loc++;
   gather_digits_while(*loc=='0' || *loc=='1');
-  *id_loc++='/'; goto digit_suffix;
+  goto digit_suffix;
 }
 
 @ @<Get an oct...@>={
   *id_loc++='~'; gather_digits_while(xisdigit(*loc));
-  *id_loc++='/'; goto digit_suffix;
+  goto digit_suffix;
 }
 
 @ \CEE/ strings and character constants, delimited by double and single
@@ -1950,13 +1951,13 @@
 \.{@@=}string\.{@@>}&|exp|: \.{\\vb\{}string with special characters
   quoted\.\}&maybe\cr
 \.{@@'7'}&|exp|: \.{\\.\{@@'7'\}}&maybe\cr
-\.{077} or \.{\\77}&|exp|: \.{\\T\{\\\~77/\}}&maybe\cr
-\.{0x7f}&|exp|: \.{\\T\{\\\^7f/\}}&maybe\cr
-\.{0b10111}&|exp|: \.{\\T\{\\\\10111/\}}&maybe\cr
+\.{077} or \.{\\77}&|exp|: \.{\\T\{\\\~77\}}&maybe\cr
+\.{0x7f}&|exp|: \.{\\T\{\\\^7f\}}&maybe\cr
+\.{0b10111}&|exp|: \.{\\T\{\\\\10111\}}&maybe\cr
 \.{77}&|exp|: \.{\\T\{77\}}&maybe\cr
 \.{77L}&|exp|: \.{\\T\{77\\\$L\}}&maybe\cr
 \.{0.1E5}&|exp|: \.{\\T\{0.1\\\_5\}}&maybe\cr
-\.{0x10p3}&|exp|: \.{\\T\{\\\^10/\\\%3\}}&maybe\cr
+\.{0x10p3}&|exp|: \.{\\T\{\\\^10\}\\p\{3\}}&maybe\cr
 \.{1'000'000}&|exp|: \.{\\T\{1\\\ 000\\\ 000\}}&maybe\cr
 \.+&|ubinop|: \.+&yes\cr
 \.-&|ubinop|: \.-&yes\cr
@@ -3548,12 +3549,11 @@
 @q(@>@.\\)@>
   }
   switch (*id_first) {
-    case ' ':case '\\':case '#':case '%':case '$':case '^':
-    case '{': case '}': case '~': case '&': case '_': app('\\'); break;
+    case ' ':case '\\':case '#':case '$':case '^':case '{':case '}':
+    case '~':case '&':case '_': app('\\'); break;
 @.\\\ @>
 @.\\\\@>
 @.\\\#@>
- at .\\\%@>
 @.\\\$@>
 @.\\\^@>
 @.\\\{@>@q}@>
@@ -3561,6 +3561,14 @@
 @.\\\~@>
 @.\\\&@>
 @.\\\_@>
+    case '%': if (next_control==constant) {
+        app_str("}\\p{"); /* special macro for `hex exponent' */
+        id_first++; /* skip |'%'| */
+      }
+      else app('\\');
+      break;
+ at .\\p@>
+ at .\\\%@>
     case '@@': if (*(id_first+1)=='@@') id_first++;
       else err_print("! Double @@ should be used in strings");
 @.Double @@ should be used...@>

Modified: branches/stable/source/src/texk/web2c/cwebdir/cwebmac.tex
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/cwebmac.tex	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/cwebmac.tex	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,8 +1,8 @@
 % standard macros for CWEB listings (in addition to plain.tex)
-% Version 4.5 --- July 2021
+% Version 4.5 --- October 2021
 \ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros
 \xdef\fmtversion{\fmtversion+CWEB4.5}
-\chardef\cwebversion=4 \chardef\cwebrevision=4
+\chardef\cwebversion=4 \chardef\cwebrevision=5
 \newif\ifpdf
 \ifx\pdf+\pdftrue\fi
 % Uncomment the following line if you want PDF goodies to be the default
@@ -234,11 +234,12 @@
   \else\ifx\nxt\~\ifTnum\addF{0}\else\addF\tildechar\fi % 077->\T{\~77}
   \else\ifx\nxt\_\ifTnum\addF{E}\else\addF_\fi  % 0.1E5->\T{0.1\_5}
   \else\ifx\nxt\^\ifTnum\addF{0x}\else\addF^\fi  % 0x77 -> \T{\^77}
+  \else\ifx\nxt\\\\\ifTnum\addF{0b}\else\addF\\\fi  % 0b10111 -> \T{\\10111}
   \else\ifx\nxt\$\ifTnum\tokprocessedtrue\else\addF$\fi % \T{77\$L}
   \else\ifx\nxt\{\addF\lbchar       \else\ifx\nxt\}\addF\rbchar
   \else\ifx\nxt\ \addF\space        \else\ifx\nxt\#\addF{\string\#}%
   \else\ifx\nxt\PP\addF{++}\else\ifx\nxt\MM\addF{--}%
-  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
 }
 \def\makeolproctokctlii{%
   \ifx\nxt\MG\addF{->}\else\ifx\nxt\GG\addF{>>}%
@@ -343,14 +344,12 @@
 \def\Qs{\note{This code is cited in sections}} % xref for mentions of a section
 \let\R=\lnot % logical not
 % \S is section sign
-\def\digitseparator{\,} % a bit of extra space
 \def\T#1{\leavevmode % octal, hex or decimal constant
   \hbox{$\def\?{\kern.2em}%
-    \let\ \digitseparator%
+    \let\ \, % C++ digit separator becomes a little white space
 %    \def\$##1{\egroup_{\,\rm##1}\bgroup}% suffix to constant % versions < 3.67
     \def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant % in version 3.67
     \def\_{\cdot 10^{\aftergroup}}% power of ten (via dirty trick)
-    \def\%{\cdot 2^{\aftergroup}}% power of two (via dirty trick)
     \let\~=\oct \let\^=\hex \let\\=\bin {#1}$}}
 \def\U{\note{This code is used in section}} % xref for use of a section
 \def\Us{\note{This code is used in sections}} % xref for uses of a section
@@ -370,15 +369,13 @@
 
 %\def\oct{\hbox{\rm\char'23\kern-.2em\it\aftergroup\?\aftergroup}} % WEB style
 %\def\hex{\hbox{\rm\char"7D\tt\aftergroup}} % WEB style
-\def\oct{\hbox{$^\circ$\kern-.1em}\Od}% CWEB style
-\def\hex{\hbox{$^{\scriptscriptstyle\#}$}\Hd} % CWEB style
-\def\bin{\hbox{$^{\scriptscriptstyle b}$}\Bd}
-\def\Od#1/{{\it#1}} % octal digit
-\def\Hd#1/{{\tt#1}} % hexadecimal digit
-\def\Bd#1/{{\tt#1}} % binary digit
+\def\oct{\hbox{$^\circ$\kern-.1em\it\aftergroup\?\aftergroup}} % CWEB style
+\def\hex{\hbox{$^{\scriptscriptstyle\#}$\tt\aftergroup}} % CWEB style
+\def\bin{\hbox{$^{\scriptscriptstyle b}$\tt\aftergroup}} % new in CWEB 4.3
 \def\vb#1{\leavevmode\hbox{\kern2pt\vrule\vtop{\vbox{\hrule
         \hbox{\strut\kern2pt\.{#1}\kern2pt}}
       \hrule}\vrule\kern2pt}} % verbatim string
+\def\p#1{\cdot 2^{#1}} % power of two (hex exponent)
 
 \def\onmaybe{\let\ifon=\maybe} \let\maybe=\iftrue
 \newif\ifon \newif\iftitle \newif\ifpagesaved

Modified: branches/stable/source/src/texk/web2c/cwebdir/cwebman.tex
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/cwebman.tex	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/cwebman.tex	2021-11-03 18:16:31 UTC (rev 867)
@@ -476,15 +476,15 @@
 or \.{0x}.  In \.{CWEB} it seems reasonable to let each convention hold
 in its respective realm; so in \CEE/ text you get $40_8$ by typing
 `\.{040}', which \.{CTANGLE} faithfully copies into the \CEE/ file (for
-the compiler's benefit) and which \.{CWEAVE} prints as $\T{\~40/}$.
+the compiler's benefit) and which \.{CWEAVE} prints as $\T{\~40}$.
 Similarly, \.{CWEAVE} prints the hexadecimal \CEE/ constant `\.{0x20}'
-as \T{\^20/}. The use of italic font for octal digits and typewriter font
+as \T{\^20}. The use of italic font for octal digits and typewriter font
 for hexadecimal digits makes the meaning of such constants clearer in
 a document. For consistency, then, you should type `\.{|040|}' or
 `\.{|0x20|}' in the \TEX/ part of the section.
 
 And if you type a binary constant like `\.{0b00101010}', \.{CWEAVE} prints
-it as $\T{\\00101010/}$. In all numeric literals you may add \.' separators
+it as $\T{\\00101010}$. In all numeric literals you may add \.' separators
 for improved readability.
 
 \section Control codes.
@@ -763,11 +763,11 @@
 them by standard ASCII alphanumeric characters or
 \.{\_}, in order to generate legal \CEE/ code.  It does this by means
 of a transliteration table, which by default associates the string
-\.{Xab} to the character with ASCII code \T{\^/}$ab$ (where $a$ and $b$ are
+\.{Xab} to the character with ASCII code \T{\^}$ab$ (where $a$ and $b$ are
 hexadecimal digits, and $a\ge8$).  By placing the
 construction \.{@l\ ab\ newstring} in limbo, you are telling
 \.{CTANGLE} to replace this character by \.{newstring} instead.
-For example, the ISO Latin-1 code for the letter `\"u' is \T{\^FC/}
+For example, the ISO Latin-1 code for the letter `\"u' is \T{\^FC}
 (or \.{'\char`\\374'}),
 and \.{CTANGLE} will normally change this code to the
 three-character sequence \.{XFC} if it

Modified: branches/stable/source/src/texk/web2c/cwebdir/texinputs/pdfctwimac.tex
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/texinputs/pdfctwimac.tex	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/texinputs/pdfctwimac.tex	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,5 +1,5 @@
 % standard macros for CWEB listings (in addition to plain.tex)
-% Version 4.5 --- July 2021
+% Version 4.5 --- October 2021
 % modified for pages produced by CTWILL
 % further modified for page size of the MMIXware book
 % modified for PDF output with 'tex "\let\pdf+', 'pdftex', and 'xetex'
@@ -45,6 +45,7 @@
 \def\TEX/{\TeX}
 \def\CPLUSPLUS/{{\mc C\PP\spacefactor1000}}
 \def\Cee{\CEE/} % for backward compatibility
+\def\Cpp{\CPLUSPLUS/} % for backward compatibility
 \def\9#1{}
 \font\eightrm=cmr8
 \font\sixrm=cmr6
@@ -344,11 +345,12 @@
   \else\ifx\nxt\~\ifTnum\addF{0}\else\addF\tildechar\fi % 077->\T{\~77}
   \else\ifx\nxt\_\ifTnum\addF{E}\else\addF_\fi  % 0.1E5->\T{0.1\_5}
   \else\ifx\nxt\^\ifTnum\addF{0x}\else\addF^\fi  % 0x77 -> \T{\^77}
+  \else\ifx\nxt\\\\\ifTnum\addF{0b}\else\addF\\\fi  % 0b10111 -> \T{\\10111}
   \else\ifx\nxt\$\ifTnum\tokprocessedtrue\else\addF$\fi %$% \T{77\$L}
   \else\ifx\nxt\{\addF\lbchar       \else\ifx\nxt\}\addF\rbchar
   \else\ifx\nxt\ \addF\space        \else\ifx\nxt\#\addF{\string\#}%
   \else\ifx\nxt\PP\addF{++}\else\ifx\nxt\MM\addF{--}%
-  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
 }
 \def\makeolproctokctlii{%
   \ifx\nxt\MG\addF{->}\else\ifx\nxt\GG\addF{>>}%
@@ -468,10 +470,10 @@
 % \S is section sign
 \def\T#1{\leavevmode % octal, hex or decimal constant
   \hbox{$\def\?{\kern.2em}%$%
-    \def\$##1{\egroup_{\,\rm##1}\bgroup}% suffix to constant
+    \let\ \, % C++ digit separator becomes a little white space
+    \def\$##1{\egroup_{\rm##1}\bgroup}% suffix to constant
     \def\_{\cdot 10^{\aftergroup}}% power of ten (via dirty trick)
-    \def\%{\cdot 16^{\aftergroup}}% power of sixteen (via dirty trick)
-    \let\~=\oct \let\^=\hex \let\\=\bin{#1}$}}%$%
+    \let\~=\oct \let\^=\hex \let\\=\bin {#1}$}}%$%
 \def\U{\note{This code is used in section}} % xref for use of a section
 \def\Us{\note{This code is used in sections}} % xref for uses of a section
 \let\V=\lor % logical or
@@ -486,15 +488,13 @@
 
 %\def\oct{\hbox{\rm\char'23\kern-.2em\it\aftergroup\?\aftergroup}} % WEB style
 %\def\hex{\hbox{\rm\char"7D\tt\aftergroup}} % WEB style
-\def\oct{\hbox{$^\circ$\kern-.1em}\Od}% CWEB style
-\def\hex{\hbox{$^{\scriptscriptstyle\#}$}\Hd} % CWEB style
-\def\bin{\hbox{$^{\scriptscriptstyle b}$}\Bd}
-\def\Od#1/{{\it#1}} % octal digit
-\def\Hd#1/{{\tt#1}} % hexadecimal digit
-\def\Bd#1/{{\tt#1}} % binary digit
+\def\oct{\hbox{$^\circ$\kern-.1em\it\aftergroup\?\aftergroup}} % CWEB style
+\def\hex{\hbox{$^{\scriptscriptstyle\#}$\tt\aftergroup}} % CWEB style
+\def\bin{\hbox{$^{\scriptscriptstyle b}$\tt\aftergroup}} % new in CWEB 4.3
 \def\vb#1{\leavevmode\hbox{\kern2pt\vrule\vtop{\vbox{\hrule
         \hbox{\strut\kern2pt\.{#1}\kern2pt}}
       \hrule}\vrule\kern2pt}} % verbatim string
+\def\p#1{\cdot 2^{#1}} % power of two (hex exponent)
 
 % now here's the mini-index formatting control
 \newcount\nrefs % total number of references in partial page

Modified: branches/stable/source/src/texk/web2c/cwebdir/texinputs/pdfwebtocfront.tex
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/texinputs/pdfwebtocfront.tex	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/cwebdir/texinputs/pdfwebtocfront.tex	2021-11-03 18:16:31 UTC (rev 867)
@@ -21,11 +21,11 @@
   \let\ORGcon\con
   \def\con{%
     % reduce size of PDF pages for more screen space
-    \pdfpagewidth=\pagewidth  \advance\pdfpagewidth by 2cm
-    \pdfpageheight=\pageheight \advance\pdfpageheight by 3cm
-    \ifpdftex \pdfhorigin=1cm \pdfvorigin=1cm
-    \else \advance\pdfpageheight by 1cm \global\pageshift=-1.54cm
-      \global\hoffset=-1.54cm \global\voffset=-1.54cm \fi
+    \pdfpagewidth=\pagewidth \advance\pdfpagewidth by 1in
+    \pdfpageheight=\fullpageheight \advance\pdfpageheight by 1in
+    \ifpdftex \pdfhorigin=0.5in \pdfvorigin=0.5in
+    \else \global\pageshift=-0.5in
+      \global\hoffset=-0.5in \global\voffset=-0.5in \fi
     \begingroup
       \let\end\relax
       \ORGcon

Modified: branches/stable/source/src/texk/web2c/doc/Makefile.in
===================================================================
--- branches/stable/source/src/texk/web2c/doc/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/doc/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/web2c/help.h
===================================================================
--- branches/stable/source/src/texk/web2c/help.h	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/help.h	2021-11-03 18:16:31 UTC (rev 867)
@@ -498,9 +498,9 @@
     "                comparing identifiers (default)",
     "-lowercase     make all identifiers lowercase",
     "-mixedcase     retain the case of identifiers unchanged (default)",
-    "-strict        always smash case and remove underlines when comparing",
-    "                identifiers",
-    "-underline     do not remove underline characters from indentifiers",
+    "-strict        when comparing identifiers, remove underlines and",
+    "                convert all identifiers to uppercase first",
+    "-underline     do not remove underline characters from identifiers",
     "-uppercase     make all identifiers uppercase",
     "-help          display this help and exit",
     "-version       output version information and exit",

Modified: branches/stable/source/src/texk/web2c/lib/Makefile.in
===================================================================
--- branches/stable/source/src/texk/web2c/lib/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/lib/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/web2c/man/Makefile.in
===================================================================
--- branches/stable/source/src/texk/web2c/man/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/man/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/web2c/omegafonts/Makefile.in
===================================================================
--- branches/stable/source/src/texk/web2c/omegafonts/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/omegafonts/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/web2c/otps/Makefile.in
===================================================================
--- branches/stable/source/src/texk/web2c/otps/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/otps/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/web2c/otps/win32/Makefile.in
===================================================================
--- branches/stable/source/src/texk/web2c/otps/win32/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/otps/win32/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/web2c/web2c/Makefile.in
===================================================================
--- branches/stable/source/src/texk/web2c/web2c/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/web2c/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/texk/web2c/web2c/aclocal.m4
===================================================================
--- branches/stable/source/src/texk/web2c/web2c/aclocal.m4	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/web2c/aclocal.m4	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -428,6 +428,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl

Modified: branches/stable/source/src/texk/web2c/window/Makefile.in
===================================================================
--- branches/stable/source/src/texk/web2c/window/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/texk/web2c/window/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/utils/Makefile.in
===================================================================
--- branches/stable/source/src/utils/Makefile.in	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/utils/Makefile.in	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.

Modified: branches/stable/source/src/utils/README
===================================================================
--- branches/stable/source/src/utils/README	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/utils/README	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-$Id: README 60050 2021-07-25 00:11:58Z takuji $
+$Id: README 60823 2021-10-21 18:17:33Z karl $
 Public domain.  Originally written 2005 by Karl Berry.
 
 Extra utilities we (optionally) compile for TeX Live.
@@ -88,6 +88,7 @@
 # when running configure for clisp.
 
 # may be able to omit iconv if have new enough in libc or elsewhere.
+# (and omit --with-libiconv-prefix below)
 libiconv_ver=libiconv-1.16
 cd $clisp_basedir
 $wget http://ftp.gnu.org/gnu/libiconv/$libiconv_ver.tar.gz
@@ -100,12 +101,12 @@
 # would probably be ideal to also do a local libtermcap or ncurses,
 # but doesn't seem to be a problem in practice?
 
-# foil wrong attempts at dynamic linking, etc.
-(cd $clisp_basedir/clisp-tools/lib && rm -f *.dylib *.la)
+# foil wrong attempts at dynamic linking, etc. Don't worry if any don't exist.
+(cd $clisp_basedir/clisp-tools/lib && mkdir .dy && mv *.dylib *.la .dy)
 
-clisp_ver=2.49.92
+clisp_ver=clisp-2.49.92
 cd $clisp_basedir
-$wget https://alpha.gnu.org/gnu/clisp/clisp-2.49.92.tar.bz2
+$wget https://alpha.gnu.org/gnu/clisp/$clisp_ver.tar.bz2
 bunzip2 -dc $clisp_ver.tar.bz2 | tar xf -
 cd $clisp_ver
 
@@ -116,7 +117,9 @@
 # On FreeBSD/amd64: add --disable-mmap.
 #
 # Do not link with ncurses, we don't need it and versions differ.
-ac_cv_search_tgetent=" "; export ac_cv_search_tgetent
+# but, this doesn't work with 2.49.92, results in undefined references
+# to the termcap functions.
+#ac_cv_search_tgetent=" "; export ac_cv_search_tgetent
 #
 ./configure CPPFLAGS=-DUNIX_BINARY_DISTRIB --prefix=$clisp_toolsdir \
   --without-readline --without-dynamic-modules \

Modified: branches/stable/source/src/utils/aclocal.m4
===================================================================
--- branches/stable/source/src/utils/aclocal.m4	2021-09-25 17:36:50 UTC (rev 866)
+++ branches/stable/source/src/utils/aclocal.m4	2021-11-03 18:16:31 UTC (rev 867)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -428,6 +428,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl



More information about the pdftex-commits mailing list.