diff options
| author | Paul Eggert | 2019-09-02 12:37:52 -0700 |
|---|---|---|
| committer | Paul Eggert | 2019-09-02 12:38:49 -0700 |
| commit | fda015e7b82a1ec3d1cb075799a67772744ce6c1 (patch) | |
| tree | fd24150923a0afb809cfcf063c454b3e1aacdf7a /doc | |
| parent | 7c37b17b3d6a9be06fa25b19f5eccbc72c52f71c (diff) | |
| download | emacs-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')
| -rw-r--r-- | doc/misc/texinfo.tex | 220 |
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{% |
| 5526 | ERROR: A sorted index file in an obsolete format was skipped. | 5526 | ERROR: A sorted index file in an obsolete format was skipped. |
| 5527 | To fix this problem, please upgrade your version of 'texi2dvi' | 5527 | To fix this problem, please upgrade your version of 'texi2dvi' |
| 5528 | or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>. | 5528 | or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>. |
| 5529 | If you are using an old version of 'texindex' (part of the Texinfo | 5529 | If you are using an old version of 'texindex' (part of the Texinfo |
| 5530 | distribution), you may also need to upgrade to a newer version (at least 6.0). | 5530 | distribution), you may also need to upgrade to a newer version (at least 6.0). |
| 5531 | You may be able to typeset the index if you run | 5531 | You may be able to typeset the index if you run |
| 5532 | 'texindex \jobname.\indexname' yourself. | 5532 | 'texindex \jobname.\indexname' yourself. |
| 5533 | You could also try setting the 'txiindexescapeisbackslash' flag by | 5533 | You could also try setting the 'txiindexescapeisbackslash' flag by |
| 5534 | running a command like | 5534 | running a command like |
| 5535 | 'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do | 5535 | 'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do |
| 5536 | this, Texinfo will try to use index files in the old format. | 5536 | this, Texinfo will try to use index files in the old format. |
| 5537 | If you continue to have problems, deleting the index files and starting again | 5537 | If you continue to have problems, deleting the index files and starting again |
| 5538 | might help (with 'rm \jobname.?? \jobname.??s')% | 5538 | might 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. |