aboutsummaryrefslogtreecommitdiffstats
path: root/doc/misc
diff options
context:
space:
mode:
authorPaul Eggert2019-09-02 12:37:52 -0700
committerPaul Eggert2019-09-02 12:38:49 -0700
commitfda015e7b82a1ec3d1cb075799a67772744ce6c1 (patch)
treefd24150923a0afb809cfcf063c454b3e1aacdf7a /doc/misc
parent7c37b17b3d6a9be06fa25b19f5eccbc72c52f71c (diff)
downloademacs-fda015e7b82a1ec3d1cb075799a67772744ce6c1.tar.gz
emacs-fda015e7b82a1ec3d1cb075799a67772744ce6c1.zip
Update from Gnulib
This incorporates: 2019-08-25 intprops.h, verify.h: port better to clang 2019-08-21 New strip-trailing-space option for srclist-update * .gitattributes: Remove doc/misc/texinfo.tex special case, which is no longer needed now that Gnulib trims blank-at-eol. * build-aux/install-sh, doc/misc/texinfo.tex, lib/intprops.h: * lib/regex_internal.c, lib/verify.h: Copy from Gnulib.
Diffstat (limited to 'doc/misc')
-rw-r--r--doc/misc/texinfo.tex220
1 files changed, 110 insertions, 110 deletions
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index ed3f0ee98f4..d2e895f3628 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -1,9 +1,9 @@
1% texinfo.tex -- TeX macros to handle Texinfo files. 1% texinfo.tex -- TeX macros to handle Texinfo files.
2% 2%
3% Load plain if necessary, i.e., if running under initex. 3% Load plain if necessary, i.e., if running under initex.
4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5% 5%
6\def\texinfoversion{2019-06-01.23} 6\def\texinfoversion{2019-08-18.20}
7% 7%
8% Copyright 1985, 1986, 1988, 1990-2019 Free Software Foundation, Inc. 8% Copyright 1985, 1986, 1988, 1990-2019 Free Software Foundation, Inc.
9% 9%
@@ -218,7 +218,7 @@
218% @errormsg{MSG}. Do the index-like expansions on MSG, but if things 218% @errormsg{MSG}. Do the index-like expansions on MSG, but if things
219% aren't perfect, it's not the end of the world, being an error message, 219% aren't perfect, it's not the end of the world, being an error message,
220% after all. 220% after all.
221% 221%
222\def\errormsg{\begingroup \indexnofonts \doerrormsg} 222\def\errormsg{\begingroup \indexnofonts \doerrormsg}
223\def\doerrormsg#1{\errmessage{#1}} 223\def\doerrormsg#1{\errmessage{#1}}
224 224
@@ -323,9 +323,9 @@
323% the output routine. The saved contents are valid until we actually 323% the output routine. The saved contents are valid until we actually
324% \shipout a page. 324% \shipout a page.
325% 325%
326% (We used to run a short output routine to actually set \topmark and 326% (We used to run a short output routine to actually set \topmark and
327% \firstmark to the right values, but if this was called with an empty page 327% \firstmark to the right values, but if this was called with an empty page
328% containing whatsits for writing index entries, the whatsits would be thrown 328% containing whatsits for writing index entries, the whatsits would be thrown
329% away and the index auxiliary file would remain empty.) 329% away and the index auxiliary file would remain empty.)
330% 330%
331\newtoks\savedtopmark 331\newtoks\savedtopmark
@@ -365,7 +365,7 @@
365 \let\thischapterheading\thischapter 365 \let\thischapterheading\thischapter
366 \else 366 \else
367 % \thischapterheading is the same as \thischapter except it is blank 367 % \thischapterheading is the same as \thischapter except it is blank
368 % for the first page of a chapter. This is to prevent the chapter name 368 % for the first page of a chapter. This is to prevent the chapter name
369 % being shown twice. 369 % being shown twice.
370 \def\thischapterheading{}% 370 \def\thischapterheading{}%
371 \fi 371 \fi
@@ -448,7 +448,7 @@
448 }% 448 }%
449} 449}
450 450
451% First remove any @comment, then any @c comment. Pass the result on to 451% First remove any @comment, then any @c comment. Pass the result on to
452% \argcheckspaces. 452% \argcheckspaces.
453\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} 453\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
454\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} 454\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
@@ -1137,7 +1137,7 @@ where each line of input produces a line of output.}
1137% for display in the outlines, and in other places. Thus, we have to 1137% for display in the outlines, and in other places. Thus, we have to
1138% double any backslashes. Otherwise, a name like "\node" will be 1138% double any backslashes. Otherwise, a name like "\node" will be
1139% interpreted as a newline (\n), followed by o, d, e. Not good. 1139% interpreted as a newline (\n), followed by o, d, e. Not good.
1140% 1140%
1141% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and 1141% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
1142% related messages. The final outcome is that it is up to the TeX user 1142% related messages. The final outcome is that it is up to the TeX user
1143% to double the backslashes and otherwise make the string valid, so 1143% to double the backslashes and otherwise make the string valid, so
@@ -1442,7 +1442,7 @@ output) for that.)}
1442 % their "best" equivalent, based on the @documentencoding. Too 1442 % their "best" equivalent, based on the @documentencoding. Too
1443 % much work for too little return. Just use the ASCII equivalents 1443 % much work for too little return. Just use the ASCII equivalents
1444 % we use for the index sort strings. 1444 % we use for the index sort strings.
1445 % 1445 %
1446 \indexnofonts 1446 \indexnofonts
1447 \setupdatafile 1447 \setupdatafile
1448 % We can have normal brace characters in the PDF outlines, unlike 1448 % We can have normal brace characters in the PDF outlines, unlike
@@ -2726,7 +2726,7 @@ end
2726} 2726}
2727 2727
2728% Commands to set the quote options. 2728% Commands to set the quote options.
2729% 2729%
2730\parseargdef\codequoteundirected{% 2730\parseargdef\codequoteundirected{%
2731 \def\temp{#1}% 2731 \def\temp{#1}%
2732 \ifx\temp\onword 2732 \ifx\temp\onword
@@ -2767,7 +2767,7 @@ end
2767% If we are in a monospaced environment, however, 1) always use \ttsl, 2767% If we are in a monospaced environment, however, 1) always use \ttsl,
2768% and 2) do not add an italic correction. 2768% and 2) do not add an italic correction.
2769\def\dosmartslant#1#2{% 2769\def\dosmartslant#1#2{%
2770 \ifusingtt 2770 \ifusingtt
2771 {{\ttsl #2}\let\next=\relax}% 2771 {{\ttsl #2}\let\next=\relax}%
2772 {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% 2772 {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}%
2773 \next 2773 \next
@@ -2914,14 +2914,14 @@ end
2914 \gdef\codedash{\futurelet\next\codedashfinish} 2914 \gdef\codedash{\futurelet\next\codedashfinish}
2915 \gdef\codedashfinish{% 2915 \gdef\codedashfinish{%
2916 \normaldash % always output the dash character itself. 2916 \normaldash % always output the dash character itself.
2917 % 2917 %
2918 % Now, output a discretionary to allow a line break, unless 2918 % Now, output a discretionary to allow a line break, unless
2919 % (a) the next character is a -, or 2919 % (a) the next character is a -, or
2920 % (b) the preceding character is a -. 2920 % (b) the preceding character is a -.
2921 % E.g., given --posix, we do not want to allow a break after either -. 2921 % E.g., given --posix, we do not want to allow a break after either -.
2922 % Given --foo-bar, we do want to allow a break between the - and the b. 2922 % Given --foo-bar, we do want to allow a break between the - and the b.
2923 \ifx\next\codedash \else 2923 \ifx\next\codedash \else
2924 \ifx\codedashprev\codedash 2924 \ifx\codedashprev\codedash
2925 \else \discretionary{}{}{}\fi 2925 \else \discretionary{}{}{}\fi
2926 \fi 2926 \fi
2927 % we need the space after the = for the case when \next itself is a 2927 % we need the space after the = for the case when \next itself is a
@@ -3003,7 +3003,7 @@ end
3003 % For pdfTeX and LuaTeX 3003 % For pdfTeX and LuaTeX
3004 \ifurefurlonlylink 3004 \ifurefurlonlylink
3005 % PDF plus option to not display url, show just arg 3005 % PDF plus option to not display url, show just arg
3006 \unhbox0 3006 \unhbox0
3007 \else 3007 \else
3008 % PDF, normally display both arg and url for consistency, 3008 % PDF, normally display both arg and url for consistency,
3009 % visibility, if the pdf is eventually used to print, etc. 3009 % visibility, if the pdf is eventually used to print, etc.
@@ -3016,7 +3016,7 @@ end
3016 % For XeTeX 3016 % For XeTeX
3017 \ifurefurlonlylink 3017 \ifurefurlonlylink
3018 % PDF plus option to not display url, show just arg 3018 % PDF plus option to not display url, show just arg
3019 \unhbox0 3019 \unhbox0
3020 \else 3020 \else
3021 % PDF, normally display both arg and url for consistency, 3021 % PDF, normally display both arg and url for consistency,
3022 % visibility, if the pdf is eventually used to print, etc. 3022 % visibility, if the pdf is eventually used to print, etc.
@@ -3074,10 +3074,10 @@ end
3074 } 3074 }
3075} 3075}
3076 3076
3077% By default we'll break after the special characters, but some people like to 3077% By default we'll break after the special characters, but some people like to
3078% break before the special chars, so allow that. Also allow no breaking at 3078% break before the special chars, so allow that. Also allow no breaking at
3079% all, for manual control. 3079% all, for manual control.
3080% 3080%
3081\parseargdef\urefbreakstyle{% 3081\parseargdef\urefbreakstyle{%
3082 \def\txiarg{#1}% 3082 \def\txiarg{#1}%
3083 \ifx\txiarg\wordnone 3083 \ifx\txiarg\wordnone
@@ -3095,7 +3095,7 @@ end
3095\def\wordbefore{before} 3095\def\wordbefore{before}
3096\def\wordnone{none} 3096\def\wordnone{none}
3097 3097
3098% Allow a ragged right output to aid breaking long URL's. Putting stretch in 3098% Allow a ragged right output to aid breaking long URL's. Putting stretch in
3099% between characters of the URL doesn't look good. 3099% between characters of the URL doesn't look good.
3100\def\urefallowbreak{% 3100\def\urefallowbreak{%
3101 \hskip 0pt plus 4 em\relax 3101 \hskip 0pt plus 4 em\relax
@@ -3299,7 +3299,7 @@ end
3299% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. 3299% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
3300% Ignore unless FMTNAME == tex; then it is like @iftex and @tex, 3300% Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
3301% except specified as a normal braced arg, so no newlines to worry about. 3301% except specified as a normal braced arg, so no newlines to worry about.
3302% 3302%
3303\def\outfmtnametex{tex} 3303\def\outfmtnametex{tex}
3304% 3304%
3305\long\def\inlinefmt#1{\doinlinefmt #1,\finish} 3305\long\def\inlinefmt#1{\doinlinefmt #1,\finish}
@@ -3307,7 +3307,7 @@ end
3307 \def\inlinefmtname{#1}% 3307 \def\inlinefmtname{#1}%
3308 \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi 3308 \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
3309} 3309}
3310% 3310%
3311% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if 3311% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if
3312% FMTNAME is tex, else ELSE-TEXT. 3312% FMTNAME is tex, else ELSE-TEXT.
3313\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} 3313\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish}
@@ -3323,7 +3323,7 @@ end
3323% *right* brace they would have to use a command anyway, so they may as 3323% *right* brace they would have to use a command anyway, so they may as
3324% well use a command to get a left brace too. We could re-use the 3324% well use a command to get a left brace too. We could re-use the
3325% delimiter character idea from \verb, but it seems like overkill. 3325% delimiter character idea from \verb, but it seems like overkill.
3326% 3326%
3327\long\def\inlineraw{\tex \doinlineraw} 3327\long\def\inlineraw{\tex \doinlineraw}
3328\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish} 3328\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
3329\def\doinlinerawtwo#1,#2,\finish{% 3329\def\doinlinerawtwo#1,#2,\finish{%
@@ -3600,7 +3600,7 @@ end
3600% for non-CM glyphs. That is ec* for regular text and tc* for the text 3600% for non-CM glyphs. That is ec* for regular text and tc* for the text
3601% companion symbols (LaTeX TS1 encoding). Both are part of the ec 3601% companion symbols (LaTeX TS1 encoding). Both are part of the ec
3602% package and follow the same conventions. 3602% package and follow the same conventions.
3603% 3603%
3604\def\ecfont{\etcfont{e}} 3604\def\ecfont{\etcfont{e}}
3605\def\tcfont{\etcfont{t}} 3605\def\tcfont{\etcfont{t}}
3606% 3606%
@@ -3672,7 +3672,7 @@ end
3672 after the title page.}}% 3672 after the title page.}}%
3673\def\setshortcontentsaftertitlepage{% 3673\def\setshortcontentsaftertitlepage{%
3674 \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo 3674 \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo
3675 command; move your @shortcontents and @contents commands if you 3675 command; move your @shortcontents and @contents commands if you
3676 want the contents after the title page.}}% 3676 want the contents after the title page.}}%
3677 3677
3678\parseargdef\shorttitlepage{% 3678\parseargdef\shorttitlepage{%
@@ -3727,7 +3727,7 @@ end
3727% don't worry much about spacing, ragged right. This should be used 3727% don't worry much about spacing, ragged right. This should be used
3728% inside a \vbox, and fonts need to be set appropriately first. \par should 3728% inside a \vbox, and fonts need to be set appropriately first. \par should
3729% be specified before the end of the \vbox, since a vbox is a group. 3729% be specified before the end of the \vbox, since a vbox is a group.
3730% 3730%
3731\def\raggedtitlesettings{% 3731\def\raggedtitlesettings{%
3732 \rm 3732 \rm
3733 \hyphenpenalty=10000 3733 \hyphenpenalty=10000
@@ -4350,7 +4350,7 @@ end
4350} 4350}
4351 4351
4352% multitable-only commands. 4352% multitable-only commands.
4353% 4353%
4354% @headitem starts a heading row, which we typeset in bold. Assignments 4354% @headitem starts a heading row, which we typeset in bold. Assignments
4355% have to be global since we are inside the implicit group of an 4355% have to be global since we are inside the implicit group of an
4356% alignment entry. \everycr below resets \everytab so we don't have to 4356% alignment entry. \everycr below resets \everytab so we don't have to
@@ -4669,13 +4669,13 @@ end
4669% Like \expandablevalue, but completely expandable (the \message in the 4669% Like \expandablevalue, but completely expandable (the \message in the
4670% definition above operates at the execution level of TeX). Used when 4670% definition above operates at the execution level of TeX). Used when
4671% writing to auxiliary files, due to the expansion that \write does. 4671% writing to auxiliary files, due to the expansion that \write does.
4672% If flag is undefined, pass through an unexpanded @value command: maybe it 4672% If flag is undefined, pass through an unexpanded @value command: maybe it
4673% will be set by the time it is read back in. 4673% will be set by the time it is read back in.
4674% 4674%
4675% NB flag names containing - or _ may not work here. 4675% NB flag names containing - or _ may not work here.
4676\def\dummyvalue#1{% 4676\def\dummyvalue#1{%
4677 \expandafter\ifx\csname SET#1\endcsname\relax 4677 \expandafter\ifx\csname SET#1\endcsname\relax
4678 \noexpand\value{#1}% 4678 \string\value{#1}%
4679 \else 4679 \else
4680 \csname SET#1\endcsname 4680 \csname SET#1\endcsname
4681 \fi 4681 \fi
@@ -4693,7 +4693,7 @@ end
4693 4693
4694% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined 4694% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
4695% with @set. 4695% with @set.
4696% 4696%
4697% To get the special treatment we need for `@end ifset,' we call 4697% To get the special treatment we need for `@end ifset,' we call
4698% \makecond and then redefine. 4698% \makecond and then redefine.
4699% 4699%
@@ -4726,7 +4726,7 @@ end
4726% without the @) is in fact defined. We can only feasibly check at the 4726% without the @) is in fact defined. We can only feasibly check at the
4727% TeX level, so something like `mathcode' is going to considered 4727% TeX level, so something like `mathcode' is going to considered
4728% defined even though it is not a Texinfo command. 4728% defined even though it is not a Texinfo command.
4729% 4729%
4730\makecond{ifcommanddefined} 4730\makecond{ifcommanddefined}
4731\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} 4731\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
4732% 4732%
@@ -4834,8 +4834,8 @@ end
4834\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} 4834\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
4835\def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}} 4835\def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}}
4836 4836
4837 4837
4838% Used for the aux, toc and index files to prevent expansion of Texinfo 4838% Used for the aux, toc and index files to prevent expansion of Texinfo
4839% commands. 4839% commands.
4840% 4840%
4841\def\atdummies{% 4841\def\atdummies{%
@@ -5180,7 +5180,7 @@ end
5180} 5180}
5181\def\defglyph#1#2{\def#1##1{#2}} % see above 5181\def\defglyph#1#2{\def#1##1{#2}} % see above
5182 5182
5183 5183
5184 5184
5185 5185
5186% #1 is the index name, #2 is the entry text. 5186% #1 is the index name, #2 is the entry text.
@@ -5207,7 +5207,7 @@ end
5207 \ifx\suffix\indexisfl\def\suffix{f1}\fi 5207 \ifx\suffix\indexisfl\def\suffix{f1}\fi
5208 % Open the file 5208 % Open the file
5209 \immediate\openout\csname#1indfile\endcsname \jobname.\suffix 5209 \immediate\openout\csname#1indfile\endcsname \jobname.\suffix
5210 % Using \immediate above here prevents an object entering into the current 5210 % Using \immediate above here prevents an object entering into the current
5211 % box, which could confound checks such as those in \safewhatsit for 5211 % box, which could confound checks such as those in \safewhatsit for
5212 % preceding skips. 5212 % preceding skips.
5213 \typeout{Writing index file \jobname.\suffix}% 5213 \typeout{Writing index file \jobname.\suffix}%
@@ -5259,7 +5259,7 @@ end
5259 \ifx\segment\isfinish 5259 \ifx\segment\isfinish
5260 \else 5260 \else
5261 % 5261 %
5262 % Fully expand the segment, throwing away any @sortas directives, and 5262 % Fully expand the segment, throwing away any @sortas directives, and
5263 % trim spaces. 5263 % trim spaces.
5264 \edef\trimmed{\segment}% 5264 \edef\trimmed{\segment}%
5265 \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}% 5265 \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}%
@@ -5317,12 +5317,12 @@ end
5317% the current value of \escapechar. 5317% the current value of \escapechar.
5318\def\escapeisbackslash{\escapechar=`\\} 5318\def\escapeisbackslash{\escapechar=`\\}
5319 5319
5320% Use \ in index files by default. texi2dvi didn't support @ as the escape 5320% Use \ in index files by default. texi2dvi didn't support @ as the escape
5321% character (as it checked for "\entry" in the files, and not "@entry"). When 5321% character (as it checked for "\entry" in the files, and not "@entry"). When
5322% the new version of texi2dvi has had a chance to become more prevalent, then 5322% the new version of texi2dvi has had a chance to become more prevalent, then
5323% the escape character can change back to @ again. This should be an easy 5323% the escape character can change back to @ again. This should be an easy
5324% change to make now because both @ and \ are only used as escape characters in 5324% change to make now because both @ and \ are only used as escape characters in
5325% index files, never standing for themselves. 5325% index files, never standing for themselves.
5326% 5326%
5327\set txiindexescapeisbackslash 5327\set txiindexescapeisbackslash
5328 5328
@@ -5342,7 +5342,7 @@ end
5342 \def\}{\rbracechar{}}% 5342 \def\}{\rbracechar{}}%
5343 \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}% 5343 \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}%
5344 % 5344 %
5345 % Split the entry into primary entry and any subentries, and get the index 5345 % Split the entry into primary entry and any subentries, and get the index
5346 % sort key. 5346 % sort key.
5347 \splitindexentry\indextext 5347 \splitindexentry\indextext
5348 % 5348 %
@@ -5523,18 +5523,18 @@ end
5523 \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1 5523 \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1
5524 \expandafter\ifx\csname SETtxiskipindexfileswithbackslash\endcsname\relax 5524 \expandafter\ifx\csname SETtxiskipindexfileswithbackslash\endcsname\relax
5525\errmessage{% 5525\errmessage{%
5526ERROR: A sorted index file in an obsolete format was skipped. 5526ERROR: A sorted index file in an obsolete format was skipped.
5527To fix this problem, please upgrade your version of 'texi2dvi' 5527To fix this problem, please upgrade your version of 'texi2dvi'
5528or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>. 5528or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>.
5529If you are using an old version of 'texindex' (part of the Texinfo 5529If you are using an old version of 'texindex' (part of the Texinfo
5530distribution), you may also need to upgrade to a newer version (at least 6.0). 5530distribution), you may also need to upgrade to a newer version (at least 6.0).
5531You may be able to typeset the index if you run 5531You may be able to typeset the index if you run
5532'texindex \jobname.\indexname' yourself. 5532'texindex \jobname.\indexname' yourself.
5533You could also try setting the 'txiindexescapeisbackslash' flag by 5533You could also try setting the 'txiindexescapeisbackslash' flag by
5534running a command like 5534running a command like
5535'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do 5535'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do
5536this, Texinfo will try to use index files in the old format. 5536this, Texinfo will try to use index files in the old format.
5537If you continue to have problems, deleting the index files and starting again 5537If you continue to have problems, deleting the index files and starting again
5538might help (with 'rm \jobname.?? \jobname.??s')% 5538might help (with 'rm \jobname.?? \jobname.??s')%
5539}% 5539}%
5540 \else 5540 \else
@@ -5603,7 +5603,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
5603 % bottom of a column to reduce an increase in inter-line spacing. 5603 % bottom of a column to reduce an increase in inter-line spacing.
5604 \nobreak 5604 \nobreak
5605 \vskip 0pt plus 5\baselineskip 5605 \vskip 0pt plus 5\baselineskip
5606 \penalty -300 5606 \penalty -300
5607 \vskip 0pt plus -5\baselineskip 5607 \vskip 0pt plus -5\baselineskip
5608 % 5608 %
5609 % Typeset the initial. Making this add up to a whole number of 5609 % Typeset the initial. Making this add up to a whole number of
@@ -5719,7 +5719,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
5719 \advance\dimen@ii by 1\dimen@i 5719 \advance\dimen@ii by 1\dimen@i
5720 \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line 5720 \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line
5721 \ifdim\dimen@ > 0.8\dimen@ii % due to long index text 5721 \ifdim\dimen@ > 0.8\dimen@ii % due to long index text
5722 % Try to split the text roughly evenly. \dimen@ will be the length of 5722 % Try to split the text roughly evenly. \dimen@ will be the length of
5723 % the first line. 5723 % the first line.
5724 \dimen@ = 0.7\dimen@ 5724 \dimen@ = 0.7\dimen@
5725 \dimen@ii = \hsize 5725 \dimen@ii = \hsize
@@ -5927,7 +5927,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
5927\newbox\balancedcolumns 5927\newbox\balancedcolumns
5928\setbox\balancedcolumns=\vbox{shouldnt see this}% 5928\setbox\balancedcolumns=\vbox{shouldnt see this}%
5929% 5929%
5930% Only called for the last of the double column material. \doublecolumnout 5930% Only called for the last of the double column material. \doublecolumnout
5931% does the others. 5931% does the others.
5932\def\balancecolumns{% 5932\def\balancecolumns{%
5933 \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120. 5933 \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120.
@@ -5955,7 +5955,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
5955 }% 5955 }%
5956 % Now the left column is in box 1, and the right column in box 3. 5956 % Now the left column is in box 1, and the right column in box 3.
5957 % 5957 %
5958 % Check whether the left column has come out higher than the page itself. 5958 % Check whether the left column has come out higher than the page itself.
5959 % (Note that we have doubled \vsize for the double columns, so 5959 % (Note that we have doubled \vsize for the double columns, so
5960 % the actual height of the page is 0.5\vsize). 5960 % the actual height of the page is 0.5\vsize).
5961 \ifdim2\ht1>\vsize 5961 \ifdim2\ht1>\vsize
@@ -6252,7 +6252,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
6252\let\top\unnumbered 6252\let\top\unnumbered
6253 6253
6254% Sections. 6254% Sections.
6255% 6255%
6256\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz 6256\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
6257\def\seczzz#1{% 6257\def\seczzz#1{%
6258 \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 6258 \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
@@ -6275,7 +6275,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
6275} 6275}
6276 6276
6277% Subsections. 6277% Subsections.
6278% 6278%
6279% normally calls numberedsubseczzz: 6279% normally calls numberedsubseczzz:
6280\outer\parseargdef\numberedsubsec{\numhead2{#1}} 6280\outer\parseargdef\numberedsubsec{\numhead2{#1}}
6281\def\numberedsubseczzz#1{% 6281\def\numberedsubseczzz#1{%
@@ -6300,7 +6300,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
6300} 6300}
6301 6301
6302% Subsubsections. 6302% Subsubsections.
6303% 6303%
6304% normally numberedsubsubseczzz: 6304% normally numberedsubsubseczzz:
6305\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} 6305\outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
6306\def\numberedsubsubseczzz#1{% 6306\def\numberedsubsubseczzz#1{%
@@ -7358,7 +7358,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
7358 7358
7359% @indentedblock is like @quotation, but indents only on the left and 7359% @indentedblock is like @quotation, but indents only on the left and
7360% has no optional argument. 7360% has no optional argument.
7361% 7361%
7362\makedispenvdef{indentedblock}{\indentedblockstart} 7362\makedispenvdef{indentedblock}{\indentedblockstart}
7363% 7363%
7364\def\indentedblockstart{% 7364\def\indentedblockstart{%
@@ -7658,7 +7658,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
7658% @deftypefnnewline on|off says whether the return type of typed functions 7658% @deftypefnnewline on|off says whether the return type of typed functions
7659% are printed on their own line. This affects @deftypefn, @deftypefun, 7659% are printed on their own line. This affects @deftypefn, @deftypefun,
7660% @deftypeop, and @deftypemethod. 7660% @deftypeop, and @deftypemethod.
7661% 7661%
7662\parseargdef\deftypefnnewline{% 7662\parseargdef\deftypefnnewline{%
7663 \def\temp{#1}% 7663 \def\temp{#1}%
7664 \ifx\temp\onword 7664 \ifx\temp\onword
@@ -7677,8 +7677,8 @@ might help (with 'rm \jobname.?? \jobname.??s')%
7677% \dosubind {index}{topic}{subtopic} 7677% \dosubind {index}{topic}{subtopic}
7678% 7678%
7679% If SUBTOPIC is present, precede it with a space, and call \doind. 7679% If SUBTOPIC is present, precede it with a space, and call \doind.
7680% (At some time during the 20th century, this made a two-level entry in an 7680% (At some time during the 20th century, this made a two-level entry in an
7681% index such as the operation index. Nobody seemed to notice the change in 7681% index such as the operation index. Nobody seemed to notice the change in
7682% behaviour though.) 7682% behaviour though.)
7683\def\dosubind#1#2#3{% 7683\def\dosubind#1#2#3{%
7684 \def\thirdarg{#3}% 7684 \def\thirdarg{#3}%
@@ -7853,7 +7853,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
7853 \tclose{\temp}% typeset the return type 7853 \tclose{\temp}% typeset the return type
7854 \ifrettypeownline 7854 \ifrettypeownline
7855 % put return type on its own line; prohibit line break following: 7855 % put return type on its own line; prohibit line break following:
7856 \hfil\vadjust{\nobreak}\break 7856 \hfil\vadjust{\nobreak}\break
7857 \else 7857 \else
7858 \space % type on same line, so just followed by a space 7858 \space % type on same line, so just followed by a space
7859 \fi 7859 \fi
@@ -8000,7 +8000,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8000 \scantokens{#1@comment}% 8000 \scantokens{#1@comment}%
8001 % 8001 %
8002 % The \comment is to remove the \newlinechar added by \scantokens, and 8002 % The \comment is to remove the \newlinechar added by \scantokens, and
8003 % can be noticed by \parsearg. Note \c isn't used because this means cedilla 8003 % can be noticed by \parsearg. Note \c isn't used because this means cedilla
8004 % in math mode. 8004 % in math mode.
8005} 8005}
8006 8006
@@ -8201,7 +8201,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8201% list to some hook where the argument is to be expanded. If there are 8201% list to some hook where the argument is to be expanded. If there are
8202% less than 10 arguments that hook is to be replaced by ##N where N 8202% less than 10 arguments that hook is to be replaced by ##N where N
8203% is the position in that list, that is to say the macro arguments are to be 8203% is the position in that list, that is to say the macro arguments are to be
8204% defined `a la TeX in the macro body. 8204% defined `a la TeX in the macro body.
8205% 8205%
8206% That gets used by \mbodybackslash (above). 8206% That gets used by \mbodybackslash (above).
8207% 8207%
@@ -8232,8 +8232,8 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8232% 8232%
8233% Read recursive and nonrecursive macro bodies. (They're different since 8233% Read recursive and nonrecursive macro bodies. (They're different since
8234% rec and nonrec macros end differently.) 8234% rec and nonrec macros end differently.)
8235% 8235%
8236% We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro 8236% We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro
8237% body to be transformed. 8237% body to be transformed.
8238% Set \macrobody to the body of the macro, and call \defmacro. 8238% Set \macrobody to the body of the macro, and call \defmacro.
8239% 8239%
@@ -8267,7 +8267,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8267% twice the \macarg.BLAH macros does not cost too much processing power. 8267% twice the \macarg.BLAH macros does not cost too much processing power.
8268\def\parsemmanyargdef@@#1,{% 8268\def\parsemmanyargdef@@#1,{%
8269 \if#1;\let\next=\relax 8269 \if#1;\let\next=\relax
8270 \else 8270 \else
8271 \let\next=\parsemmanyargdef@@ 8271 \let\next=\parsemmanyargdef@@
8272 \edef\tempb{\eatspaces{#1}}% 8272 \edef\tempb{\eatspaces{#1}}%
8273 \expandafter\def\expandafter\tempa 8273 \expandafter\def\expandafter\tempa
@@ -8352,7 +8352,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8352 8352
8353% Replace arguments by their values in the macro body, and place the result 8353% Replace arguments by their values in the macro body, and place the result
8354% in macro \@tempa. 8354% in macro \@tempa.
8355% 8355%
8356\def\macvalstoargs@{% 8356\def\macvalstoargs@{%
8357 % To do this we use the property that token registers that are \the'ed 8357 % To do this we use the property that token registers that are \the'ed
8358 % within an \edef expand only once. So we are going to place all argument 8358 % within an \edef expand only once. So we are going to place all argument
@@ -8376,9 +8376,9 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8376 \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% 8376 \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
8377 } 8377 }
8378 8378
8379% Define the named-macro outside of this group and then close this group. 8379% Define the named-macro outside of this group and then close this group.
8380% 8380%
8381\def\macargexpandinbody@{% 8381\def\macargexpandinbody@{%
8382 \expandafter 8382 \expandafter
8383 \endgroup 8383 \endgroup
8384 \macargdeflist@ 8384 \macargdeflist@
@@ -8416,7 +8416,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8416} 8416}
8417 8417
8418% Trailing missing arguments are set to empty. 8418% Trailing missing arguments are set to empty.
8419% 8419%
8420\def\setemptyargvalues@{% 8420\def\setemptyargvalues@{%
8421 \ifx\paramlist\nilm@ 8421 \ifx\paramlist\nilm@
8422 \let\next\macargexpandinbody@ 8422 \let\next\macargexpandinbody@
@@ -8493,7 +8493,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8493 \else % at most 9 8493 \else % at most 9
8494 \ifnum\paramno<10\relax 8494 \ifnum\paramno<10\relax
8495 % @MACNAME sets the context for reading the macro argument 8495 % @MACNAME sets the context for reading the macro argument
8496 % @MACNAME@@ gets the argument, processes backslashes and appends a 8496 % @MACNAME@@ gets the argument, processes backslashes and appends a
8497 % comma. 8497 % comma.
8498 % @MACNAME@@@ removes braces surrounding the argument list. 8498 % @MACNAME@@@ removes braces surrounding the argument list.
8499 % @MACNAME@@@@ scans the macro body with arguments substituted. 8499 % @MACNAME@@@@ scans the macro body with arguments substituted.
@@ -8537,11 +8537,11 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8537% Call #1 with a list of tokens #2, with any doubled backslashes in #2 8537% Call #1 with a list of tokens #2, with any doubled backslashes in #2
8538% compressed to one. 8538% compressed to one.
8539% 8539%
8540% This implementation works by expansion, and not execution (so we cannot use 8540% This implementation works by expansion, and not execution (so we cannot use
8541% \def or similar). This reduces the risk of this failing in contexts where 8541% \def or similar). This reduces the risk of this failing in contexts where
8542% complete expansion is done with no execution (for example, in writing out to 8542% complete expansion is done with no execution (for example, in writing out to
8543% an auxiliary file for an index entry). 8543% an auxiliary file for an index entry).
8544% 8544%
8545% State is kept in the input stream: the argument passed to 8545% State is kept in the input stream: the argument passed to
8546% @look_ahead, @gobble_and_check_finish and @add_segment is 8546% @look_ahead, @gobble_and_check_finish and @add_segment is
8547% 8547%
@@ -8563,11 +8563,11 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8563% #3 - NEXT_TOKEN 8563% #3 - NEXT_TOKEN
8564% #4 used to look ahead 8564% #4 used to look ahead
8565% 8565%
8566% If the next token is not a backslash, process the rest of the argument; 8566% If the next token is not a backslash, process the rest of the argument;
8567% otherwise, remove the next token. 8567% otherwise, remove the next token.
8568@gdef@look_ahead#1!#2#3#4{% 8568@gdef@look_ahead#1!#2#3#4{%
8569 @ifx#4\% 8569 @ifx#4\%
8570 @expandafter@gobble_and_check_finish 8570 @expandafter@gobble_and_check_finish
8571 @else 8571 @else
8572 @expandafter@add_segment 8572 @expandafter@add_segment
8573 @fi#1!{#2}#4#4% 8573 @fi#1!{#2}#4#4%
@@ -8591,9 +8591,9 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8591% #3 - NEXT_TOKEN 8591% #3 - NEXT_TOKEN
8592% #4 is input stream until next backslash 8592% #4 is input stream until next backslash
8593% 8593%
8594% Input stream is either at the start of the argument, or just after a 8594% Input stream is either at the start of the argument, or just after a
8595% backslash sequence, either a lone backslash, or a doubled backslash. 8595% backslash sequence, either a lone backslash, or a doubled backslash.
8596% NEXT_TOKEN contains the first token in the input stream: if it is \finish, 8596% NEXT_TOKEN contains the first token in the input stream: if it is \finish,
8597% finish; otherwise, append to ARG_RESULT the segment of the argument up until 8597% finish; otherwise, append to ARG_RESULT the segment of the argument up until
8598% the next backslash. PENDING_BACKSLASH contains a backslash to represent 8598% the next backslash. PENDING_BACKSLASH contains a backslash to represent
8599% a backslash just before the start of the input stream that has not been 8599% a backslash just before the start of the input stream that has not been
@@ -8605,13 +8605,13 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8605 % append the pending backslash to the result, followed by the next segment 8605 % append the pending backslash to the result, followed by the next segment
8606 @expandafter@is_fi@look_ahead#1#2#4!{\}@fi 8606 @expandafter@is_fi@look_ahead#1#2#4!{\}@fi
8607 % this @fi is discarded by @look_ahead. 8607 % this @fi is discarded by @look_ahead.
8608 % we can't get rid of it with \expandafter because we don't know how 8608 % we can't get rid of it with \expandafter because we don't know how
8609 % long #4 is. 8609 % long #4 is.
8610} 8610}
8611 8611
8612% #1 - THE_MACRO 8612% #1 - THE_MACRO
8613% #2 - ARG_RESULT 8613% #2 - ARG_RESULT
8614% #3 discards the res of the conditional in @add_segment, and @is_fi ends the 8614% #3 discards the res of the conditional in @add_segment, and @is_fi ends the
8615% conditional. 8615% conditional.
8616@gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}} 8616@gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}}
8617 8617
@@ -8623,7 +8623,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8623% for reading the argument (slightly different in the two cases). Then, 8623% for reading the argument (slightly different in the two cases). Then,
8624% to read the argument, in the whole-line case, it then calls the regular 8624% to read the argument, in the whole-line case, it then calls the regular
8625% \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC. 8625% \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC.
8626% 8626%
8627\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} 8627\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
8628\def\braceorlinexxx{% 8628\def\braceorlinexxx{%
8629 \ifx\nchar\bgroup 8629 \ifx\nchar\bgroup
@@ -8677,7 +8677,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8677 8677
8678% Used so that the @top node doesn't have to be wrapped in an @ifnottex 8678% Used so that the @top node doesn't have to be wrapped in an @ifnottex
8679% conditional. 8679% conditional.
8680% \doignore goes to more effort to skip nested conditionals but we don't need 8680% \doignore goes to more effort to skip nested conditionals but we don't need
8681% that here. 8681% that here.
8682\def\omittopnode{% 8682\def\omittopnode{%
8683 \ifx\lastnode\wordTop 8683 \ifx\lastnode\wordTop
@@ -8685,7 +8685,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8685} 8685}
8686\def\wordTop{Top} 8686\def\wordTop{Top}
8687 8687
8688% Until the next @node or @bye command, divert output to a box that is not 8688% Until the next @node or @bye command, divert output to a box that is not
8689% output. 8689% output.
8690\def\ignorenode{\setbox\dummybox\vbox\bgroup\def\node{\egroup\node}% 8690\def\ignorenode{\setbox\dummybox\vbox\bgroup\def\node{\egroup\node}%
8691\ignorenodebye 8691\ignorenodebye
@@ -8752,7 +8752,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8752% automatically in xrefs, if the third arg is not explicitly specified. 8752% automatically in xrefs, if the third arg is not explicitly specified.
8753% This was provided as a "secret" @set xref-automatic-section-title 8753% This was provided as a "secret" @set xref-automatic-section-title
8754% variable, now it's official. 8754% variable, now it's official.
8755% 8755%
8756\parseargdef\xrefautomaticsectiontitle{% 8756\parseargdef\xrefautomaticsectiontitle{%
8757 \def\temp{#1}% 8757 \def\temp{#1}%
8758 \ifx\temp\onword 8758 \ifx\temp\onword
@@ -8768,7 +8768,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8768 \fi\fi 8768 \fi\fi
8769} 8769}
8770 8770
8771% 8771%
8772% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is 8772% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
8773% the node name, #2 the name of the Info cross-reference, #3 the printed 8773% the node name, #2 the name of the Info cross-reference, #3 the printed
8774% node name, #4 the name of the Info file, #5 the name of the printed 8774% node name, #4 the name of the Info file, #5 the name of the printed
@@ -8921,24 +8921,24 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8921 \fi 8921 \fi
8922 \else 8922 \else
8923 % node/anchor (non-float) references. 8923 % node/anchor (non-float) references.
8924 % 8924 %
8925 % If we use \unhbox to print the node names, TeX does not insert 8925 % If we use \unhbox to print the node names, TeX does not insert
8926 % empty discretionaries after hyphens, which means that it will not 8926 % empty discretionaries after hyphens, which means that it will not
8927 % find a line break at a hyphen in a node names. Since some manuals 8927 % find a line break at a hyphen in a node names. Since some manuals
8928 % are best written with fairly long node names, containing hyphens, 8928 % are best written with fairly long node names, containing hyphens,
8929 % this is a loss. Therefore, we give the text of the node name 8929 % this is a loss. Therefore, we give the text of the node name
8930 % again, so it is as if TeX is seeing it for the first time. 8930 % again, so it is as if TeX is seeing it for the first time.
8931 % 8931 %
8932 \ifdim \wd\printedmanualbox > 0pt 8932 \ifdim \wd\printedmanualbox > 0pt
8933 % Cross-manual reference with a printed manual name. 8933 % Cross-manual reference with a printed manual name.
8934 % 8934 %
8935 \crossmanualxref{\cite{\printedmanual\unskip}}% 8935 \crossmanualxref{\cite{\printedmanual\unskip}}%
8936 % 8936 %
8937 \else\ifdim \wd\infofilenamebox > 0pt 8937 \else\ifdim \wd\infofilenamebox > 0pt
8938 % Cross-manual reference with only an info filename (arg 4), no 8938 % Cross-manual reference with only an info filename (arg 4), no
8939 % printed manual name (arg 5). This is essentially the same as 8939 % printed manual name (arg 5). This is essentially the same as
8940 % the case above; we output the filename, since we have nothing else. 8940 % the case above; we output the filename, since we have nothing else.
8941 % 8941 %
8942 \crossmanualxref{\code{\infofilename\unskip}}% 8942 \crossmanualxref{\code{\infofilename\unskip}}%
8943 % 8943 %
8944 \else 8944 \else
@@ -8978,20 +8978,20 @@ might help (with 'rm \jobname.?? \jobname.??s')%
8978\endgroup} 8978\endgroup}
8979 8979
8980% Output a cross-manual xref to #1. Used just above (twice). 8980% Output a cross-manual xref to #1. Used just above (twice).
8981% 8981%
8982% Only include the text "Section ``foo'' in" if the foo is neither 8982% Only include the text "Section ``foo'' in" if the foo is neither
8983% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply 8983% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply
8984% "see The Foo Manual", the idea being to refer to the whole manual. 8984% "see The Foo Manual", the idea being to refer to the whole manual.
8985% 8985%
8986% But, this being TeX, we can't easily compare our node name against the 8986% But, this being TeX, we can't easily compare our node name against the
8987% string "Top" while ignoring the possible spaces before and after in 8987% string "Top" while ignoring the possible spaces before and after in
8988% the input. By adding the arbitrary 7sp below, we make it much less 8988% the input. By adding the arbitrary 7sp below, we make it much less
8989% likely that a real node name would have the same width as "Top" (e.g., 8989% likely that a real node name would have the same width as "Top" (e.g.,
8990% in a monospaced font). Hopefully it will never happen in practice. 8990% in a monospaced font). Hopefully it will never happen in practice.
8991% 8991%
8992% For the same basic reason, we retypeset the "Top" at every 8992% For the same basic reason, we retypeset the "Top" at every
8993% reference, since the current font is indeterminate. 8993% reference, since the current font is indeterminate.
8994% 8994%
8995\def\crossmanualxref#1{% 8995\def\crossmanualxref#1{%
8996 \setbox\toprefbox = \hbox{Top\kern7sp}% 8996 \setbox\toprefbox = \hbox{Top\kern7sp}%
8997 \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% 8997 \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
@@ -9038,7 +9038,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
9038 \fi\fi\fi 9038 \fi\fi\fi
9039} 9039}
9040 9040
9041% \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME. SUFFIX 9041% \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME. SUFFIX
9042% is output afterwards if non-empty. 9042% is output afterwards if non-empty.
9043\def\refx#1#2{% 9043\def\refx#1#2{%
9044 \requireauxfile 9044 \requireauxfile
@@ -9070,9 +9070,9 @@ might help (with 'rm \jobname.?? \jobname.??s')%
9070 #2% Output the suffix in any case. 9070 #2% Output the suffix in any case.
9071} 9071}
9072 9072
9073% This is the macro invoked by entries in the aux file. Define a control 9073% This is the macro invoked by entries in the aux file. Define a control
9074% sequence for a cross-reference target (we prepend XR to the control sequence 9074% sequence for a cross-reference target (we prepend XR to the control sequence
9075% name to avoid collisions). The value is the page number. If this is a float 9075% name to avoid collisions). The value is the page number. If this is a float
9076% type, we have more work to do. 9076% type, we have more work to do.
9077% 9077%
9078\def\xrdef#1#2{% 9078\def\xrdef#1#2{%
@@ -9088,10 +9088,10 @@ might help (with 'rm \jobname.?? \jobname.??s')%
9088 \bgroup 9088 \bgroup
9089 \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% 9089 \expandafter\gdef\csname XR\safexrefname\endcsname{#2}%
9090 \egroup 9090 \egroup
9091 % We put the \gdef inside a group to avoid the definitions building up on 9091 % We put the \gdef inside a group to avoid the definitions building up on
9092 % TeX's save stack, which can cause it to run out of space for aux files with 9092 % TeX's save stack, which can cause it to run out of space for aux files with
9093 % thousands of lines. \gdef doesn't use the save stack, but \csname does 9093 % thousands of lines. \gdef doesn't use the save stack, but \csname does
9094 % when it defines an unknown control sequence as \relax. 9094 % when it defines an unknown control sequence as \relax.
9095 % 9095 %
9096 % Was that xref control sequence that we just defined for a float? 9096 % Was that xref control sequence that we just defined for a float?
9097 \expandafter\iffloat\csname XR\safexrefname\endcsname 9097 \expandafter\iffloat\csname XR\safexrefname\endcsname
@@ -9450,7 +9450,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
9450 % 9450 %
9451 \ifimagevmode 9451 \ifimagevmode
9452 \medskip % space after a standalone image 9452 \medskip % space after a standalone image
9453 \fi 9453 \fi
9454 \ifx\centersub\centerV \egroup \fi 9454 \ifx\centersub\centerV \egroup \fi
9455\endgroup} 9455\endgroup}
9456 9456
@@ -10281,7 +10281,7 @@ directory should work if nowhere else does.}
10281 \uppercase{.} 10281 \uppercase{.}
10282 \endgroup 10282 \endgroup
10283 \else 10283 \else
10284 \errhelp = \EMsimple 10284 \errhelp = \EMsimple
10285 \errmessage{Unicode character U+#1 not supported, sorry}% 10285 \errmessage{Unicode character U+#1 not supported, sorry}%
10286 \fi 10286 \fi
10287 \else 10287 \else
@@ -10314,7 +10314,7 @@ directory should work if nowhere else does.}
10314 \countUTFz = "#1\relax 10314 \countUTFz = "#1\relax
10315 \begingroup 10315 \begingroup
10316 \parseXMLCharref 10316 \parseXMLCharref
10317 10317
10318 % Give \u8:... its definition. The sequence of seven \expandafter's 10318 % Give \u8:... its definition. The sequence of seven \expandafter's
10319 % expands after the \gdef three times, e.g. 10319 % expands after the \gdef three times, e.g.
10320 % 10320 %
@@ -10326,7 +10326,7 @@ directory should work if nowhere else does.}
10326 \expandafter\expandafter 10326 \expandafter\expandafter
10327 \expandafter\expandafter 10327 \expandafter\expandafter
10328 \expandafter\gdef \UTFviiiTmp{#2}% 10328 \expandafter\gdef \UTFviiiTmp{#2}%
10329 % 10329 %
10330 \expandafter\ifx\csname uni:#1\endcsname \relax \else 10330 \expandafter\ifx\csname uni:#1\endcsname \relax \else
10331 \message{Internal error, already defined: #1}% 10331 \message{Internal error, already defined: #1}%
10332 \fi 10332 \fi
@@ -10365,7 +10365,7 @@ directory should work if nowhere else does.}
10365 \divide\countUTFz by 64 10365 \divide\countUTFz by 64
10366 \countUTFy = \countUTFz % Save to be the future value of \countUTFz. 10366 \countUTFy = \countUTFz % Save to be the future value of \countUTFz.
10367 \multiply\countUTFz by 64 10367 \multiply\countUTFz by 64
10368 10368
10369 % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract 10369 % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract
10370 % in order to get the last five bits. 10370 % in order to get the last five bits.
10371 \advance\countUTFx by -\countUTFz 10371 \advance\countUTFx by -\countUTFz
@@ -10400,7 +10400,7 @@ directory should work if nowhere else does.}
10400% U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block) 10400% U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)
10401% U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A 10401% U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A
10402% U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B 10402% U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B
10403% 10403%
10404% Many of our renditions are less than wonderful, and all the missing 10404% Many of our renditions are less than wonderful, and all the missing
10405% characters are available somewhere. Loading the necessary fonts 10405% characters are available somewhere. Loading the necessary fonts
10406% awaits user request. We can't truly support Unicode without 10406% awaits user request. We can't truly support Unicode without
@@ -11438,9 +11438,9 @@ directory should work if nowhere else does.}
11438\def\texinfochars{% 11438\def\texinfochars{%
11439 \let< = \activeless 11439 \let< = \activeless
11440 \let> = \activegtr 11440 \let> = \activegtr
11441 \let~ = \activetilde 11441 \let~ = \activetilde
11442 \let^ = \activehat 11442 \let^ = \activehat
11443 \markupsetuplqdefault \markupsetuprqdefault 11443 \markupsetuplqdefault \markupsetuprqdefault
11444 \let\b = \strong 11444 \let\b = \strong
11445 \let\i = \smartitalic 11445 \let\i = \smartitalic
11446 % in principle, all other definitions in \tex have to be undone too. 11446 % in principle, all other definitions in \tex have to be undone too.