aboutsummaryrefslogtreecommitdiffstats
path: root/doc/misc
diff options
context:
space:
mode:
authorPaul Eggert2023-01-06 17:53:54 -0800
committerPaul Eggert2023-01-06 18:05:57 -0800
commit9e98ff562b4b8f2dae92bd4c64d15934c7d5877f (patch)
treef37ce6d03a710f541fbbe72b9533a05d1a63103f /doc/misc
parent2f05f48918ecf6e59b330709b09a36f81f7b6c48 (diff)
downloademacs-9e98ff562b4b8f2dae92bd4c64d15934c7d5877f.tar.gz
emacs-9e98ff562b4b8f2dae92bd4c64d15934c7d5877f.zip
Update from Gnulib by running admin/merge-gnulib
Diffstat (limited to 'doc/misc')
-rw-r--r--doc/misc/texinfo.tex735
1 files changed, 357 insertions, 378 deletions
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index 7c4520637a7..3cccf01d958 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -3,9 +3,9 @@
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{2022-12-19.22} 6\def\texinfoversion{2023-01-02.21}
7% 7%
8% Copyright 1985--1986, 1988, 1990--2023 Free Software Foundation, Inc. 8% Copyright 1985, 1986, 1988, 1990-2023 Free Software Foundation, Inc.
9% 9%
10% This texinfo.tex file is free software: you can redistribute it and/or 10% This texinfo.tex file is free software: you can redistribute it and/or
11% modify it under the terms of the GNU General Public License as 11% modify it under the terms of the GNU General Public License as
@@ -58,12 +58,6 @@
58 58
59\message{Loading texinfo [version \texinfoversion]:} 59\message{Loading texinfo [version \texinfoversion]:}
60 60
61% If in a .fmt file, print the version number
62% and turn on active characters that we couldn't do earlier because
63% they might have appeared in the input file name.
64\everyjob{\message{[Texinfo version \texinfoversion]}%
65 \catcode`+=\active \catcode`\_=\active}
66
67% LaTeX's \typeout. This ensures that the messages it is used for 61% LaTeX's \typeout. This ensures that the messages it is used for
68% are identical in format to the corresponding ones from latex/pdflatex. 62% are identical in format to the corresponding ones from latex/pdflatex.
69\def\typeout{\immediate\write17}% 63\def\typeout{\immediate\write17}%
@@ -530,7 +524,7 @@
530 524
531% ... but they get defined via ``\envdef\foo{...}'': 525% ... but they get defined via ``\envdef\foo{...}'':
532\long\def\envdef#1#2{\def#1{\startenvironment#1#2}} 526\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
533\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} 527\long\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
534 528
535% Check whether we're in the right environment: 529% Check whether we're in the right environment:
536\def\checkenv#1{% 530\def\checkenv#1{%
@@ -1200,13 +1194,17 @@ output) for that.)}
1200 % 1194 %
1201 % Set color, and create a mark which defines \thiscolor accordingly, 1195 % Set color, and create a mark which defines \thiscolor accordingly,
1202 % so that \makeheadline knows which color to restore. 1196 % so that \makeheadline knows which color to restore.
1197 \def\curcolor{0 0 0}%
1203 \def\setcolor#1{% 1198 \def\setcolor#1{%
1204 \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}% 1199 \ifx#1\curcolor\else
1205 \domark 1200 \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
1206 \pdfsetcolor{#1}% 1201 \domark
1202 \pdfsetcolor{#1}%
1203 \xdef\curcolor{#1}%
1204 \fi
1207 } 1205 }
1208 % 1206 %
1209 \def\maincolor{\rgbBlack} 1207 \let\maincolor\rgbBlack
1210 \pdfsetcolor{\maincolor} 1208 \pdfsetcolor{\maincolor}
1211 \edef\thiscolor{\maincolor} 1209 \edef\thiscolor{\maincolor}
1212 \def\currentcolordefs{} 1210 \def\currentcolordefs{}
@@ -1362,7 +1360,7 @@ output) for that.)}
1362 % 1360 %
1363 % by default, use black for everything. 1361 % by default, use black for everything.
1364 \def\urlcolor{\rgbBlack} 1362 \def\urlcolor{\rgbBlack}
1365 \def\linkcolor{\rgbBlack} 1363 \let\linkcolor\rgbBlack
1366 \def\endlink{\setcolor{\maincolor}\pdfendlink} 1364 \def\endlink{\setcolor{\maincolor}\pdfendlink}
1367 % 1365 %
1368 % Adding outlines to PDF; macros for calculating structure of outlines 1366 % Adding outlines to PDF; macros for calculating structure of outlines
@@ -2683,6 +2681,7 @@ end
2683\gdef\setcodequotes{\let`\codequoteleft \let'\codequoteright} 2681\gdef\setcodequotes{\let`\codequoteleft \let'\codequoteright}
2684\gdef\setregularquotes{\let`\lq \let'\rq} 2682\gdef\setregularquotes{\let`\lq \let'\rq}
2685} 2683}
2684\setregularquotes
2686 2685
2687% Allow an option to not use regular directed right quote/apostrophe 2686% Allow an option to not use regular directed right quote/apostrophe
2688% (char 0x27), but instead the undirected quote from cmtt (char 0x0d). 2687% (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
@@ -3744,8 +3743,8 @@ $$%
3744 want the contents after the title page.}}% 3743 want the contents after the title page.}}%
3745 3744
3746\parseargdef\shorttitlepage{% 3745\parseargdef\shorttitlepage{%
3747 \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% 3746 {\headingsoff \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
3748 \endgroup\page\hbox{}\page} 3747 \endgroup\page\hbox{}\page}\pageone}
3749 3748
3750\envdef\titlepage{% 3749\envdef\titlepage{%
3751 % Open one extra group, as we want to close it in the middle of \Etitlepage. 3750 % Open one extra group, as we want to close it in the middle of \Etitlepage.
@@ -4795,21 +4794,6 @@ $$%
4795\def\docodeindexxxx #1{\docind{\indexname}{#1}} 4794\def\docodeindexxxx #1{\docind{\indexname}{#1}}
4796 4795
4797 4796
4798% Used for the aux, toc and index files to prevent expansion of Texinfo
4799% commands.
4800%
4801\def\atdummies{%
4802 \definedummyletter\@%
4803 \definedummyletter\ %
4804 \definedummyletter\{%
4805 \definedummyletter\}%
4806 \definedummyletter\&%
4807 %
4808 % Do the redefinitions.
4809 \definedummies
4810 \otherbackslash
4811}
4812
4813% \definedummyword defines \#1 as \string\#1\space, thus effectively 4797% \definedummyword defines \#1 as \string\#1\space, thus effectively
4814% preventing its expansion. This is used only for control words, 4798% preventing its expansion. This is used only for control words,
4815% not control letters, because the \space would be incorrect for 4799% not control letters, because the \space would be incorrect for
@@ -4825,110 +4809,91 @@ $$%
4825% 4809%
4826\def\definedummyword #1{\def#1{\string#1\space}}% 4810\def\definedummyword #1{\def#1{\string#1\space}}%
4827\def\definedummyletter#1{\def#1{\string#1}}% 4811\def\definedummyletter#1{\def#1{\string#1}}%
4828\let\definedummyaccent\definedummyletter
4829 4812
4830% Called from \atdummies to prevent the expansion of commands. 4813% Used for the aux, toc and index files to prevent expansion of Texinfo
4814% commands. Most of the commands are controlled through the
4815% \ifdummies conditional.
4831% 4816%
4832\def\definedummies{% 4817\def\atdummies{%
4818 \dummiestrue
4833 % 4819 %
4834 \let\commondummyword\definedummyword 4820 \definedummyletter\@%
4835 \let\commondummyletter\definedummyletter 4821 \definedummyletter\ %
4836 \let\commondummyaccent\definedummyaccent 4822 \definedummyletter\{%
4837 \commondummiesnofonts 4823 \definedummyletter\}%
4824 \definedummyletter\&%
4838 % 4825 %
4839 \definedummyletter\_% 4826 \definedummyletter\_%
4840 \definedummyletter\-% 4827 \definedummyletter\-%
4841 % 4828 %
4842 % Non-English letters.
4843 \definedummyword\AA
4844 \definedummyword\AE
4845 \definedummyword\DH
4846 \definedummyword\L
4847 \definedummyword\O
4848 \definedummyword\OE
4849 \definedummyword\TH
4850 \definedummyword\aa
4851 \definedummyword\ae
4852 \definedummyword\dh
4853 \definedummyword\exclamdown
4854 \definedummyword\l
4855 \definedummyword\o
4856 \definedummyword\oe
4857 \definedummyword\ordf
4858 \definedummyword\ordm
4859 \definedummyword\questiondown
4860 \definedummyword\ss
4861 \definedummyword\th
4862 %
4863 % Although these internal commands shouldn't show up, sometimes they do.
4864 \definedummyword\bf
4865 \definedummyword\gtr
4866 \definedummyword\hat
4867 \definedummyword\less
4868 \definedummyword\sf
4869 \definedummyword\sl
4870 \definedummyword\tclose
4871 \definedummyword\tt
4872 %
4873 \definedummyword\LaTeX
4874 \definedummyword\TeX
4875 %
4876 % Assorted special characters.
4877 \definedummyword\ampchar
4878 \definedummyword\atchar
4879 \definedummyword\arrow
4880 \definedummyword\backslashchar
4881 \definedummyword\bullet
4882 \definedummyword\comma
4883 \definedummyword\copyright
4884 \definedummyword\registeredsymbol
4885 \definedummyword\dots
4886 \definedummyword\enddots
4887 \definedummyword\entrybreak
4888 \definedummyword\equiv
4889 \definedummyword\error
4890 \definedummyword\euro
4891 \definedummyword\expansion
4892 \definedummyword\geq
4893 \definedummyword\guillemetleft
4894 \definedummyword\guillemetright
4895 \definedummyword\guilsinglleft
4896 \definedummyword\guilsinglright
4897 \definedummyword\lbracechar
4898 \definedummyword\leq
4899 \definedummyword\mathopsup
4900 \definedummyword\minus
4901 \definedummyword\ogonek
4902 \definedummyword\pounds
4903 \definedummyword\point
4904 \definedummyword\print
4905 \definedummyword\quotedblbase
4906 \definedummyword\quotedblleft
4907 \definedummyword\quotedblright
4908 \definedummyword\quoteleft
4909 \definedummyword\quoteright
4910 \definedummyword\quotesinglbase
4911 \definedummyword\rbracechar
4912 \definedummyword\result
4913 \definedummyword\sub
4914 \definedummyword\sup
4915 \definedummyword\textdegree
4916 %
4917 \definedummyword\subentry 4829 \definedummyword\subentry
4918 % 4830 %
4919 % We want to disable all macros so that they are not expanded by \write. 4831 % We want to disable all macros so that they are not expanded by \write.
4832 \let\commondummyword\definedummyword
4920 \macrolist 4833 \macrolist
4921 \let\value\dummyvalue 4834 \let\value\dummyvalue
4922 % 4835 %
4923 \normalturnoffactive 4836 \turnoffactive
4924} 4837}
4925 4838
4926% \commondummiesnofonts: common to \definedummies and \indexnofonts. 4839\newif\ifdummies
4927% Define \commondummyletter, \commondummyaccent and \commondummyword before 4840\newif\ifindexnofonts
4928% using. Used for accents, font commands, and various control letters. 4841
4929% 4842\def\commondummyletter#1{%
4930\def\commondummiesnofonts{% 4843 \expandafter\let\csname\string#1:impl\endcsname#1%
4931 % Control letters and accents. 4844 \edef#1{%
4845 \noexpand\ifindexnofonts
4846 % empty expansion
4847 \noexpand\else
4848 \noexpand\ifdummies\string#1%
4849 \noexpand\else
4850 \noexpand\jumptwofi % dispose of the \fi
4851 \expandafter\noexpand\csname\string#1:impl\endcsname
4852 \noexpand\fi
4853 \noexpand\fi}%
4854}
4855
4856\def\commondummyaccent#1{%
4857 \expandafter\let\csname\string#1:impl\endcsname#1%
4858 \edef#1{%
4859 \noexpand\ifindexnofonts
4860 \noexpand\expandafter % dispose of \else ... \fi
4861 \noexpand\asis
4862 \noexpand\else
4863 \noexpand\ifdummies\string#1%
4864 \noexpand\else
4865 \noexpand\jumptwofi % dispose of the \fi
4866 \expandafter\noexpand\csname\string#1:impl\endcsname
4867 \noexpand\fi
4868 \noexpand\fi}%
4869}
4870
4871% Like \commondummyaccent but add a \space at the end of the dummy expansion
4872% #2 is the expansion used for \indexnofonts. #2 is always followed by
4873% \asis to remove a pair of following braces.
4874\def\commondummyword#1#2{%
4875 \expandafter\let\csname\string#1:impl\endcsname#1%
4876 \expandafter\def\csname\string#1:ixnf\endcsname{#2\asis}%
4877 \edef#1{%
4878 \noexpand\ifindexnofonts
4879 \noexpand\expandafter % dispose of \else ... \fi
4880 \expandafter\noexpand\csname\string#1:ixnf\endcsname
4881 \noexpand\else
4882 \noexpand\ifdummies\string#1\space
4883 \noexpand\else
4884 \noexpand\jumptwofi % dispose of the \fi \fi
4885 \expandafter\noexpand\csname\string#1:impl\endcsname
4886 \noexpand\fi
4887 \noexpand\fi}%
4888}
4889\def\jumptwofi#1\fi\fi{\fi\fi#1}
4890
4891% For \atdummies and \indexnofonts. \atdummies sets
4892% \dummiestrue and \indexnofonts sets \indexnofontstrue.
4893\def\definedummies{
4894 % @-sign is always an escape character when reading auxiliary files
4895 \escapechar = `\@
4896 %
4932 \commondummyletter\!% 4897 \commondummyletter\!%
4933 \commondummyaccent\"% 4898 \commondummyaccent\"%
4934 \commondummyaccent\'% 4899 \commondummyaccent\'%
@@ -4942,58 +4907,123 @@ $$%
4942 \commondummyaccent\^% 4907 \commondummyaccent\^%
4943 \commondummyaccent\`% 4908 \commondummyaccent\`%
4944 \commondummyaccent\~% 4909 \commondummyaccent\~%
4945 \commondummyword\u 4910 %
4946 \commondummyword\v 4911 % Control letters and accents.
4947 \commondummyword\H 4912 \commondummyword\u {}%
4948 \commondummyword\dotaccent 4913 \commondummyword\v {}%
4949 \commondummyword\ogonek 4914 \commondummyword\H {}%
4950 \commondummyword\ringaccent 4915 \commondummyword\dotaccent {}%
4951 \commondummyword\tieaccent 4916 \commondummyword\ogonek {}%
4952 \commondummyword\ubaraccent 4917 \commondummyword\ringaccent {}%
4953 \commondummyword\udotaccent 4918 \commondummyword\tieaccent {}%
4954 \commondummyword\dotless 4919 \commondummyword\ubaraccent {}%
4920 \commondummyword\udotaccent {}%
4921 \commondummyword\dotless {}%
4955 % 4922 %
4956 % Texinfo font commands. 4923 % Texinfo font commands.
4957 \commondummyword\b 4924 \commondummyword\b {}%
4958 \commondummyword\i 4925 \commondummyword\i {}%
4959 \commondummyword\r 4926 \commondummyword\r {}%
4960 \commondummyword\sansserif 4927 \commondummyword\sansserif {}%
4961 \commondummyword\sc 4928 \commondummyword\sc {}%
4962 \commondummyword\slanted 4929 \commondummyword\slanted {}%
4963 \commondummyword\t 4930 \commondummyword\t {}%
4964 % 4931 %
4965 % Commands that take arguments. 4932 % Commands that take arguments.
4966 \commondummyword\abbr 4933 \commondummyword\abbr {}%
4967 \commondummyword\acronym 4934 \commondummyword\acronym {}%
4968 \commondummyword\anchor 4935 \commondummyword\anchor {}%
4969 \commondummyword\cite 4936 \commondummyword\cite {}%
4970 \commondummyword\code 4937 \commondummyword\code {}%
4971 \commondummyword\command 4938 \commondummyword\command {}%
4972 \commondummyword\dfn 4939 \commondummyword\dfn {}%
4973 \commondummyword\dmn 4940 \commondummyword\dmn {}%
4974 \commondummyword\email 4941 \commondummyword\email {}%
4975 \commondummyword\emph 4942 \commondummyword\emph {}%
4976 \commondummyword\env 4943 \commondummyword\env {}%
4977 \commondummyword\file 4944 \commondummyword\file {}%
4978 \commondummyword\image 4945 \commondummyword\image {}%
4979 \commondummyword\indicateurl 4946 \commondummyword\indicateurl{}%
4980 \commondummyword\inforef 4947 \commondummyword\inforef {}%
4981 \commondummyword\kbd 4948 \commondummyword\kbd {}%
4982 \commondummyword\key 4949 \commondummyword\key {}%
4983 \commondummyword\math 4950 \commondummyword\math {}%
4984 \commondummyword\option 4951 \commondummyword\option {}%
4985 \commondummyword\pxref 4952 \commondummyword\pxref {}%
4986 \commondummyword\ref 4953 \commondummyword\ref {}%
4987 \commondummyword\samp 4954 \commondummyword\samp {}%
4988 \commondummyword\strong 4955 \commondummyword\strong {}%
4989 \commondummyword\tie 4956 \commondummyword\tie {}%
4990 \commondummyword\U 4957 \commondummyword\U {}%
4991 \commondummyword\uref 4958 \commondummyword\uref {}%
4992 \commondummyword\url 4959 \commondummyword\url {}%
4993 \commondummyword\var 4960 \commondummyword\var {}%
4994 \commondummyword\verb 4961 \commondummyword\verb {}%
4995 \commondummyword\w 4962 \commondummyword\w {}%
4996 \commondummyword\xref 4963 \commondummyword\xref {}%
4964 %
4965 \commondummyword\AA {AA}%
4966 \commondummyword\AE {AE}%
4967 \commondummyword\DH {DZZ}%
4968 \commondummyword\L {L}%
4969 \commondummyword\O {O}%
4970 \commondummyword\OE {OE}%
4971 \commondummyword\TH {TH}%
4972 \commondummyword\aa {aa}%
4973 \commondummyword\ae {ae}%
4974 \commondummyword\dh {dzz}%
4975 \commondummyword\exclamdown {!}%
4976 \commondummyword\l {l}%
4977 \commondummyword\o {o}%
4978 \commondummyword\oe {oe}%
4979 \commondummyword\ordf {a}%
4980 \commondummyword\ordm {o}%
4981 \commondummyword\questiondown {?}%
4982 \commondummyword\ss {ss}%
4983 \commondummyword\th {th}%
4984 %
4985 \commondummyword\LaTeX {LaTeX}%
4986 \commondummyword\TeX {TeX}%
4987 %
4988 % Assorted special characters.
4989 \commondummyword\ampchar {\normalamp}%
4990 \commondummyword\atchar {\@}%
4991 \commondummyword\arrow {->}%
4992 \commondummyword\backslashchar {}%
4993 \commondummyword\bullet {bullet}%
4994 \commondummyword\comma {,}%
4995 \commondummyword\copyright {copyright}%
4996 \commondummyword\dots {...}%
4997 \commondummyword\enddots {...}%
4998 \commondummyword\entrybreak {}%
4999 \commondummyword\equiv {===}%
5000 \commondummyword\error {error}%
5001 \commondummyword\euro {euro}%
5002 \commondummyword\expansion {==>}%
5003 \commondummyword\geq {>=}%
5004 \commondummyword\guillemetleft {<<}%
5005 \commondummyword\guillemetright {>>}%
5006 \commondummyword\guilsinglleft {<}%
5007 \commondummyword\guilsinglright {>}%
5008 \commondummyword\lbracechar {\{}%
5009 \commondummyword\leq {<=}%
5010 \commondummyword\mathopsup {sup}%
5011 \commondummyword\minus {-}%
5012 \commondummyword\pounds {pounds}%
5013 \commondummyword\point {.}%
5014 \commondummyword\print {-|}%
5015 \commondummyword\quotedblbase {"}%
5016 \commondummyword\quotedblleft {"}%
5017 \commondummyword\quotedblright {"}%
5018 \commondummyword\quoteleft {`}%
5019 \commondummyword\quoteright {'}%
5020 \commondummyword\quotesinglbase {,}%
5021 \commondummyword\rbracechar {\}}%
5022 \commondummyword\registeredsymbol {R}%
5023 \commondummyword\result {=>}%
5024 \commondummyword\sub {}%
5025 \commondummyword\sup {}%
5026 \commondummyword\textdegree {o}%
4997} 5027}
4998 5028
4999\let\indexlbrace\relax 5029\let\indexlbrace\relax
@@ -5044,18 +5074,7 @@ $$%
5044% would be for a given command (usually its argument). 5074% would be for a given command (usually its argument).
5045% 5075%
5046\def\indexnofonts{% 5076\def\indexnofonts{%
5047 % Accent commands should become @asis. 5077 \indexnofontstrue
5048 \def\commondummyaccent##1{\let##1\asis}%
5049 % We can just ignore other control letters.
5050 \def\commondummyletter##1{\let##1\empty}%
5051 % All control words become @asis by default; overrides below.
5052 \let\commondummyword\commondummyaccent
5053 \commondummiesnofonts
5054 %
5055 % Don't no-op \tt, since it isn't a user-level command
5056 % and is used in the definitions of the active chars like <, >, |, etc.
5057 % Likewise with the other plain tex font commands.
5058 %\let\tt=\asis
5059 % 5078 %
5060 \def\ { }% 5079 \def\ { }%
5061 \def\@{@}% 5080 \def\@{@}%
@@ -5067,65 +5086,6 @@ $$%
5067 \let\lbracechar\{% 5086 \let\lbracechar\{%
5068 \let\rbracechar\}% 5087 \let\rbracechar\}%
5069 % 5088 %
5070 % Non-English letters.
5071 \def\AA{AA}%
5072 \def\AE{AE}%
5073 \def\DH{DZZ}%
5074 \def\L{L}%
5075 \def\OE{OE}%
5076 \def\O{O}%
5077 \def\TH{TH}%
5078 \def\aa{aa}%
5079 \def\ae{ae}%
5080 \def\dh{dzz}%
5081 \def\exclamdown{!}%
5082 \def\l{l}%
5083 \def\oe{oe}%
5084 \def\ordf{a}%
5085 \def\ordm{o}%
5086 \def\o{o}%
5087 \def\questiondown{?}%
5088 \def\ss{ss}%
5089 \def\th{th}%
5090 %
5091 \let\do\indexnofontsdef
5092 %
5093 \do\LaTeX{LaTeX}%
5094 \do\TeX{TeX}%
5095 %
5096 % Assorted special characters.
5097 \do\atchar{@}%
5098 \do\arrow{->}%
5099 \do\bullet{bullet}%
5100 \do\comma{,}%
5101 \do\copyright{copyright}%
5102 \do\dots{...}%
5103 \do\enddots{...}%
5104 \do\equiv{==}%
5105 \do\error{error}%
5106 \do\euro{euro}%
5107 \do\expansion{==>}%
5108 \do\geq{>=}%
5109 \do\guillemetleft{<<}%
5110 \do\guillemetright{>>}%
5111 \do\guilsinglleft{<}%
5112 \do\guilsinglright{>}%
5113 \do\leq{<=}%
5114 \do\lbracechar{\{}%
5115 \do\minus{-}%
5116 \do\point{.}%
5117 \do\pounds{pounds}%
5118 \do\print{-|}%
5119 \do\quotedblbase{"}%
5120 \do\quotedblleft{"}%
5121 \do\quotedblright{"}%
5122 \do\quoteleft{`}%
5123 \do\quoteright{'}%
5124 \do\quotesinglbase{,}%
5125 \do\rbracechar{\}}%
5126 \do\registeredsymbol{R}%
5127 \do\result{=>}%
5128 \do\textdegree{o}%
5129 % 5089 %
5130 % We need to get rid of all macros, leaving only the arguments (if present). 5090 % We need to get rid of all macros, leaving only the arguments (if present).
5131 % Of course this is not nearly correct, but it is the best we can do for now. 5091 % Of course this is not nearly correct, but it is the best we can do for now.
@@ -5137,14 +5097,11 @@ $$%
5137 % to take a single TeX argument. The case of a macro invocation that 5097 % to take a single TeX argument. The case of a macro invocation that
5138 % goes to end-of-line is not handled. 5098 % goes to end-of-line is not handled.
5139 % 5099 %
5100 \def\commondummyword##1{\let##1\asis}%
5140 \macrolist 5101 \macrolist
5141 \let\value\indexnofontsvalue 5102 \let\value\indexnofontsvalue
5142} 5103}
5143 5104
5144% Give the control sequence a definition that removes the {} that follows
5145% its use, e.g. @AA{} -> AA
5146\def\indexnofontsdef#1#2{\def#1##1{#2}}%
5147
5148 5105
5149 5106
5150 5107
@@ -7135,8 +7092,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
7135\newdimen\cartouter\newdimen\cartinner 7092\newdimen\cartouter\newdimen\cartinner
7136\newskip\normbskip\newskip\normpskip\newskip\normlskip 7093\newskip\normbskip\newskip\normpskip\newskip\normlskip
7137 7094
7138 7095\envparseargdef\cartouche{%
7139\envdef\cartouche{%
7140 \cartouchefontdefs 7096 \cartouchefontdefs
7141 \ifhmode\par\fi % can't be in the midst of a paragraph. 7097 \ifhmode\par\fi % can't be in the midst of a paragraph.
7142 \startsavinginserts 7098 \startsavinginserts
@@ -7166,16 +7122,19 @@ might help (with 'rm \jobname.?? \jobname.??s')%
7166 \baselineskip=0pt\parskip=0pt\lineskip=0pt 7122 \baselineskip=0pt\parskip=0pt\lineskip=0pt
7167 \carttop 7123 \carttop
7168 \hbox\bgroup 7124 \hbox\bgroup
7169 \hskip\lskip 7125 \hskip\lskip
7170 \vrule\kern3pt 7126 \vrule\kern3pt
7171 \vbox\bgroup 7127 \vbox\bgroup
7172 \kern3pt 7128 \hsize=\cartinner
7173 \hsize=\cartinner 7129 \baselineskip=\normbskip
7174 \baselineskip=\normbskip 7130 \lineskip=\normlskip
7175 \lineskip=\normlskip 7131 \parskip=\normpskip
7176 \parskip=\normpskip 7132 \def\arg{#1}%
7177 \vskip -\parskip 7133 \ifx\arg\empty\else
7178 \comment % For explanation, see the end of def\group. 7134 \centerV{\hfil \bf #1 \hfil}%
7135 \fi
7136 \kern3pt
7137 \vskip -\parskip
7179} 7138}
7180\def\Ecartouche{% 7139\def\Ecartouche{%
7181 \ifhmode\par\fi 7140 \ifhmode\par\fi
@@ -7858,10 +7817,12 @@ might help (with 'rm \jobname.?? \jobname.??s')%
7858 7817
7859% Print arguments. Use slanted for @def*, typewriter for @deftype*. 7818% Print arguments. Use slanted for @def*, typewriter for @deftype*.
7860\def\defunargs#1{% 7819\def\defunargs#1{%
7861 \df \ifdoingtypefn \tt \else \sl \fi 7820 \bgroup
7862 \ifflagclear{txicodevaristt}{}% 7821 \df \ifdoingtypefn \tt \else \sl \fi
7863 {\def\var##1{{\setregularquotes \ttsl ##1}}}% 7822 \ifflagclear{txicodevaristt}{}%
7864 #1% 7823 {\def\var##1{{\setregularquotes \ttsl ##1}}}%
7824 #1%
7825 \egroup
7865} 7826}
7866 7827
7867% We want ()&[] to print specially on the defun line. 7828% We want ()&[] to print specially on the defun line.
@@ -9900,12 +9861,10 @@ directory should work if nowhere else does.}
9900 % For native Unicode handling (XeTeX and LuaTeX) 9861 % For native Unicode handling (XeTeX and LuaTeX)
9901 \nativeunicodechardefs 9862 \nativeunicodechardefs
9902 \else 9863 \else
9903 % For treating UTF-8 as byte sequences (TeX, eTeX and pdfTeX) 9864 % For treating UTF-8 as byte sequences (TeX, eTeX and pdfTeX).
9865 % Since we already invoke \utfeightchardefs at the top level,
9866 % making non-ascii chars active is sufficient.
9904 \setnonasciicharscatcode\active 9867 \setnonasciicharscatcode\active
9905 % since we already invoked \utfeightchardefs at the top level
9906 % (below), do not re-invoke it, otherwise our check for duplicated
9907 % definitions gets triggered. Making non-ascii chars active is
9908 % sufficient.
9909 \fi 9868 \fi
9910 % 9869 %
9911 \else 9870 \else
@@ -9930,7 +9889,6 @@ directory should work if nowhere else does.}
9930 \fi 9889 \fi
9931} 9890}
9932 9891
9933% emacs-page
9934% A message to be logged when using a character that isn't available 9892% A message to be logged when using a character that isn't available
9935% the default font encoding (OT1). 9893% the default font encoding (OT1).
9936% 9894%
@@ -9939,12 +9897,6 @@ directory should work if nowhere else does.}
9939% Take account of \c (plain) vs. \, (Texinfo) difference. 9897% Take account of \c (plain) vs. \, (Texinfo) difference.
9940\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} 9898\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi}
9941 9899
9942% First, make active non-ASCII characters in order for them to be
9943% correctly categorized when TeX reads the replacement text of
9944% macros containing the character definitions.
9945\setnonasciicharscatcode\active
9946%
9947
9948\def\gdefchar#1#2{% 9900\def\gdefchar#1#2{%
9949\gdef#1{% 9901\gdef#1{%
9950 \ifpassthroughchars 9902 \ifpassthroughchars
@@ -9954,8 +9906,14 @@ directory should work if nowhere else does.}
9954 \fi 9906 \fi
9955}} 9907}}
9956 9908
9909\begingroup
9910
9911% Make non-ASCII characters active for defining the character definition
9912% macros.
9913\setnonasciicharscatcode\active
9914
9957% Latin1 (ISO-8859-1) character definitions. 9915% Latin1 (ISO-8859-1) character definitions.
9958\def\latonechardefs{% 9916\gdef\latonechardefs{%
9959 \gdefchar^^a0{\tie} 9917 \gdefchar^^a0{\tie}
9960 \gdefchar^^a1{\exclamdown} 9918 \gdefchar^^a1{\exclamdown}
9961 \gdefchar^^a2{{\tcfont \char162}} % cent 9919 \gdefchar^^a2{{\tcfont \char162}} % cent
@@ -10060,7 +10018,7 @@ directory should work if nowhere else does.}
10060} 10018}
10061 10019
10062% Latin9 (ISO-8859-15) encoding character definitions. 10020% Latin9 (ISO-8859-15) encoding character definitions.
10063\def\latninechardefs{% 10021\gdef\latninechardefs{%
10064 % Encoding is almost identical to Latin1. 10022 % Encoding is almost identical to Latin1.
10065 \latonechardefs 10023 \latonechardefs
10066 % 10024 %
@@ -10075,7 +10033,7 @@ directory should work if nowhere else does.}
10075} 10033}
10076 10034
10077% Latin2 (ISO-8859-2) character definitions. 10035% Latin2 (ISO-8859-2) character definitions.
10078\def\lattwochardefs{% 10036\gdef\lattwochardefs{%
10079 \gdefchar^^a0{\tie} 10037 \gdefchar^^a0{\tie}
10080 \gdefchar^^a1{\ogonek{A}} 10038 \gdefchar^^a1{\ogonek{A}}
10081 \gdefchar^^a2{\u{}} 10039 \gdefchar^^a2{\u{}}
@@ -10179,6 +10137,8 @@ directory should work if nowhere else does.}
10179 \gdefchar^^ff{\dotaccent{}} 10137 \gdefchar^^ff{\dotaccent{}}
10180} 10138}
10181 10139
10140\endgroup % active chars
10141
10182% UTF-8 character definitions. 10142% UTF-8 character definitions.
10183% 10143%
10184% This code to support UTF-8 is based on LaTeX's utf8.def, with some 10144% This code to support UTF-8 is based on LaTeX's utf8.def, with some
@@ -11231,14 +11191,14 @@ directory should work if nowhere else does.}
11231 \relax 11191 \relax
11232} 11192}
11233 11193
11234% Define all Unicode characters we know about. This makes UTF-8 the default 11194% Define all Unicode characters we know about
11235% input encoding and allows @U to work.
11236\iftxinativeunicodecapable 11195\iftxinativeunicodecapable
11237 \nativeunicodechardefsatu 11196 \nativeunicodechardefsatu
11238\else 11197\else
11239 \utfeightchardefs 11198 \utfeightchardefs
11240\fi 11199\fi
11241 11200
11201
11242\message{formatting,} 11202\message{formatting,}
11243 11203
11244\newdimen\defaultparindent \defaultparindent = 15pt 11204\newdimen\defaultparindent \defaultparindent = 15pt
@@ -11566,7 +11526,7 @@ directory should work if nowhere else does.}
11566 \fi 11526 \fi
11567} 11527}
11568 11528
11569\microtypeON 11529\microtypeOFF
11570 11530
11571\parseargdef\microtype{% 11531\parseargdef\microtype{%
11572 \def\txiarg{#1}% 11532 \def\txiarg{#1}%
@@ -11583,6 +11543,9 @@ directory should work if nowhere else does.}
11583 11543
11584\message{and turning on texinfo input format.} 11544\message{and turning on texinfo input format.}
11585 11545
11546% Make UTF-8 the default encoding.
11547\documentencodingzzz{UTF-8}
11548
11586\def^^L{\par} % remove \outer, so ^L can appear in an @comment 11549\def^^L{\par} % remove \outer, so ^L can appear in an @comment
11587\catcode`\^^K = 10 % treat vertical tab as whitespace 11550\catcode`\^^K = 10 % treat vertical tab as whitespace
11588 11551
@@ -11645,23 +11608,32 @@ directory should work if nowhere else does.}
11645% Used sometimes to turn off (effectively) the active characters even after 11608% Used sometimes to turn off (effectively) the active characters even after
11646% parsing them. 11609% parsing them.
11647\def\turnoffactive{% 11610\def\turnoffactive{%
11648 \normalturnoffactive 11611 \passthroughcharstrue
11612 \let-=\normaldash
11613 \let"=\normaldoublequote
11614 \let$=\normaldollar %$ font-lock fix
11615 \let+=\normalplus
11616 \let<=\normalless
11617 \let>=\normalgreater
11618 \let^=\normalcaret
11619 \let_=\normalunderscore
11620 \let|=\normalverticalbar
11621 \let~=\normaltilde
11649 \otherbackslash 11622 \otherbackslash
11623 \setregularquotes
11624 \unsepspaces
11650} 11625}
11651 11626
11652\catcode`\@=0 11627% If a .fmt file is being used, characters that might appear in a file
11628% name cannot be active until we have parsed the command line.
11629% So turn them off again, and have \loadconf turn them back on.
11630\catcode`+=\other \catcode`\_=\other
11631
11653 11632
11654% \backslashcurfont outputs one backslash character in current font, 11633% \backslashcurfont outputs one backslash character in current font,
11655% as in \char`\\. 11634% as in \char`\\.
11656\global\chardef\backslashcurfont=`\\ 11635\global\chardef\backslashcurfont=`\\
11657 11636
11658% \realbackslash is an actual character `\' with catcode other.
11659{\catcode`\\=\other @gdef@realbackslash{\}}
11660
11661% In Texinfo, backslash is an active character; it prints the backslash
11662% in fixed width font.
11663\catcode`\\=\active % @ for escape char from now on.
11664
11665% Print a typewriter backslash. For math mode, we can't simply use 11637% Print a typewriter backslash. For math mode, we can't simply use
11666% \backslashcurfont: the story here is that in math mode, the \char 11638% \backslashcurfont: the story here is that in math mode, the \char
11667% of \backslashcurfont ends up printing the roman \ from the math symbol 11639% of \backslashcurfont ends up printing the roman \ from the math symbol
@@ -11671,109 +11643,120 @@ directory should work if nowhere else does.}
11671% ignored family value; char position "5C). We can't use " for the 11643% ignored family value; char position "5C). We can't use " for the
11672% usual hex value because it has already been made active. 11644% usual hex value because it has already been made active.
11673 11645
11674@def@ttbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} 11646\def\ttbackslash{{\tt \ifmmode \mathchar29020 \else \backslashcurfont \fi}}
11675@let@backslashchar = @ttbackslash % @backslashchar{} is for user documents. 11647\let\backslashchar = \ttbackslash % \backslashchar{} is for user documents.
11676
11677% \otherbackslash defines an active \ to be a literal `\' character with
11678% catcode other.
11679@gdef@otherbackslash{@let\=@realbackslash}
11680
11681% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
11682% the literal character `\'.
11683%
11684{@catcode`- = @active
11685 @gdef@normalturnoffactive{%
11686 @passthroughcharstrue
11687 @let-=@normaldash
11688 @let"=@normaldoublequote
11689 @let$=@normaldollar %$ font-lock fix
11690 @let+=@normalplus
11691 @let<=@normalless
11692 @let>=@normalgreater
11693 @let^=@normalcaret
11694 @let_=@normalunderscore
11695 @let|=@normalverticalbar
11696 @let~=@normaltilde
11697 @let\=@ttbackslash
11698 @setregularquotes
11699 @unsepspaces
11700 }
11701}
11702 11648
11703% If a .fmt file is being used, characters that might appear in a file 11649% These are made active for url-breaking, so need
11704% name cannot be active until we have parsed the command line. 11650% active definitions as the normal characters.
11705% So turn them off again, and have @fixbackslash turn them back on. 11651\def\normaldot{.}
11706@catcode`+=@other @catcode`@_=@other 11652\def\normalquest{?}
11707 11653\def\normalslash{/}
11708% \enablebackslashhack - allow file to begin `\input texinfo' 11654
11709% 11655% \newlinesloadsconf - call \loadconf as soon as possible in the
11710% If a .fmt file is being used, we don't want the `\input texinfo' to show up. 11656% file, e.g. at the first newline.
11711% That is what \eatinput is for; after that, the `\' should revert to printing 11657%
11712% a backslash. 11658{\catcode`\^=7
11713% If the file did not have a `\input texinfo', then it is turned off after 11659\catcode`\^^M=13
11714% the first line; otherwise the first `\' in the file would cause an error. 11660\gdef\newlineloadsconf{%
11715% This is used on the very last line of this file, texinfo.tex. 11661 \catcode`\^^M=13 %
11716% We also use @c to call @fixbackslash, in case ends of lines are hidden. 11662 \newlineloadsconfzz%
11717{ 11663}
11718@catcode`@^=7 11664\gdef\newlineloadsconfzz#1^^M{%
11719@catcode`@^^M=13@gdef@enablebackslashhack{% 11665 \def\c{\loadconf\c}%
11720 @global@let\ = @eatinput% 11666 % Definition for the first newline read in the file
11721 @catcode`@^^M=13% 11667 \def ^^M{\loadconf}%
11722 @def@c{@fixbackslash@c}%
11723 % Definition for the newline at the end of this file.
11724 @def ^^M{@let^^M@secondlinenl}%
11725 % Definition for a newline in the main Texinfo file.
11726 @gdef @secondlinenl{@fixbackslash}%
11727 % In case the first line has a whole-line command on it 11668 % In case the first line has a whole-line command on it
11728 @let@originalparsearg@parsearg 11669 \let\originalparsearg\parsearg%
11729 @def@parsearg{@fixbackslash@originalparsearg} 11670 \def\parsearg{\loadconf\originalparsearg}%
11730}} 11671}}
11731 11672
11732{@catcode`@^=7 @catcode`@^^M=13%
11733@gdef@eatinput input texinfo#1^^M{@fixbackslash}}
11734 11673
11735% Emergency active definition of newline, in case an active newline token 11674% Emergency active definition of newline, in case an active newline token
11736% appears by mistake. 11675% appears by mistake.
11737{@catcode`@^=7 @catcode13=13% 11676{\catcode`\^=7 \catcode13=13%
11738@gdef@enableemergencynewline{% 11677\gdef\enableemergencynewline{%
11739 @gdef^^M{% 11678 \gdef^^M{%
11740 @par% 11679 \par%
11741 %<warning: active newline>@par% 11680 %<warning: active newline>\par%
11742}}} 11681}}}
11743 11682
11744 11683
11745@gdef@fixbackslash{% 11684% \loadconf gets called at the beginning of every Texinfo file.
11746 @ifx\@eatinput @let\ = @ttbackslash @fi 11685% If texinfo.cnf is present on the system, read it. Useful for site-wide
11747 @catcode13=5 % regular end of line 11686% @afourpaper, etc. Not opening texinfo.cnf directly in texinfo.tex
11748 @enableemergencynewline 11687% makes it possible to make a format file for Texinfo.
11749 @let@c=@comment 11688%
11750 @let@parsearg@originalparsearg 11689\gdef\loadconf{%
11690 \relax % Terminate the filename if running as "tex '&texinfo' FILE.texi".
11691 %
11692 % Turn off the definitions that trigger \loadconf
11693 \everyjobreset
11694 \catcode13=5 % regular end of line
11695 \enableemergencynewline
11696 \let\c=\comment
11697 \let\parsearg\originalparsearg
11698 %
11751 % Also turn back on active characters that might appear in the input 11699 % Also turn back on active characters that might appear in the input
11752 % file name, in case not using a pre-dumped format. 11700 % file name, in case not using a pre-dumped format.
11753 @catcode`+=@active 11701 \catcode`+=\active
11754 @catcode`@_=@active 11702 \catcode`\_=\active
11755 %
11756 % If texinfo.cnf is present on the system, read it.
11757 % Useful for site-wide @afourpaper, etc. This macro, @fixbackslash, gets
11758 % called at the beginning of every Texinfo file. Not opening texinfo.cnf
11759 % directly in this file, texinfo.tex, makes it possible to make a format
11760 % file for Texinfo.
11761 % 11703 %
11762 @openin 1 texinfo.cnf 11704 \openin 1 texinfo.cnf
11763 @ifeof 1 @else @input texinfo.cnf @fi 11705 \ifeof 1 \else \input texinfo.cnf \fi
11764 @closein 1 11706 \closein 1
11765} 11707}
11766 11708
11709% Redefine some control sequences to be controlled by the \ifdummies
11710% and \ifindexnofonts switches. Do this at the end so that the control
11711% sequences are all defined.
11712\definedummies
11713
11714
11715
11716
11717\catcode`\@=0
11718
11719% \realbackslash is an actual character `\' with catcode other.
11720{\catcode`\\=\other @gdef@realbackslash{\}}
11721
11722% In Texinfo, backslash is an active character; it prints the backslash
11723% in fixed width font.
11724\catcode`\\=\active % @ for escape char from now on.
11725
11726@let\ = @ttbackslash
11727
11728% If in a .fmt file, print the version number.
11729% \eatinput stops the `\input texinfo' from showing up.
11730% After that, `\' should revert to printing a backslash.
11731% Turn on active characters that we couldn't do earlier because
11732% they might have appeared in the input file name.
11733%
11734@everyjob{@message{[Texinfo version @texinfoversion]}%
11735 @global@let\ = @eatinput
11736 @catcode`+=@active @catcode`@_=@active}
11737
11738{@catcode`@^=7 @catcode`@^^M=13%
11739@gdef@eatinput input texinfo#1^^M{@loadconf}}
11740
11741@def@everyjobreset{@ifx\@eatinput @let\ = @ttbackslash @fi}
11742
11743% \otherbackslash defines an active \ to be a literal `\' character with
11744% catcode other.
11745@gdef@otherbackslash{@let\=@realbackslash}
11746
11747% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
11748% the literal character `\'.
11749%
11750{@catcode`- = @active
11751 @gdef@normalturnoffactive{%
11752 @turnoffactive
11753 @let\=@ttbackslash
11754 }
11755}
11767 11756
11768% Say @foo, not \foo, in error messages. 11757% Say @foo, not \foo, in error messages.
11769@escapechar = `@@ 11758@escapechar = `@@
11770 11759
11771% These (along with & and #) are made active for url-breaking, so need
11772% active definitions as the normal characters.
11773@def@normaldot{.}
11774@def@normalquest{?}
11775@def@normalslash{/}
11776
11777% These look ok in all fonts, so just make them not special. 11760% These look ok in all fonts, so just make them not special.
11778% @hashchar{} gets its own user-level command, because of #line. 11761% @hashchar{} gets its own user-level command, because of #line.
11779@catcode`@& = @other @def@normalamp{&} 11762@catcode`@& = @other @def@normalamp{&}
@@ -11788,15 +11771,11 @@ directory should work if nowhere else does.}
11788@c Do this last of all since we use ` in the previous @catcode assignments. 11771@c Do this last of all since we use ` in the previous @catcode assignments.
11789@catcode`@'=@active 11772@catcode`@'=@active
11790@catcode`@`=@active 11773@catcode`@`=@active
11791@setregularquotes
11792 11774
11793@c Local variables: 11775@c Local variables:
11794@c eval: (add-hook 'before-save-hook 'time-stamp nil t) 11776@c eval: (add-hook 'before-save-hook 'time-stamp nil t)
11795@c time-stamp-pattern: "texinfoversion{%Y-%02m-%02d.%02H}" 11777@c time-stamp-pattern: "texinfoversion{%Y-%02m-%02d.%02H}"
11796@c page-delimiter: "^\\\\message\\|emacs-page" 11778@c page-delimiter: "^\\\\message"
11797@c End: 11779@c End:
11798 11780
11799@c vim:sw=2: 11781@newlineloadsconf
11800
11801@enablebackslashhack
11802