summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx')
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx195
1 files changed, 0 insertions, 195 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
deleted file mode 100644
index 8f60b563f75..00000000000
--- a/Master/texmf-dist/source/latex/l3kernel/l3alloc.dtx
+++ /dev/null
@@ -1,195 +0,0 @@
-% \iffalse meta-comment
-%
-%% File: l3alloc.dtx
-%
-% Copyright (C) 1990-2012,2014-2020 The LaTeX3 Project
-%
-% It may be distributed and/or modified under the conditions of the
-% LaTeX Project Public License (LPPL), either version 1.3c of this
-% license or (at your option) any later version. The latest version
-% of this license is in the file
-%
-% https://www.latex-project.org/lppl.txt
-%
-% This file is part of the "l3kernel bundle" (The Work in LPPL)
-% and all files in that bundle must be distributed together.
-%
-% -----------------------------------------------------------------------
-%
-% The development version of the bundle can be found at
-%
-% https://github.com/latex3/latex3
-%
-% for those people who are interested.
-%
-%<*driver>
-\documentclass[full,kernel]{l3doc}
-\begin{document}
- \DocInput{\jobname.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \title{^^A
-% The \pkg{l3alloc} package\\ Register allocation^^A
-% }
-%
-% \author{^^A
-% The \LaTeX3 Project\thanks
-% {^^A
-% E-mail:
-% \href{mailto:latex-team@latex-project.org}
-% {latex-team@latex-project.org}^^A
-% }^^A
-% }
-%
-% \date{Released 2020-07-17}
-%
-% \maketitle
-%
-% \begin{documentation}
-%
-% This module provides the basic mechanism for allocating \TeX{}'s
-% registers when operating in format mode. When loaded as a package on
-% an existing format, the mechanisms from the latter are used.
-%
-% The approach used here is informed by the mechanisms used in plain
-% \TeX{}/\LaTeX{} but noting that newer engines provide us much more
-% flexibility. In addition to this, we do not need allocators for all
-% register types: for example \texttt{toks} are not used by \LaTeX3 whilst
-% reads/writes are handled using a pool and thus do not need a classical
-% allocator.
-%
-% In classical (non-\LuaTeX{}) engines, there are various restriction on
-% registers, for example |\box255| is hard-coded as the output box and
-% inserts have to be allocated below this (not in the extended pool). Rather
-% than worry about this, allocations for the registers affected (\TeX{}
-% |box|, |count|, |dimen| and |skip| types) are simply made only from the
-% extended pool. (There is a performance impact in engines other than
-% \LuaTeX{} but the free use of registers in \pkg{expl3} means that code
-% cannot be sure of obtaining a low-numbered register in any case.)
-%
-% \end{documentation}
-%
-% \begin{implementation}
-%
-% \section{\pkg{l3alloc} implementation}
-%
-% \begin{macrocode}
-%<*initex>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<@@=alloc>
-% \end{macrocode}
-%
-% \begin{variable}
-% {
-% \g_@@_int_int ,
-% \g_@@_dim_int ,
-% \g_@@_muskip_int ,
-% \g_@@_int_int ,
-% \g_@@_box_int
-% }
-% The core register tracking is done using the same raw \TeX{} count
-% registers as reserved by plain \TeX{} and \LaTeXe{}, as there may be the
-% odd piece of generic code that needs to work by number. However, as not
-% all of our variables work the same way, some of the older registers are
-% simply ignored. For the same reason, there is no special status for the
-% low-numbers registers other than counts. To avoid having to worry about
-% inserts and reflecting the register availability in \eTeX{}, the lower
-% register space is unused here (though is available for hard-coded
-% use).
-% \begin{macrocode}
-\tex_countdef:D \g_@@_int_int = 10 ~
-\tex_countdef:D \g_@@_dim_int = 11 ~
-\tex_countdef:D \g_@@_skip_int = 12 ~
-\tex_countdef:D \g_@@_muskip_int = 13 ~
-\tex_countdef:D \g_@@_box_int = 14 ~
-\g_@@_int_int = 255 ~
-\g_@@_dim_int = 255 ~
-\g_@@_skip_int = 255 ~
-\g_@@_muskip_int = 0 ~
-\g_@@_box_int = 255 ~
-% \end{macrocode}
-% \end{variable}
-%
-% \begin{variable}
-% {
-% \g_@@_attribute_int ,
-% \g_@@_bytecode_int ,
-% \g_@@_chunkname_int ,
-% \g_@@_whatsit_int
-% }
-% To allow \LuaTeX{} to load |ltluatex.lua| for generic \Lua{} support, a
-% small number of counts have to be correctly named at the \TeX{} level.
-% At present there are no \pkg{expl3} allocators for these concepts so the
-% names and numbers of the tracking variables may change.
-% \begin{macrocode}
-\tex_ifdefined:D \tex_luatexversion:D
- \tex_global:D \tex_countdef:D \g_@@_attribute_int = 21 ~
- \tex_global:D \tex_countdef:D \g_@@_bytecode_int = 22 ~
- \tex_global:D \tex_countdef:D \g_@@_chunkname_int = 23 ~
- \tex_global:D \tex_countdef:D \g_@@_whatsit_int = 24 ~
-\tex_fi:D
-% \end{macrocode}
-% \end{variable}
-%
-% \begin{macro}
-% {\box_new:N, \dim_new:N, \int_new:N, \muskip_new:N \skip_new:N}
-% Each of the public allocators is a wrapper around the one internal
-% function needed here.
-% \begin{macrocode}
-\cs_new_protected:Npx \box_new:N #1
- {
- \exp_not:N \@@_reg:nNnN { box }
- \cs_if_exist:NTF \tex_luatexversion:D
- { \tex_chardef:D }
- {
- \cs_if_exist:NTF \tex_omathchardef:D
- { \tex_omathchardef:D }
- { \tex_mathchardef:D }
- }
- \c_max_register_int
- #1
- }
-\cs_new_protected:Npn \dim_new:N #1
- { \@@_reg:nNnN { dim } \tex_dimendef:D \c_max_register_int #1 }
-\cs_new_protected:Npn \int_new:N #1
- { \@@_reg:nNnN { int } \tex_countdef:D \c_max_register_int #1 }
-\cs_new_protected:Npn \muskip_new:N #1
- { \@@_reg:nNnN { muskip } \tex_muskipdef:D \c_max_register_int #1 }
-\cs_new_protected:Npn \skip_new:N #1
- { \@@_reg:nNnN { skip } \tex_skipdef:D \c_max_register_int #1 }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@@_reg:nNNN}
-% The allocator itself is modelled somewhat on \LaTeXe{}'s \tn{e@alloc},
-% though there is no need to set \tn{allocationnumber}.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_reg:nNnN #1#2#3#4
- {
- \__kernel_chk_if_free_cs:N #4
- \int_compare:nNnTF { \int_use:c { g_@@_ #1 _int } } < {#3}
- {
- \int_gincr:c { g_@@_ #1 _int }
- \tex_global:D #2 #4 \int_use:c { g_@@_ #1 _int }
- \iow_log:x
- {
- \token_to_str:N #4 ~=~ #1 ~register~
- \int_use:c { g_@@_ #1 _int }
- }
- }
- { \__kernel_msg_fatal:nnx { kernel } { out-of-registers } {#1} }
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</initex>
-% \end{macrocode}
-%
-% \end{implementation}
-%
-% \PrintIndex