Control: tags 1119031 + patch
Control: tags 1119031 + pending

Hello Eric,

I've prepared an NMU for automake (versioned as 1:1.18.1-2.1) and
uploaded it to DELAYED/7. Please feel free to tell me if I
should cancel it.

Kind regards
Andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
diffstat for automake-1.18.1 automake-1.18.1

 changelog                            |    8 
 patches/0004-update-texinfo.tex.diff | 1001 +++++++++++++++++++++++++++++++++++
 patches/series                       |    1 
 3 files changed, 1010 insertions(+)

diff -Nru automake-1.18.1/debian/changelog automake-1.18.1/debian/changelog
--- automake-1.18.1/debian/changelog	2025-10-15 20:28:49.000000000 +0200
+++ automake-1.18.1/debian/changelog	2025-11-09 07:02:58.000000000 +0100
@@ -1,3 +1,11 @@
+automake (1:1.18.1-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Update included copy of texinfo.tex to 2025-10-25.2 fixing errors in
+    automake-using packages with newer texlive. Closes: #1119031
+
+ -- Andreas Metzler <[email protected]>  Sun, 09 Nov 2025 07:02:58 +0100
+
 automake (1:1.18.1-2) unstable; urgency=medium
 
   * Upload to unstable
diff -Nru automake-1.18.1/debian/patches/0004-update-texinfo.tex.diff automake-1.18.1/debian/patches/0004-update-texinfo.tex.diff
--- automake-1.18.1/debian/patches/0004-update-texinfo.tex.diff	1970-01-01 01:00:00.000000000 +0100
+++ automake-1.18.1/debian/patches/0004-update-texinfo.tex.diff	2025-11-09 07:02:58.000000000 +0100
@@ -0,0 +1,1001 @@
+Description: Update included copy of texinfo.tex to 2025-10-25.2
+ fixing errors in automake-using packages with newer texlive.
+Author: Andreas Metzler <[email protected]>
+Bug-Debian: https://bugs.debian.org/1119031
+Origin: vendor
+Forwarded: no
+Last-Update: 2025-11-09
+
+--- automake-1.18.1.orig/lib/texinfo.tex
++++ automake-1.18.1/lib/texinfo.tex
+@@ -1,9 +1,9 @@
+ % 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
+ %
+-\def\texinfoversion{2025-06-18.21}
++\def\texinfoversion{2025-10-25.20}
+ %
+ % Copyright 1985, 1986, 1988, 1990-2025 Free Software Foundation, Inc.
+ %
+@@ -213,7 +213,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}}
+ 
+@@ -425,7 +425,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 
+ % \argremovespace.
+ \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
+ \def\argremovec#1\c#2\ArgTerm{\argremovespace#1$ $\ArgTerm}
+@@ -483,8 +483,8 @@
+ %   \envdef\foo{...}
+ %   \def\Efoo{...}
+ %
+-% It's the responsibility of \envdef to insert \begingroup before the
+-% actual body; @end closes the group after calling \Efoo.  \envdef also
++% \envdef inserts \begingroup before the actual body; @end calls
++% \Efoo then closes the group with \endgroup.  \envdef also
+ % defines \thisenv, so the current environment is known; @end checks
+ % whether the environment name matches.  The \checkenv macro can also be
+ % used to check whether the current environment is the one expected.
+@@ -1071,8 +1071,8 @@ where each line of input produces a line
+         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
+@@ -1152,7 +1152,7 @@ where each line of input produces a line
+ % 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
+@@ -1475,7 +1475,7 @@ output) for that.)}
+       % 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}}%
+@@ -1489,7 +1489,7 @@ output) for that.)}
+         \dopdfoutline{##1}{}{##3}{##4}}%
+       \def\idxinitialentry##1##2##3##4{%
+         \dopdfoutline{##1}{}{idx.##1.##2}{##4}}%
+-      %
++      % 
+       \ifnodeseen\else \dopdfoutlinecontents \fi % for @contents at beginning
+       \setupdatafile
+       % We can have normal brace characters in the PDF outlines, unlike
+@@ -1636,7 +1636,7 @@ output) for that.)}
+       % 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{%
+@@ -2800,7 +2800,7 @@ end
+ }
+ 
+ % Commands to set the quote options.
+-%
++% 
+ \parseargdef\codequoteundirected{%
+   \def\temp{#1}%
+   \ifx\temp\onword
+@@ -2846,7 +2846,7 @@ end
+ % 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}\smartitaliccorrection}}%
+   \next
+@@ -3024,7 +3024,7 @@ end
+   \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 -, or
+@@ -3130,7 +3130,7 @@ end
+         % 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.
+@@ -3141,7 +3141,7 @@ end
+           % 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.
+@@ -3201,10 +3201,10 @@ end
+   }
+ }
+ 
+-% 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
+@@ -3223,10 +3223,10 @@ end
+ \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.
+ %   Check test cases in doc/texinfo-tex-test.texi before making any changes.
+ \def\urefallowbreak{%
+@@ -3442,7 +3442,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}
+@@ -3450,7 +3450,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}
+@@ -3466,7 +3466,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{%
+@@ -3752,7 +3752,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}}
+ %
+@@ -3843,7 +3843,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{%
+@@ -3888,7 +3888,8 @@ $$%
+ }
+ 
+ \def\finishtitlepage{%
+-  \vskip4pt \hrule height 2pt width \hsize
++  \ifseenauthor \vskip4pt \else \vskip 0pt plus 1filll \fi
++  \hrule height 2pt width \hsize
+   \vskip\titlepagebottomglue
+   \finishedtitlepagetrue
+ }
+@@ -3897,7 +3898,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
+@@ -3911,33 +3912,105 @@ $$%
+ \let\subtitlerm=\rmfont
+ \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
+ 
++\let\savedtitle\empty
++\let\savedsubtitlegroup\empty
++\let\savedauthorgroup\empty
++
+ \parseargdef\title{%
+-  \checkenv\titlepage
+-  \vbox{\titlefonts \raggedtitlesettings #1\par}%
+-  % print a rule at the page bottom also.
+-  \finishedtitlepagefalse
+-  \vskip4pt \hrule height 4pt width \hsize \vskip4pt
++  \expandafter\ifx\thisenv\documentinfo
++    \gdef\savedtitle{#1}%
++  \else
++    \checkenv\titlepage
++    \vbox{\titlefonts \raggedtitlesettings #1\par}%
++    % print a rule at the page bottom also.
++    \finishedtitlepagefalse
++    \vskip4pt \hrule height 4pt width \hsize \vskip4pt
++  \fi
+ }
+ 
+ \parseargdef\subtitle{%
+-  \checkenv\titlepage
+-  {\subtitlefont \rightline{#1}}%
++  \expandafter\ifx\thisenv\documentinfo
++    \ifx\savedsubtitlegroup\empty
++      \gdef\savedsubtitlegroup{\savedsubtitle{#1}}%
++    \else
++      \expandafter\gdef\expandafter\savedsubtitlegroup\expandafter{%
++        \savedsubtitlegroup\savedsubtitle{#1}}%
++    \fi
++  \else
++    \checkenv\titlepage
++    {\subtitlefont \rightline{#1}}%
++  \fi
+ }
+ 
+ % @author should come last, but may come many times.
+ % It can also be used inside @quotation.
+ %
+ \parseargdef\author{%
+-  \def\temp{\quotation}%
+-  \ifx\thisenv\temp
+-    \def\quotationauthor{#1}% printed in \Equotation.
++  \expandafter\ifx\thisenv\documentinfo
++    \ifx\savedauthorgroup\empty
++      \gdef\savedauthorgroup{\savedauthor{#1}}%
++    \else
++      \expandafter\gdef\expandafter\savedauthorgroup\expandafter{%
++        \savedauthorgroup\savedauthor{#1}}%
++    \fi
+   \else
+-    \checkenv\titlepage
+-    \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
+-    {\secfonts\rm \leftline{#1}}%
++    \def\temp{\quotation}%
++    \ifx\thisenv\temp
++      \def\quotationauthor{#1}% printed in \Equotation.
++    \else
++      \checkenv\titlepage
++      \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
++      {\secfonts\rm \leftline{#1}}%
++    \fi
+   \fi
+ }
+ 
++% @maketitle
++{\obeylines
++\gdef\maketitle{%
++\titlepage
++\ifx\savedtitle\empty\else
++  \title \savedtitle
++  \ifx\savedsubtitlegroup\empty\else
++    \savedsubtitlegroup
++\fi\fi
++\ifx\savedauthorgroup\empty\else
++  \savedauthorgroup
++\fi
++% start verso page if either copying or publication text is given
++\ifx\copyingtext\relax
++  \ifx\publicationtext\relax\else
++    \page \vskip 0pt plus 1filll
++  \fi
++\else
++  \page \vskip 0pt plus 1filll
++\fi
++\ifx\publicationtext\relax\else
++  \insertpublication
++  \sp 1
++\fi
++\ifx\copyingtext\relax\else
++  \insertcopying
++\fi
++\end titlepage
++}
++
++% \savedauthor{#1}, called with braces.  output an @author line.
++\gdef\savedauthor#1{%
++\author#1
++}
++
++% \savedsubtitle{#1}, called with braces.  output a @subtitle line.
++\gdef\savedsubtitle#1{%
++\subtitle#1
++}
++} % \obeylines
++
++% @documentinfo block
++\envdef\documentinfo{%
++}
++\def\Edocumentinfo{}%
++
+ 
+ % Set up page headings and footings.
+ 
+@@ -4723,7 +4796,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.
+@@ -4747,7 +4820,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.
+ %
+@@ -4780,7 +4853,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}}}
+ %
+@@ -4886,7 +4959,7 @@ $$%
+ \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
+ \def\docodeindexxxx #1{\docind{\indexname}{#1}}
+ 
+-
++
+ % \definedummyword defines \#1 as \string\#1\space, thus effectively
+ % preventing its expansion.  This is used only for control words,
+ % not control letters, because the \space would be incorrect for
+@@ -4903,7 +4976,7 @@ $$%
+ \def\definedummyword  #1{\def#1{\string#1\space}}%
+ \def\definedummyletter#1{\def#1{\string#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.  Most of the commands are controlled through the
+ % \ifdummies conditional.
+ %
+@@ -5193,7 +5266,7 @@ $$%
+   \let\value\indexnofontsvalue
+ }
+ 
+-
++
+ 
+ 
+ % #1 is the index name, #2 is the entry text.
+@@ -5234,7 +5307,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}%
+@@ -5286,7 +5359,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}}%
+@@ -5378,7 +5451,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
+   %
+@@ -5567,18 +5640,18 @@ $$%
+         % Delay the error message until the very end to give a chance
+         % for the whole index to be output as input for texindex.
+         \global\def\byeerror{%
+-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')%
+ }%
+       }{%
+@@ -5680,7 +5753,7 @@ might help (with 'rm \jobname.?? \jobnam
+   % 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
+@@ -6044,7 +6117,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \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.
+@@ -6072,7 +6145,7 @@ might help (with 'rm \jobname.?? \jobnam
+     }%
+     % 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
+@@ -6368,7 +6441,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \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
+@@ -6391,7 +6464,7 @@ might help (with 'rm \jobname.?? \jobnam
+ }
+ 
+ % Subsections.
+-%
++% 
+ % normally calls numberedsubseczzz:
+ \outer\parseargdef\numberedsubsec{\numhead2{#1}}
+ \def\numberedsubseczzz#1{%
+@@ -6415,7 +6488,7 @@ might help (with 'rm \jobname.?? \jobnam
+ }
+ 
+ % Subsubsections.
+-%
++% 
+ % normally numberedsubsubseczzz:
+ \outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
+ \def\numberedsubsubseczzz#1{%
+@@ -6973,7 +7046,7 @@ might help (with 'rm \jobname.?? \jobnam
+ 
+ % \raggedbottom in plain.tex hardcodes \topskip so override it
+ \catcode`\@=11
+-\def\raggedbottom{\advance\topskip by 0pt plus60pt \r@ggedbottomtrue}
++\def\raggedbottom{\advance\topskip by 0pt plus30pt \r@ggedbottomtrue}
+ \catcode`\@=\other
+ 
+ % redefined for the two-volume lispref.  We always output on
+@@ -6986,6 +7059,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \def\contents{%
+   \startcontents{\putwordTOC}{\contentsmkdest}%
+     \ifxetex\xetexpreauxfile\fi
++    \penalty2 % mark beginning of contents
+     \openin 1 \tocreadfilename\space
+     \ifeof 1 \else
+       \findsecnowidths
+@@ -7078,25 +7152,34 @@ might help (with 'rm \jobname.?? \jobnam
+ %   #3 - level of section (e.g "chap", "sec")
+ %   #4 - page number
+ 
+-% Parts, in the main contents.  Replace the part number, which doesn't
+-% exist, with an empty box.  Let's hope all the numbers have the same width.
+-% Also ignore the page number, which is conventionally not printed.
+-\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}}
++% Parts, in the main contents.  Ignore the page number, which is
++% conventionally not printed.
+ \def\partentry#1#2#3#4{%
++  \ifnum\lastpenalty = 2
++    % use less space if at very first entry of contents
++    \vskip 1\baselineskip plus .33\baselineskip minus .25\baselineskip
++  \else
++    \vskip 2\baselineskip plus .66\baselineskip minus .5\baselineskip
++  \fi
+   % Add stretch and a bonus for breaking the page before the part heading.
+   % This reduces the chance of the page being broken immediately after the
+   % part heading, before a following chapter heading.
+-  \vskip 0pt plus 5\baselineskip
++  \vskip 0pt plus 3\baselineskip
+   \penalty-300
+-  \vskip 0pt plus -5\baselineskip
+-  \dochapentry{#1}{\numeralbox}{#3}{}%
++  \vskip 0pt plus -3\baselineskip
++  \begingroup
++    \secfonts \rm
++    \entryinternal{#1}{}%
++  \endgroup
++  \afterpartentrytrue
+ }
++\newif\ifafterpartentry
+ %
+ % Parts, in the short toc.
+ \def\shortpartentry#1#2#3#4{%
+   \penalty-300
+   \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip
+-  \shortchapentry{{\bf #1}}{\numeralbox}{}{}%
++  \tocentry{{\bf #1}}{}{}{}%
+ }
+ 
+ % Chapters, in the main contents.
+@@ -7164,7 +7247,13 @@ might help (with 'rm \jobname.?? \jobnam
+ % If the toc has to be broken over pages, we want it to be at chapters
+ % if at all possible; hence the \penalty.
+ \def\dochapentry#1#2#3#4{%
+-   \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
++   \ifafterpartentry
++     \afterpartentryfalse
++     \penalty5000
++   \else
++     \penalty-300
++   \fi
++   \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
+    \begingroup
+      % Move the page numbers slightly to the right
+      \advance\entryrightmargin by -0.05em
+@@ -7605,7 +7694,7 @@ might help (with 'rm \jobname.?? \jobnam
+ 
+ % @indentedblock is like @quotation, but indents only on the left and
+ % has no optional argument.
+-%
++% 
+ \makedispenvdef{indentedblock}{\indentedblockstart}
+ %
+ \def\indentedblockstart{%
+@@ -7793,6 +7882,7 @@ might help (with 'rm \jobname.?? \jobnam
+ {\catcode`\ =\other
+ \gdef\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
+ }
++\let\copyingtext\relax
+ 
+ \def\insertcopying{%
+   \begingroup
+@@ -7801,6 +7891,18 @@ might help (with 'rm \jobname.?? \jobnam
+   \endgroup
+ }
+ 
++\def\publication{\checkenv{}\begingroup\macrobodyctxt\dopublication}
++{\catcode`\ =\other
++\gdef\dopublication#1@end publication{\endgroup\def\publicationtext{#1}}
++}
++\let\publicationtext\relax
++
++\def\insertpublication{%
++  \begingroup
++    \parindent = 0pt  % paragraph indentation looks wrong on title page
++    \scanexp\publicationtext
++  \endgroup
++}
+ 
+ \message{defuns,}
+ % @defun etc.
+@@ -7919,7 +8021,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % @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
+@@ -8089,7 +8191,7 @@ might help (with 'rm \jobname.?? \jobnam
+       \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
+@@ -8215,7 +8317,7 @@ might help (with 'rm \jobname.?? \jobnam
+   \scantokens{#1@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.
+ }
+ 
+@@ -8414,7 +8516,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % 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).
+ %
+@@ -8445,7 +8547,7 @@ might help (with 'rm \jobname.?? \jobnam
+ %
+ % Read recursive and nonrecursive macro bodies. (They're different since
+ % rec and nonrec macros end differently.)
+-%
++% 
+ % We are in \macrobodyctxt, and the \xdef causes backslashes in the macro
+ % body to be transformed.
+ % Set \macrobody to the body of the macro, and call \macrodef.
+@@ -8478,7 +8580,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % 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
+@@ -8563,7 +8665,7 @@ might help (with 'rm \jobname.?? \jobnam
+ 
+ % 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
+@@ -8587,9 +8689,9 @@ might help (with 'rm \jobname.?? \jobnam
+   \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@
+@@ -8627,7 +8729,7 @@ might help (with 'rm \jobname.?? \jobnam
+ }
+ 
+ % Trailing missing arguments are set to empty.
+-%
++% 
+ \def\setemptyargvalues@{%
+   \ifx\paramlist\nilm@
+     \let\next\macargexpandinbody@
+@@ -8705,7 +8807,7 @@ might help (with 'rm \jobname.?? \jobnam
+   \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.
+@@ -8757,11 +8859,11 @@ might help (with 'rm \jobname.?? \jobnam
+ % 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
+ %
+@@ -8783,11 +8885,11 @@ might help (with 'rm \jobname.?? \jobnam
+ % #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@look_ahead#1!#2#3#4{%
+   @ifx#4\%
+-   @expandafter@gobble_and_check_finish
++   @expandafter@gobble_and_check_finish 
+   @else
+    @expandafter@add_segment
+   @fi#1!{#2}#4#4%
+@@ -8811,9 +8913,9 @@ might help (with 'rm \jobname.?? \jobnam
+ % #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
+@@ -8825,13 +8927,13 @@ might help (with 'rm \jobname.?? \jobnam
+   % append the pending backslash to the result, followed by the next segment
+   @expandafter@is_fi@look_ahead#1#2#4!{\}@fi
+   % this @fi is discarded by @look_ahead.
+-  % we can't get rid of it with \expandafter because we don't know how
++  % 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@call_the_macro#1#2!#3@fi{@is_fi #1{#2}}
+ 
+@@ -8843,7 +8945,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % 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
+@@ -8965,7 +9067,7 @@ might help (with 'rm \jobname.?? \jobnam
+ 
+ % 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
+@@ -9059,7 +9161,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % 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
+@@ -9075,7 +9177,7 @@ might help (with 'rm \jobname.?? \jobnam
+   \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
+@@ -9267,20 +9369,20 @@ might help (with 'rm \jobname.?? \jobnam
+   \space\putwordpage\tie\refx{#1-pg}}
+ 
+ % 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}%
+@@ -9377,9 +9479,9 @@ might help (with 'rm \jobname.?? \jobnam
+   }%
+ }
+ 
+-% 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{%
+@@ -9395,10 +9497,10 @@ might help (with 'rm \jobname.?? \jobnam
+   \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
+@@ -9532,7 +9634,10 @@ might help (with 'rm \jobname.?? \jobnam
+ % Auto-number footnotes.  Otherwise like plain.
+ \gdef\footnote{%
+   \global\advance\footnoteno by \@ne
+-  \edef\thisfootno{$^{\the\footnoteno}$}%
++  %
++  % Output for the footnote marker.  If we are immediately after another
++  % footnote, output a comma and small space first.
++  \edef\thisfootno{$^{\ifnum\lastpenalty=3 ,\mskip 1mu \fi\the\footnoteno}$}%
+   %
+   % In case the footnote comes at the end of a sentence, preserve the
+   % extra spacing after we do the footnote number.
+@@ -9541,19 +9646,25 @@ might help (with 'rm \jobname.?? \jobnam
+   %
+   % Remove inadvertent blank space before typesetting the footnote number.
+   \unskip
+-  \thisfootno\@sf
++  %
++  % \scriptspace is 0.5pt by default and gives excessive space before the
++  % comma if we have multiple footnote markers in a row.
++  \bgroup\scriptspace=0pt
++    \thisfootno\@sf
++  \egroup
+   \dofootnote
+ }%
+ 
+-% Don't bother with the trickery in plain.tex to not require the
+-% footnote text as a parameter.  Our footnotes don't need to be so general.
+-%
+-% Oh yes, they do; otherwise, @ifset (and anything else that uses
+-% \parseargline) fails inside footnotes because the tokens are fixed when
+-% the footnote is read.  --karl, 16nov96.
++% marker for immediately after a footnote marker
++\gdef\footnoteendmarker{\penalty3 }
++
++% Do not require the footnote text as a parameter; otherwise, @ifset
++% (and anything else that uses \parseargline) fails inside footnotes
++% because the tokens are fixed when the footnote is read.
+ %
+ \gdef\dofootnote{%
+   \insert\footins\bgroup
++  \aftergroup\footnoteendmarker
+   %
+   % Nested footnotes are not supported in TeX, that would take a lot
+   % more work.  (\startsavinginserts does not suffice.)
+@@ -9584,14 +9695,14 @@ might help (with 'rm \jobname.?? \jobnam
+   % Hang the footnote text off the number.  Use \everypar in case the
+   % footnote extends for more than one paragraph.
+   \everypar = {\hang}%
+-  \textindent{\thisfootno}%
++  \textindent{$^{\the\footnoteno}$}%
+   %
+   % Don't crash into the line above the footnote text.  Since this
+   % expands into a box, it must come within the paragraph, lest it
+   % provide a place where TeX can split the footnote.
+   \footstrut
+   %
+-  % Invoke rest of plain TeX footnote routine.
++  % Eat opening brace and invoke rest of plain TeX footnote routine.
+   \futurelet\next\fo@t
+ }
+ }%end \catcode `\@=11
+@@ -9841,7 +9952,7 @@ might help (with 'rm \jobname.?? \jobnam
+         % node and anchor labels.  And \xrdef uses it to construct the
+         % lists of floats.
+         %
+-        \edef\tmp{\noexpand\setref{\floatlabel}{Yfloat}%
++        \edef\tmp{\noexpand\setref{\noexpand\floatlabel}{Yfloat}%
+                   {\floatmagic=\safefloattype}}%
+         \tmp
+       }%
+@@ -10058,8 +10169,18 @@ might help (with 'rm \jobname.?? \jobnam
+ \gdef\documentlanguagetrywithoutunderscore#1_#2\finish{%
+   \openin 1 txi-#1.tex
+   \ifeof 1
+-    \errhelp = \nolanghelp
+-    \errmessage{Cannot read language file txi-#1.tex}%
++    \def\lang{#1}%
++    \def\enword{en}%
++    \ifx\lang\enword
++      % for English only, keep on going rather than issuing a fatal error
++      % message, as txi-en.tex likely doesn't contain any changes from the
++      % defaults.  note that this is a problem if we already loaded another
++      % language file and want to switch back to English.
++      \message{Cannot read language file txi-#1.tex}%
++    \else
++      \errhelp = \nolanghelp
++      \errmessage{Cannot read language file txi-#1.tex}%
++    \fi
+   \else
+     \globaldefs = 1  % everything in the txi-LL files needs to persist
+     \input txi-#1.tex
+@@ -10617,7 +10738,7 @@ directory should work if nowhere else do
+         \uppercase{.}
+       \endgroup
+     \else
+-      \errhelp = \EMsimple
++      \errhelp = \EMsimple	
+       \errmessage{Unicode character U+#1 not supported, sorry}%
+     \fi
+   \else
+@@ -10695,7 +10816,7 @@ directory should work if nowhere else do
+       \else
+         \expandafter\gdef\UTFviiiTmp{#2}%
+       \fi
+-      %
++      % 
+       \expandafter\ifx\csname uni:#1\endcsname \relax \else
+        \message{Internal error, already defined: #1}%
+       \fi
+@@ -10735,7 +10856,7 @@ directory should work if nowhere else do
+     \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
+@@ -10780,7 +10901,7 @@ directory should work if nowhere else do
+ % 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
+@@ -12044,7 +12165,7 @@ directory should work if nowhere else do
+ \def\texinfochars{%
+   \let< = \activeless
+   \let> = \activegtr
+-  \let~ = \activetilde
++  \let~ = \activetilde 
+   \let^ = \activehat
+   \setregularquotes
+   \let\b = \strong
diff -Nru automake-1.18.1/debian/patches/series automake-1.18.1/debian/patches/series
--- automake-1.18.1/debian/patches/series	2025-10-15 20:28:49.000000000 +0200
+++ automake-1.18.1/debian/patches/series	2025-11-09 07:01:16.000000000 +0100
@@ -1,2 +1,3 @@
 0001-texi-rename.patch
 0002-Drop-SHELL.patch
+0004-update-texinfo.tex.diff

Attachment: signature.asc
Description: PGP signature

Reply via email to