summaryrefslogtreecommitdiff
path: root/macros/latex/base/ltplain.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/base/ltplain.dtx')
-rw-r--r--macros/latex/base/ltplain.dtx222
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.
%