diff options
Diffstat (limited to 'macros/latex/base/ltplain.dtx')
-rw-r--r-- | macros/latex/base/ltplain.dtx | 222 |
1 files changed, 167 insertions, 55 deletions
diff --git a/macros/latex/base/ltplain.dtx b/macros/latex/base/ltplain.dtx index 7949b836d4..e0fbcecf1b 100644 --- a/macros/latex/base/ltplain.dtx +++ b/macros/latex/base/ltplain.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2020 -% The LaTeX3 Project and any individual authors listed elsewhere +% Copyright (C) 1993-2021 +% The LaTeX Project and any individual authors listed elsewhere % in this file. % % This file is part of the LaTeX base system. @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltplain.dtx} - [2020/08/20 v2.3d LaTeX Kernel (Plain TeX)] + [2021/04/18 v2.3f LaTeX Kernel (Plain TeX)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltplain.dtx} @@ -695,7 +695,7 @@ % {Define \cs{alloc@} in terms of \cs{e@alloc}} % Since |\e@alloc| was added in 2015, |\@alloc| has not been used, % but was left as some legacy code calls it. However the original -% defnition gives spurious errors once the ``classic'' registers +% definition gives spurious errors once the ``classic'' registers % run out, so it is now defined to call |\e@alloc| internally. % \begin{macrocode} %</2ekernel> @@ -754,8 +754,8 @@ \chardef\e@insert@top\e@alloc@top \fi % \end{macrocode} -% If the classic registers are exausted, take an insert from the free float list -% and use |\extrafloats| to add a new float to that list. +% If the classic registers are exhausted, take an insert from the free +% float list and use |\extrafloats| to add a new float to that list. % \changes{v2.2c}{2016/07/29}{fix for tlb-newinsert-001} % \begin{macrocode} \def\newinsert#1{% @@ -823,6 +823,28 @@ % \end{macrocode} % \end{macro} % +% +% +% \begin{macro}{\@inputcheck} +% \begin{macro}{\@unused} +% Allocate read stream for testing and output stream that is never open an +% thus writes to the terminal. +% \changes{v1.0l}{1994/11/07} +% {move here from ltdefns, remove duplicate \cs{@mainaux}} +% \changes{v2.3e}{2021/03/26}{Allocate \cs{@inputcheck} and +% \cs{@unused} early so that they are before expl3 allocates +% more streams (gh/538)} +% \begin{macrocode} +\newread\@inputcheck +\newwrite\@unused +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% +% +% % \begin{macro}{\maxdimen} % \begin{macro}{\hideskip} % Here are some examples of allocation. @@ -898,6 +920,37 @@ % \end{macrocode} % \tracingcommands=0 % \tracingrestores=0 +% \end{macrocode} +% +% \begin{macro}{\tracingstacklevels} +% For Lua\TeX, the \cs{tracingstacklevels} functionality was +% implemented as a callback, so here we just define the count register +% to hold the value of the parameter. +% \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2021/06/01}{\tracingstacklevels}% +%<latexrelease> {tracingstacklevels}% +\ifx\directlua\@undefined + % \tracingstacklevels=0 % added in 2021 +\else + \newcount\tracingstacklevels + % Code for \tracingstacklevels defined in ltfinal.dtx +\fi +%<latexrelease>\EndIncludeInRelease +%<latexrelease> +%<latexrelease>\IncludeInRelease{0000/00/00}{\tracingstacklevels}% +%<latexrelease> {tracingstacklevels}% +%<latexrelease>\ifx\directlua\@undefined +%<latexrelease>\else +%<latexrelease> \let\tracingstacklevels\@undefined +%<latexrelease>\fi +%<latexrelease>\EndIncludeInRelease +%</2ekernel|latexrelease> +%<*2ekernel> +% \end{macrocode} +% \end{macro} +% % \language=0 % \begin{macrocode} \uchyph=1 @@ -1481,43 +1534,69 @@ % \changes{v1.1x}{2002/02/24}{Macro added} % \changes{v2.0b}{2012/01/20}{etex tracing if available} % \changes{v2.0d}{2015/02/20}{Spell commands correctly :-)} -% \changes{v2.0g}{2015/03/10}{Reorganise to be less noisy} +% \changes{v2.0g}{2015/03/10}{Reorganize to be less noisy} +% \changes{v2.3f}{2021/04/18}{Drop pre-$\varepsilon$-\TeX{} support} +% \changes{v2.3f}{2021/04/18} +% {Add \cs{tracingstacklevels} and \cs{tracinglostchars}=3} % \begin{macrocode} -%<latexrelease>\IncludeInRelease{2015/01/01}{\loggingall}{etex tracing}% +%<latexrelease>\IncludeInRelease{2021/06/01}{\loggingall} +%<latexrelease> {\tracingstacklevels and \tracinglostchars=3}% %<*2ekernel|latexrelease> -\ifx\tracingscantokens\@undefined -\gdef\loggingall{% +\edef\loggingall{% \tracingstats\tw@ \tracingpages\@ne - \tracinglostchars\@ne - \tracingparagraphs\@ne - \errorcontextlines\maxdimen - \loggingoutput - \tracingmacros\tw@ - \tracingcommands\tw@ - \tracingrestores\@ne - }% -\else -\gdef\loggingall{% - \tracingstats\tw@ - \tracingpages\@ne - \tracinglostchars\tw@ + \tracinglostchars\thr@@ \tracingparagraphs\@ne \tracinggroups\@ne \tracingifs\@ne \tracingscantokens\@ne \tracingnesting\@ne \errorcontextlines\maxdimen - \loggingoutput + \ifdefined\tracingstacklevels \tracingstacklevels\maxdimen \fi + \noexpand \loggingoutput \tracingmacros\tw@ \tracingcommands\thr@@ \tracingrestores\@ne \tracingassigns\@ne }% -\fi -\gdef\tracingall{\showoverfull\loggingall} +\def\tracingall{\showoverfull\loggingall} %</2ekernel|latexrelease> %<latexrelease>\EndIncludeInRelease +%<latexrelease> +%<latexrelease>\IncludeInRelease{2015/01/01}{\loggingall}{etex tracing}% +%<latexrelease>\ifx\tracingscantokens\@undefined +%<latexrelease>\gdef\loggingall{% +%<latexrelease> \tracingstats\tw@ +%<latexrelease> \tracingpages\@ne +%<latexrelease> \tracinglostchars\@ne +%<latexrelease> \tracingparagraphs\@ne +%<latexrelease> \errorcontextlines\maxdimen +%<latexrelease> \loggingoutput +%<latexrelease> \tracingmacros\tw@ +%<latexrelease> \tracingcommands\tw@ +%<latexrelease> \tracingrestores\@ne +%<latexrelease> }% +%<latexrelease>\else +%<latexrelease>\gdef\loggingall{% +%<latexrelease> \tracingstats\tw@ +%<latexrelease> \tracingpages\@ne +%<latexrelease> \tracinglostchars\tw@ +%<latexrelease> \tracingparagraphs\@ne +%<latexrelease> \tracinggroups\@ne +%<latexrelease> \tracingifs\@ne +%<latexrelease> \tracingscantokens\@ne +%<latexrelease> \tracingnesting\@ne +%<latexrelease> \errorcontextlines\maxdimen +%<latexrelease> \loggingoutput +%<latexrelease> \tracingmacros\tw@ +%<latexrelease> \tracingcommands\thr@@ +%<latexrelease> \tracingrestores\@ne +%<latexrelease> \tracingassigns\@ne +%<latexrelease>}% +%<latexrelease>\fi +%<latexrelease>\gdef\tracingall{\showoverfull\loggingall} +%<latexrelease>\EndIncludeInRelease +%<latexrelease> %<latexrelease>\IncludeInRelease{0000/00/00}{\loggingall}{etex tracing}% %<latexrelease>\gdef\loggingall{\tracingcommands\tw@\tracingstats\tw@ %<latexrelease> \tracingpages\@ne\tracinglostchars\@ne @@ -1532,29 +1611,14 @@ % % \begin{macro}{\tracingnone} % \changes{v2.0g}{2015/03/10}{macro added} -% \begin{macro}{\hideoutput} -% \changes{v2.0g}{2015/03/10}{macro added} +% \changes{v2.3f}{2021/04/18}{Drop pre-$\varepsilon$-\TeX{} support} +% \changes{v2.3f}{2021/04/18} +% {Add \cs{tracingstacklevels} and \cs{tracinglostchars}=3} % \begin{macrocode} %<latexrelease>\IncludeInRelease{2015/01/01}{\tracingnone}% %<latexrelease> {turn off etex tracing}% %<*2ekernel|latexrelease> -\ifx\tracingscantokens\@undefined -\def\tracingnone{% - \tracingonline\z@ - \tracingcommands\z@ - \showboxdepth\m@ne - \showboxbreadth\m@ne - \tracingoutput\z@ - \errorcontextlines\m@ne - \tracingrestores\z@ - \tracingparagraphs\z@ - \tracingmacros\z@ - \tracinglostchars\@ne - \tracingpages\z@ - \tracingstats\z@ -}% -\else -\def\tracingnone{% +\edef\tracingnone{% \tracingassigns\z@ \tracingrestores\z@ \tracingonline\z@ @@ -1563,6 +1627,7 @@ \showboxbreadth\m@ne \tracingoutput\z@ \errorcontextlines\m@ne + \ifdefined\tracingstacklevels \tracingstacklevels\z@ \fi \tracingnesting\z@ \tracingscantokens\z@ \tracingifs\z@ @@ -1573,30 +1638,77 @@ \tracingpages\z@ \tracingstats\z@ }% -\fi +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease> +%<latexrelease>\IncludeInRelease{2015/01/01}{\tracingnone}% +%<latexrelease> {turn off etex tracing}% +%<latexrelease>\ifx\tracingscantokens\@undefined +%<latexrelease>\def\tracingnone{% +%<latexrelease> \tracingonline\z@ +%<latexrelease> \tracingcommands\z@ +%<latexrelease> \showboxdepth\m@ne +%<latexrelease> \showboxbreadth\m@ne +%<latexrelease> \tracingoutput\z@ +%<latexrelease> \errorcontextlines\m@ne +%<latexrelease> \tracingrestores\z@ +%<latexrelease> \tracingparagraphs\z@ +%<latexrelease> \tracingmacros\z@ +%<latexrelease> \tracinglostchars\@ne +%<latexrelease> \tracingpages\z@ +%<latexrelease> \tracingstats\z@ +%<latexrelease>}% +%<latexrelease>\else +%<latexrelease>\def\tracingnone{% +%<latexrelease> \tracingassigns\z@ +%<latexrelease> \tracingrestores\z@ +%<latexrelease> \tracingonline\z@ +%<latexrelease> \tracingcommands\z@ +%<latexrelease> \showboxdepth\m@ne +%<latexrelease> \showboxbreadth\m@ne +%<latexrelease> \tracingoutput\z@ +%<latexrelease> \errorcontextlines\m@ne +%<latexrelease> \tracingnesting\z@ +%<latexrelease> \tracingscantokens\z@ +%<latexrelease> \tracingifs\z@ +%<latexrelease> \tracinggroups\z@ +%<latexrelease> \tracingparagraphs\z@ +%<latexrelease> \tracingmacros\z@ +%<latexrelease> \tracinglostchars\@ne +%<latexrelease> \tracingpages\z@ +%<latexrelease> \tracingstats\z@ +%<latexrelease>}% +%<latexrelease>\fi +%<latexrelease>\EndIncludeInRelease +%<latexrelease> +%<latexrelease>\IncludeInRelease{0000/00/00}{\tracingnone}% +%<latexrelease> {turn off etex tracing}% +%<latexrelease>\let\tracingnone\@undefined +%<latexrelease>\EndIncludeInRelease % \end{macrocode} +% \end{macro} % +% \begin{macro}{\hideoutput} +% \changes{v2.0g}{2015/03/10}{macro added} % \begin{macrocode} +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2015/01/01}{\hideoutput}% +%<latexrelease> {hide output from tracing}% \def\hideoutput{% \tracingoutput\z@ \showboxbreadth\m@ne \showboxdepth\m@ne \tracingonline\m@ne }% -% \end{macrocode} -% -% \begin{macrocode} -%</2ekernel|latexrelease> %<latexrelease>\EndIncludeInRelease -%<latexrelease>\IncludeInRelease{0000/00/00}{\tracingnone}% -%<latexrelease> {turn off etex tracing}% -%<latexrelease>\let\tracingnone\@undefined +%<latexrelease> +%<latexrelease>\IncludeInRelease{0000/00/00}{\hideoutput}% +%<latexrelease> {hide output from tracing}% %<latexrelease>\let\hideoutput\@undefined %<latexrelease>\EndIncludeInRelease +%</2ekernel|latexrelease> % \end{macrocode} % \end{macro} -% \end{macro} -% % % \LaTeX\ change: |\showhyphens| Defined later. % |