texlive[73183] Master/texmf-dist/tex/texinfo/texinfo.tex:

commits+karl at tug.org commits+karl at tug.org
Sun Dec 22 01:40:37 CET 2024


Revision: 73183
          https://tug.org/svn/texlive?view=revision&revision=73183
Author:   karl
Date:     2024-12-22 01:40:35 +0100 (Sun, 22 Dec 2024)
Log Message:
-----------
tl-update-auto

Modified Paths:
--------------
    trunk/Master/texmf-dist/tex/texinfo/texinfo.tex

Modified: trunk/Master/texmf-dist/tex/texinfo/texinfo.tex
===================================================================
--- trunk/Master/texmf-dist/tex/texinfo/texinfo.tex	2024-12-21 20:56:15 UTC (rev 73182)
+++ trunk/Master/texmf-dist/tex/texinfo/texinfo.tex	2024-12-22 00:40:35 UTC (rev 73183)
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2024-02-10.22}
+\def\texinfoversion{2024-11-04.20}
 %
 % Copyright 1985, 1986, 1988, 1990-2024 Free Software Foundation, Inc.
 %
@@ -951,7 +951,11 @@
 \let\setfilename=\comment
 
 % @bye.
-\outer\def\bye{\chappager\pagelabels\tracingstats=1\ptexend}
+\outer\def\bye{%
+  \chappager\pagelabels
+  % possibly set in \printindex
+  \ifx\byeerror\relax\else\errmessage{\byeerror}\fi
+  \tracingstats=1\ptexend}
 
 
 \message{pdf,}
@@ -3126,11 +3130,12 @@
 % 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 
 % preferable one choice is over the other.
+%   Check test cases in doc/texinfo-tex-test.texi before making any changes.
 \def\urefallowbreak{%
   \penalty0\relax
-  \hskip 0pt plus 2 em\relax
+  \hskip 0pt plus 3 em\relax
   \penalty1000\relax
-  \hskip 0pt plus -2 em\relax
+  \hskip 0pt plus -3 em\relax
 }
 
 \urefbreakstyle after
@@ -5438,6 +5443,9 @@
   \closein 1
 \endgroup}
 
+% Checked in @bye
+\let\byeerror\relax
+
 % If the index file starts with a backslash, forgo reading the index
 % file altogether.  If somebody upgrades texinfo.tex they may still have
 % old index files using \ as the escape character.  Reading this would
@@ -5446,7 +5454,9 @@
   \ifflagclear{txiindexescapeisbackslash}{%
     \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1
       \ifflagclear{txiskipindexfileswithbackslash}{%
-\errmessage{%
+        % 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.  
 To fix this problem, please upgrade your version of 'texi2dvi'
 or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>.
@@ -5567,7 +5577,7 @@
 % \entry typesets a paragraph consisting of the text (#1), dot leaders, and
 % then page number (#2) flushed to the right margin.  It is used for index
 % and table of contents entries.  The paragraph is indented by \leftskip.
-%
+% If \tocnodetarget is set, link text to the referenced node.
 \def\entry{%
   \begingroup
     %
@@ -5608,7 +5618,13 @@
     \global\setbox\boxA=\hbox\bgroup
       \ifpdforxetex
         \iflinkentrytext
-          \pdflinkpage{#1}{\unhbox\boxA}%
+          \ifx\tocnodetarget\empty
+            \unhbox\boxA
+          \else
+            \startxreflink{\tocnodetarget}{}%
+            \unhbox\boxA
+            \endlink
+          \fi
         \else
           \unhbox\boxA
         \fi
@@ -5625,11 +5641,18 @@
         %
         \null\nobreak\indexdotfill % Have leaders before the page number.
         %
+        \hskip\skip\thinshrinkable
         \ifpdforxetex
-          \pdfgettoks#1.%
-          \hskip\skip\thinshrinkable\the\toksA
+          \ifx\tocnodetarget\empty
+            \pdfgettoks#1.%
+            \the\toksA
+          \else
+            % Should just be a single page number in toc
+            \startxreflink{\tocnodetarget}{}%
+            #1\endlink
+          \fi
         \else
-          \hskip\skip\thinshrinkable #1%
+          #1%
         \fi
       \fi
     \egroup % end \boxA
@@ -6892,7 +6915,7 @@
   \vskip 0pt plus 5\baselineskip
   \penalty-300
   \vskip 0pt plus -5\baselineskip
-  \dochapentry{#1}{\numeralbox}{}%
+  \dochapentry{#1}{\numeralbox}{#3}{}%
 }
 %
 % Parts, in the short toc.
@@ -6905,12 +6928,12 @@
 % Chapters, in the main contents.
 \def\numchapentry#1#2#3#4{%
   \retrievesecnowidth\secnowidthchap{#2}%
-  \dochapentry{#1}{#2}{#4}%
+  \dochapentry{#1}{#2}{#3}{#4}%
 }
 
 % Chapters, in the short toc.
 \def\shortchapentry#1#2#3#4{%
-  \tocentry{#1}{\shortchaplabel{#2}}{#4}%
+  \tocentry{#1}{\shortchaplabel{#2}}{#3}{#4}%
 }
 
 % Appendices, in the main contents.
@@ -6923,41 +6946,39 @@
 %
 \def\appentry#1#2#3#4{%
   \retrievesecnowidth\secnowidthchap{#2}%
-  \dochapentry{\appendixbox{#2}\hskip.7em#1}{}{#4}%
+  \dochapentry{\appendixbox{#2}\hskip.7em#1}{}{#3}{#4}%
 }
 
 % Unnumbered chapters.
-\def\unnchapentry#1#2#3#4{\dochapentry{#1}{}{#4}}
-\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{}{#4}}
+\def\unnchapentry#1#2#3#4{\dochapentry{#1}{}{#3}{#4}}
+\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{}{#3}{#4}}
 
 % Sections.
-\def\numsecentry#1#2#3#4{\dosecentry{#1}{#2}{#4}}
-
 \def\numsecentry#1#2#3#4{%
   \retrievesecnowidth\secnowidthsec{#2}%
-  \dosecentry{#1}{#2}{#4}%
+  \dosecentry{#1}{#2}{#3}{#4}%
 }
 \let\appsecentry=\numsecentry
 \def\unnsecentry#1#2#3#4{%
   \retrievesecnowidth\secnowidthsec{#2}%
-  \dosecentry{#1}{}{#4}%
+  \dosecentry{#1}{}{#3}{#4}%
 }
 
 % Subsections.
 \def\numsubsecentry#1#2#3#4{%
   \retrievesecnowidth\secnowidthssec{#2}%
-  \dosubsecentry{#1}{#2}{#4}%
+  \dosubsecentry{#1}{#2}{#3}{#4}%
 }
 \let\appsubsecentry=\numsubsecentry
 \def\unnsubsecentry#1#2#3#4{%
   \retrievesecnowidth\secnowidthssec{#2}%
-  \dosubsecentry{#1}{}{#4}%
+  \dosubsecentry{#1}{}{#3}{#4}%
 }
 
 % And subsubsections.
-\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#2}{#4}}
+\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#2}{#3}{#4}}
 \let\appsubsubsecentry=\numsubsubsecentry
-\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{}{#4}}
+\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{}{#3}{#4}}
 
 % This parameter controls the indentation of the various levels.
 % Same as \defaultparindent.
@@ -6964,11 +6985,11 @@
 \newdimen\tocindent \tocindent = 15pt
 
 % Now for the actual typesetting. In all these, #1 is the text, #2 is
-% a section number if present, and #3 is the page number.
+% a section number if present, #3 is the node, and #4 is the page number.
 %
 % 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{%
+\def\dochapentry#1#2#3#4{%
    \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
    \begingroup
      % Move the page numbers slightly to the right
@@ -6975,27 +6996,27 @@
      \advance\entryrightmargin by -0.05em
      \chapentryfonts
      \extrasecnoskip=0.4em % separate chapter number more
-     \tocentry{#1}{#2}{#3}%
+     \tocentry{#1}{#2}{#3}{#4}%
    \endgroup
    \nobreak\vskip .25\baselineskip plus.1\baselineskip
 }
 
-\def\dosecentry#1#2#3{\begingroup
+\def\dosecentry#1#2#3#4{\begingroup
   \secnowidth=\secnowidthchap
   \secentryfonts \leftskip=\tocindent
-  \tocentry{#1}{#2}{#3}%
+  \tocentry{#1}{#2}{#3}{#4}%
 \endgroup}
 
-\def\dosubsecentry#1#2#3{\begingroup
+\def\dosubsecentry#1#2#3#4{\begingroup
   \secnowidth=\secnowidthsec
   \subsecentryfonts \leftskip=2\tocindent
-  \tocentry{#1}{#2}{#3}%
+  \tocentry{#1}{#2}{#3}{#4}%
 \endgroup}
 
-\def\dosubsubsecentry#1#2#3{\begingroup
+\def\dosubsubsecentry#1#2#3#4{\begingroup
   \secnowidth=\secnowidthssec
   \subsubsecentryfonts \leftskip=3\tocindent
-  \tocentry{#1}{#2}{#3}%
+  \tocentry{#1}{#2}{#3}{#4}%
 \endgroup}
 
 % Used for the maximum width of a section number so we can align
@@ -7005,12 +7026,15 @@
 \newdimen\extrasecnoskip
 \extrasecnoskip=0pt
 
-% \tocentry{TITLE}{SEC NO}{PAGE}
+\let\tocnodetarget\empty
+
+% \tocentry{TITLE}{SEC NO}{NODE}{PAGE}
 %
-\def\tocentry#1#2#3{%
+\def\tocentry#1#2#3#4{%
+  \def\tocnodetarget{#3}%
   \def\secno{#2}%
   \ifx\empty\secno
-    \entry{#1}{#3}%
+    \entry{#1}{#4}%
   \else
     \ifdim 0pt=\secnowidth
       \setbox0=\hbox{#2\hskip\labelspace\hskip\extrasecnoskip}%
@@ -7021,7 +7045,7 @@
         #2\hskip\labelspace\hskip\extrasecnoskip\hfill}%
     \fi
     \entrycontskip=\wd0
-    \entry{\box0 #1}{#3}%
+    \entry{\box0 #1}{#4}%
   \fi
 }
 \newdimen\labelspace
@@ -10515,6 +10539,16 @@
   \catcode"#1=\other
 }
 
+% Suppress ligature creation from adjacent characters.
+\ifx\luatexversion\thisisundefined
+  \def\nolig{{}}
+\else
+  % Braces do not suppress ligature creation in LuaTeX, e.g. in of{}fice
+  % to suppress the "ff" ligature.  Using a kern appears to be the only
+  % workaround.
+  \def\nolig{\kern0pt{}}
+\fi
+
 % https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M
 % U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block)
 % U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)
@@ -11132,8 +11166,8 @@
   % Punctuation
   \DeclareUnicodeCharacter{2013}{--}%
   \DeclareUnicodeCharacter{2014}{---}%
-  \DeclareUnicodeCharacter{2018}{\quoteleft{}}%
-  \DeclareUnicodeCharacter{2019}{\quoteright{}}%
+  \DeclareUnicodeCharacter{2018}{\quoteleft\nolig}%
+  \DeclareUnicodeCharacter{2019}{\quoteright\nolig}%
   \DeclareUnicodeCharacter{201A}{\quotesinglbase{}}%
   \DeclareUnicodeCharacter{201C}{\quotedblleft{}}%
   \DeclareUnicodeCharacter{201D}{\quotedblright{}}%
@@ -11168,7 +11202,7 @@
   \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}%
   %
   \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}%
-  \DeclareUnicodeCharacter{2032}{\ensuremath\prime}%
+  \DeclareUnicodeCharacter{2032}{\ensuremath{^\prime}}%
   \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}%
   \DeclareUnicodeCharacter{2111}{\ensuremath\Im}%
   \DeclareUnicodeCharacter{2113}{\ensuremath\ell}%



More information about the tex-live-commits mailing list.