[latex3-commits] [git/LaTeX3-latex3-latex3] cctab: \@@_chk_group_end:n must be before \@@_select:N (c2e1d86d6)
PhelypeOleinik
tex.phelype at gmail.com
Fri Jul 3 03:57:27 CEST 2020
Repository : https://github.com/latex3/latex3
On branch : cctab
Link : https://github.com/latex3/latex3/commit/c2e1d86d661033f7d54a98b0d38ead6743735610
>---------------------------------------------------------------
commit c2e1d86d661033f7d54a98b0d38ead6743735610
Author: PhelypeOleinik <tex.phelype at gmail.com>
Date: Thu Jul 2 22:57:27 2020 -0300
\@@_chk_group_end:n must be before \@@_select:N
And two scratch token lists are needed
>---------------------------------------------------------------
c2e1d86d661033f7d54a98b0d38ead6743735610
l3kernel/l3cctab.dtx | 45 +++++++++++++++++++++++----------------------
1 file changed, 23 insertions(+), 22 deletions(-)
diff --git a/l3kernel/l3cctab.dtx b/l3kernel/l3cctab.dtx
index e3f5e3373..7f51fd77b 100644
--- a/l3kernel/l3cctab.dtx
+++ b/l3kernel/l3cctab.dtx
@@ -213,13 +213,14 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\l_@@_internal_tl}
+% \begin{variable}{\l_@@_internal_a_tl,\l_@@_internal_b_tl}
% Scratch space. For instance, when popping
% \cs{g_@@_stack_seq}/\cs{g_@@_unused_seq}, consists of the
% catcodetable number (integer denotation) in \LuaTeX{}, or of an
% intarray variable (as a single token) in other engines.
% \begin{macrocode}
-\tl_new:N \l_@@_internal_tl
+\tl_new:N \l_@@_internal_a_tl
+\tl_new:N \l_@@_internal_b_tl
% \end{macrocode}
% \end{variable}
%
@@ -441,8 +442,8 @@
\cs_new_protected:Npn \@@_select:N #1
{
\tex_catcodetable:D #1
- \prop_get:NVNTF \g_@@_endlinechar_prop #1 \l_@@_internal_tl
- { \int_set:Nn \tex_endlinechar:D { \l_@@_internal_tl } }
+ \prop_get:NVNTF \g_@@_endlinechar_prop #1 \l_@@_internal_a_tl
+ { \int_set:Nn \tex_endlinechar:D { \l_@@_internal_a_tl } }
{ \int_set:Nn \tex_endlinechar:D { 13 } }
\cs_if_exist:cF { \@@_internal_cctab_name: }
{ \exp_args:Nc \@@_new:N { \@@_internal_cctab_name: } }
@@ -471,7 +472,7 @@
% For \cs{cctab_begin:N}/\cs{cctab_end:} we will need to allocate
% dynamic tables. This is done here by \cs{@@_begin_aux:}, which puts
% a table number (in \LuaTeX{}) or name (in other engines) into
-% \cs{l_@@_internal_tl}. In \LuaTeX{} this simply calls \cs{@@_new:N}
+% \cs{l_@@_internal_a_tl}. In \LuaTeX{} this simply calls \cs{@@_new:N}
% and uses the resulting catcodetable number; in other engines we need
% to give a name to the intarray variable and use that. In \LuaTeX{},
% to restore catcodes at \cs{cctab_end:} we cannot just set
@@ -485,7 +486,7 @@
\cs_new_protected:Npn \@@_begin_aux:
{
\@@_new:N \g_@@_next_cctab
- \tl_set:NV \l_@@_internal_tl \g_@@_next_cctab
+ \tl_set:NV \l_@@_internal_a_tl \g_@@_next_cctab
\cs_undefine:N \g_@@_next_cctab
}
}
@@ -495,7 +496,7 @@
\int_gincr:N \g_@@_allocate_int
\exp_args:Nc \@@_new:N
{ g_@@_ \int_use:N \g_@@_allocate_int _cctab }
- \exp_args:NNc \tl_set:Nn \l_@@_internal_tl
+ \exp_args:NNc \tl_set:Nn \l_@@_internal_a_tl
{ g_@@_ \int_use:N \g_@@_allocate_int _cctab }
}
}
@@ -505,23 +506,23 @@
%
% \begin{macro}{\cctab_begin:N, \cctab_begin:c}
% Check the \meta{cctab~var} exists, to avoid low-level errors. Get
-% in \cs{l_@@_internal_tl} the number/name of a dynamic table, either
+% in \cs{l_@@_internal_a_tl} the number/name of a dynamic table, either
% from \cs{g_@@_unused_seq} where we save tables that are not
% currently in use, or from \cs{@@_begin_aux:} if none are available.
% Then save the current catcodes into the table (pointed to by)
-% \cs{l_@@_internal_tl} and save that table number in a stack before
+% \cs{l_@@_internal_a_tl} and save that table number in a stack before
% selecting the desired catcodes.
% \begin{macrocode}
\cs_new_protected:Npn \cctab_begin:N #1
{
\@@_chk_if_valid:NT #1
{
- \seq_gpop:NNF \g_@@_unused_seq \l_@@_internal_tl
+ \seq_gpop:NNF \g_@@_unused_seq \l_@@_internal_a_tl
{ \@@_begin_aux: }
\exp_args:Nx \@@_chk_group_begin:n
- { \@@_nesting_number:N \l_@@_internal_tl }
- \seq_gpush:NV \g_@@_stack_seq \l_@@_internal_tl
- \exp_args:NV \@@_gset:n \l_@@_internal_tl
+ { \@@_nesting_number:N \l_@@_internal_a_tl }
+ \seq_gpush:NV \g_@@_stack_seq \l_@@_internal_a_tl
+ \exp_args:NV \@@_gset:n \l_@@_internal_a_tl
\@@_select:N #1
}
}
@@ -531,19 +532,19 @@
%
% \begin{macro}{\cctab_end:}
% Make sure a \cs{cctab_begin:N} was used some time earlier, get in
-% \cs{l_@@_internal_tl} the catcode table number/name in which the
+% \cs{l_@@_internal_a_tl} the catcode table number/name in which the
% prevailing catcodes were stored, then restore these catcodes. The
% dynamic table is now unused hence stored in \cs{g_@@_unused_seq} for
% recycling by later \cs{cctab_begin:N}.
% \begin{macrocode}
\cs_new_protected:Npn \cctab_end:
{
- \seq_gpop:NNTF \g_@@_stack_seq \l_@@_internal_tl
+ \seq_gpop:NNTF \g_@@_stack_seq \l_@@_internal_a_tl
{
- \seq_gpush:NV \g_@@_unused_seq \l_@@_internal_tl
- \@@_select:N \l_@@_internal_tl
+ \seq_gpush:NV \g_@@_unused_seq \l_@@_internal_a_tl
\exp_args:Nx \@@_chk_group_end:n
- { \@@_nesting_number:N \l_@@_internal_tl }
+ { \@@_nesting_number:N \l_@@_internal_a_tl }
+ \@@_select:N \l_@@_internal_a_tl
}
{ \__kernel_msg_error:nn { kernel } { cctab-extra-end } }
}
@@ -580,11 +581,11 @@
}
\cs_new_protected:Npn \@@_chk_group_end:n #1
{
- \seq_gpop:NN \g_@@_group_seq \l_@@_internal_tl
+ \seq_gpop:NN \g_@@_group_seq \l_@@_internal_b_tl
\int_compare:nNnTF
- { \tex_currentgrouplevel:D } = { \l_@@_internal_tl }
+ { \tex_currentgrouplevel:D } = { \l_@@_internal_b_tl }
{
- \cs_if_exist:cF { @@_group_ \l_@@_internal_tl _ #1 _chk: }
+ \cs_if_exist:cF { @@_group_ \l_@@_internal_b_tl _ #1 _chk: }
{
\__kernel_msg_error:nnx { kernel } { cctab-group-mismatch }
{ different~group }
@@ -594,7 +595,7 @@
\__kernel_msg_error:nnx { kernel } { cctab-group-mismatch }
{
\int_compare:nNnTF
- { \tex_currentgrouplevel:D } < { \l_@@_internal_tl }
+ { \tex_currentgrouplevel:D } < { \l_@@_internal_b_tl }
{ lower } { higher } ~group~level
}
}
More information about the latex3-commits
mailing list.