[latex3-commits] [git/LaTeX3-latex3-latex2e] develop: define \alloc@ in terms of \e at alloc (5b1d702c)

David Carlisle d.p.carlisle at gmail.com
Thu Aug 20 13:43:17 CEST 2020


Repository : https://github.com/latex3/latex2e
On branch  : develop
Link       : https://github.com/latex3/latex2e/commit/5b1d702c966f9a0eee6967ca0016d13b7a5d5d77

>---------------------------------------------------------------

commit 5b1d702c966f9a0eee6967ca0016d13b7a5d5d77
Author: David Carlisle <d.p.carlisle at gmail.com>
Date:   Thu Aug 20 12:43:17 2020 +0100

    define \alloc@ in terms of \e at alloc


>---------------------------------------------------------------

5b1d702c966f9a0eee6967ca0016d13b7a5d5d77
 base/changes.txt |  6 ++++++
 base/ltplain.dtx | 32 ++++++++++++++++++++++++++------
 2 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/base/changes.txt b/base/changes.txt
index 324b76a2..69027d9e 100644
--- a/base/changes.txt
+++ b/base/changes.txt
@@ -5,6 +5,12 @@ It is provided for convenience only.  It therefore makes no claims to
 completeness or accuracy and it contains some references to files that
 are not part of the distribution.
 ================================================================================
+
+2020-08-20  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* ltplain.dtx: define legacy command \alloc@ in terms of
+	\e at alloc to avoid errors once e-tex registers are needed.
+
 2020-07-28 Ulrike Fischer <Ulrike.Fischer at latex-project.org>
 
 	* ltsect.dtx:
diff --git a/base/ltplain.dtx b/base/ltplain.dtx
index 06602780..b1127eda 100644
--- a/base/ltplain.dtx
+++ b/base/ltplain.dtx
@@ -32,7 +32,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltplain.dtx}
-             [2017/04/10 v2.3c LaTeX Kernel (Plain TeX)]
+             [2020/08/20 v2.3d LaTeX Kernel (Plain TeX)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltplain.dtx}
@@ -691,12 +691,32 @@
 % \end{macro}
 %
 % \begin{macro}{\alloc@}
+% \changes{v2.3d}{2020/08/20}
+%         {Define \cs{alloc@} in terms of \cs{e at alloc}}
+% Since |\e at 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
+% run out, so it is now defined to call |\e at alloc| internally.
 %    \begin{macrocode}
-\def\alloc@#1#2#3#4#5{\global\advance\count1#1\@ne
-  \ch at ck#1#4#2%
-  \allocationnumber\count1#1%
-  \global#3#5\allocationnumber
-  \wlog{\string#5=\string#2\the\allocationnumber}}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}
+%<latexrelease>                 {\@alloc}{emulate @alloc}%
+\def\alloc@#1#2#3#4{\e at alloc#2#3{\count1#1}#4\float at count}
+%</2ekernel|latexrelease>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\@alloc}{emulate @alloc}%
+%<latexrelease>\def\alloc@#1#2#3#4#5{\global\advance\count1#1\@ne
+%<latexrelease>  \ch at ck#1#4#2%
+%<latexrelease>  \allocationnumber\count1#1%
+%<latexrelease>  \global#3#5\allocationnumber
+%<latexrelease>  \wlog{\string#5=\string#2\the\allocationnumber}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
 %    \end{macrocode}
 % \end{macro}
 %





More information about the latex3-commits mailing list.