[latex3-commits] [git/LaTeX3-latex3-latex3] master: Implement \seq_set_int_step:Nnnnn and use it to avoid __seq usage (4179a5d)
Bruno Le Floch
bruno at le-floch.fr
Tue Apr 3 05:19:26 CEST 2018
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/4179a5d78d95e2cca7171cd59e3e9cf8c43c0634
>---------------------------------------------------------------
commit 4179a5d78d95e2cca7171cd59e3e9cf8c43c0634
Author: Bruno Le Floch <bruno at le-floch.fr>
Date: Mon Apr 2 23:19:26 2018 -0400
Implement \seq_set_int_step:Nnnnn and use it to avoid __seq usage
>---------------------------------------------------------------
4179a5d78d95e2cca7171cd59e3e9cf8c43c0634
l3kernel/l3candidates.dtx | 51 +++++++++++++++
l3kernel/l3regex.dtx | 34 ++++------
l3kernel/l3sort.dtx | 106 +++++++++++++++++--------------
l3kernel/testfiles/m3expl001.luatex.tlg | 6 ++
l3kernel/testfiles/m3expl001.ptex.tlg | 6 ++
l3kernel/testfiles/m3expl001.tlg | 6 ++
l3kernel/testfiles/m3expl001.uptex.tlg | 6 ++
l3kernel/testfiles/m3expl001.xetex.tlg | 6 ++
l3kernel/testfiles/m3expl003.luatex.tlg | 6 ++
l3kernel/testfiles/m3expl003.ptex.tlg | 6 ++
l3kernel/testfiles/m3expl003.tlg | 6 ++
l3kernel/testfiles/m3expl003.uptex.tlg | 6 ++
l3kernel/testfiles/m3expl003.xetex.tlg | 6 ++
13 files changed, 182 insertions(+), 69 deletions(-)
diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index 93e583d..6637438 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -608,6 +608,23 @@
% items in the \meta{comma list}.
% \end{function}
%
+% \begin{function}[added = 2018-04-02]
+% {\seq_set_int_step:Nnnnn, \seq_gset_int_step:Nnnnn}
+% \begin{syntax}
+% \cs{seq_set_int_step:Nnnnn} \meta{seq~var} \Arg{initial value} \Arg{step} \Arg{final value} \Arg{inline code}
+% \end{syntax}
+% This function first evaluates the \meta{initial value}, \meta{step}
+% and \meta{final value}, all of which should be integer expressions.
+% For each \meta{value} from the \meta{initial value} to the
+% \meta{final value} in turn (using \meta{step} between each
+% \meta{value}), the result of \texttt{x}-expanding the \meta{inline
+% code} applied to that \meta{value} is stored as an item in the
+% \meta{seq~var}. The \meta{inline function} should consist of code
+% which will receive the \meta{item} as |#1| and expand to the desired
+% item. As such, the code in \meta{inline function} should be
+% expandable.
+% \end{function}
+%
% \section{Additions to \pkg{l3skip}}
%
% \begin{function}{\skip_split_finite_else_action:nnNN}
@@ -2400,6 +2417,40 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\seq_set_int_step:Nnnnn, \seq_gset_int_step:Nnnnn}
+% \begin{macro}[aux]{\@@_set_int_step:NNnnnn}
+% Set \cs{@@_item:n} then map it through the range of values using
+% \cs{int_step_function:nnnN}.
+% \begin{macrocode}
+\cs_new_protected:Npn \seq_set_int_step:Nnnnn
+ { \@@_set_int_step:NNnnnn \tl_set:Nx }
+\cs_new_protected:Npn \seq_gset_int_step:Nnnnn
+ { \@@_set_int_step:NNnnnn \tl_gset:Nx }
+\cs_new_protected:Npn \@@_set_int_step:NNnnnn #1#2#3#4#5#6
+ {
+ \@@_push_item_def:n { \exp_not:N \@@_item:n {#6} }
+ #1 #2 { \s_@@ \int_step_function:nnnN {#3} {#4} {#5} \@@_item:n }
+ \@@_pop_item_def:
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{syntax}
+% \cs{seq_set_int_step:Nnnnn} \meta{seq~var} \Arg{initial value} \Arg{step} \Arg{final value} \Arg{inline code}
+% \end{syntax}
+% This function first evaluates the \meta{initial value}, \meta{step}
+% and \meta{final value}, all of which should be integer expressions.
+% For each \meta{value} from the \meta{initial value} to the
+% \meta{final value} in turn (using \meta{step} between each
+% \meta{value}), the result of \texttt{x}-expanding the \meta{inline
+% code} applied to that \meta{value} is stored as an item in the
+% \meta{seq~var}. The \meta{inline function} should consist of code
+% which will receive the \meta{item} as |#1| and expand to the desired
+% item. As such, the code in \meta{inline function} should be
+% expandable.
+% \end{function}
+%
% \subsection{Additions to \pkg{l3skip}}
%
% \begin{macrocode}
diff --git a/l3kernel/l3regex.dtx b/l3kernel/l3regex.dtx
index 5191342..b410ad8 100644
--- a/l3kernel/l3regex.dtx
+++ b/l3kernel/l3regex.dtx
@@ -5964,23 +5964,17 @@
% into \cs{l_@@_internal_a_tl}. We detect unbalanced results using
% the two flags \texttt{__regex_begin} and \texttt{__regex_end}, raised
% whenever we see too many begin-group or end-group tokens in a
-% submatch. We disable \cs{__seq_item:n} to prevent two
-% \texttt{x}-expansions.
+% submatch.
% \begin{macrocode}
\cs_new_protected:Npn \@@_group_end_extract_seq:N #1
{
- \cs_set_eq:NN \__seq_item:n \scan_stop:
\flag_clear:n { @@_begin }
\flag_clear:n { @@_end }
- \tl_set:Nx \l_@@_internal_a_tl
- {
- \s__seq
- \int_step_function:nnnN
- { \l_@@_min_submatch_int }
- { 1 }
- { \l_@@_submatch_int - 1 }
- \@@_extract_seq_aux:n
- }
+ \seq_set_int_step:Nnnnn \l_@@_internal_seq
+ { \l_@@_min_submatch_int }
+ { 1 }
+ { \l_@@_submatch_int - 1 }
+ { \@@_extract_seq_aux:n {##1} }
\int_compare:nNnF
{ \flag_height:n { @@_begin } + \flag_height:n { @@_end } }
= 0
@@ -5990,11 +5984,10 @@
{ \flag_height:n { @@_end } }
{ \flag_height:n { @@_begin } }
}
- \use:x
- {
- \group_end:
- \tl_set:Nn \exp_not:N #1 { \l_@@_internal_a_tl }
- }
+ \seq_set_map:NNn \l_@@_internal_seq \l_@@_internal_seq {##1}
+ \exp_args:NNNo
+ \group_end:
+ \tl_set:Nn #1 { \l_@@_internal_seq }
}
% \end{macrocode}
% \end{macro}
@@ -6007,11 +6000,8 @@
% \begin{macrocode}
\cs_new:Npn \@@_extract_seq_aux:n #1
{
- \__seq_item:n
- {
- \exp_after:wN \@@_extract_seq_aux:ww
- \int_value:w \@@_submatch_balance:n {#1} ; #1;
- }
+ \exp_after:wN \@@_extract_seq_aux:ww
+ \int_value:w \@@_submatch_balance:n {#1} ; #1;
}
\cs_new:Npn \@@_extract_seq_aux:ww #1; #2;
{
diff --git a/l3kernel/l3sort.dtx b/l3kernel/l3sort.dtx
index 28e884d..fc3c8e5 100644
--- a/l3kernel/l3sort.dtx
+++ b/l3kernel/l3sort.dtx
@@ -107,6 +107,13 @@
%
% \subsection{Variables}
%
+% \begin{variable}{\g_@@_internal_seq}
+% Used for \cs{seq_sort:Nn} to get the resulting sequence out of a group.
+% \begin{macrocode}
+\seq_new:N \g_@@_internal_seq
+% \end{macrocode}
+% \end{variable}
+%
% \begin{variable}
% {
% \l_@@_length_int, \l_@@_min_int, \l_@@_top_int, \l_@@_max_int,
@@ -303,7 +310,7 @@
%
% \subsection{Protected user commands}
%
-% \begin{macro}{\@@_main:NNNnNn}
+% \begin{macro}{\@@_main:NNNnNn, \@@_main:NNNn}
% Sorting happens in three steps. First store items in \tn{toks}
% registers ranging from \cs{l_@@_min_int} to $\cs{l_@@_top_int}-1$,
% while checking that the list is not too
@@ -318,66 +325,73 @@
\cs_new_protected:Npn \@@_main:NNNnNn #1#2#3#4#5#6
{
\group_begin:
-%<package> \@@_disable_toksdef:
- \@@_compute_range:
- \int_set_eq:NN \l_@@_top_int \l_@@_min_int
- #2 #5
- {
- \if_int_compare:w \l_@@_top_int = \l_@@_max_int
- \@@_too_long_error:NNw #3 #5
- \fi:
- \tex_toks:D \l_@@_top_int {##1}
- \int_incr:N \l_@@_top_int
- }
- \int_set:Nn \l_@@_length_int
- { \l_@@_top_int - \l_@@_min_int }
- \cs_set:Npn \@@_compare:nn ##1 ##2 { #6 }
- \int_set:Nn \l_@@_block_int { 1 }
- \@@_level:
+ \@@_main:NNNn #2 #3 #5 {#6}
\use:x
{
\group_end:
#1 \exp_not:N #5 {#4}
}
+ \prg_break_point:
+ }
+\cs_new_protected:Npn \@@_main:NNNn #1#2#3#4
+ {
+%<package> \@@_disable_toksdef:
+ \@@_compute_range:
+ \int_set_eq:NN \l_@@_top_int \l_@@_min_int
+ #1 #3
+ {
+ \if_int_compare:w \l_@@_top_int = \l_@@_max_int
+ \@@_too_long_error:NNw #2 #3
+ \fi:
+ \tex_toks:D \l_@@_top_int {##1}
+ \int_incr:N \l_@@_top_int
+ }
+ \int_set:Nn \l_@@_length_int
+ { \l_@@_top_int - \l_@@_min_int }
+ \cs_set:Npn \@@_compare:nn ##1 ##2 {#4}
+ \int_set:Nn \l_@@_block_int { 1 }
+ \@@_level:
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\seq_sort:Nn, \seq_gsort:Nn}
-% The first argument to \cs{@@_main:NNNnNn} is the final
-% assignment function used, either \cs{tl_set:Nn} or
-% \cs{tl_gset:Nn} to control local versus global results.
-% The second argument is what mapping function is used when storing
-% items to \tn{toks} registers, and the third breaks away from the
-% loop. The fourth is used to build back the correct kind of list
-% from the contents of the \tn{toks} registers, including the leading
-% \cs{s__seq}. Fifth and sixth
-% arguments are the variable to sort, and the sorting method
-% as inline code.
+% \begin{macro}{\seq_sort:Nn, \seq_sort:cn, \seq_gsort:Nn, \seq_gsort:cn}
+% \begin{macro}{\@@_seq:NNn}
+% The first argument to \cs{@@_main:NNNn} is what mapping function is
+% used when storing items to \tn{toks} registers, and the second
+% breaks away from the loop. The third and fourth arguments are the
+% variable to sort, and the sorting method as inline code. At the
+% end, extract the \tn{toks} registers as items in
+% \cs{g_@@_internal_seq} and copy that to the target variable locally
+% or globally.
% \begin{macrocode}
-\cs_new_protected:Npn \seq_sort:Nn
- {
- \@@_main:NNNnNn \tl_set:Nn
- \seq_map_inline:Nn \seq_map_break:n
- { \s__seq \@@_toks:NN \exp_not:N \__seq_item:n }
- }
+\cs_new_protected:Npn \seq_sort:Nn { \@@_seq:NNn \seq_set_eq:NN }
\cs_generate_variant:Nn \seq_sort:Nn { c }
-\cs_new_protected:Npn \seq_gsort:Nn
+\cs_new_protected:Npn \seq_gsort:Nn { \@@_seq:NNn \seq_gset_eq:NN }
+\cs_generate_variant:Nn \seq_gsort:Nn { c }
+\cs_new_protected:Npn \@@_seq:NNn #1#2#3
{
- \@@_main:NNNnNn \tl_gset:Nn
- \seq_map_inline:Nn \seq_map_break:n
- { \s__seq \@@_toks:NN \exp_not:N \__seq_item:n }
+ \group_begin:
+ \@@_main:NNNn \seq_map_inline:Nn \seq_map_break:n #2 {#3}
+ \seq_gset_int_step:Nnnnn \g_@@_internal_seq
+ { \l_@@_min_int }
+ { 1 }
+ { \l_@@_top_int - 1 }
+ { \tex_the:D \tex_toks:D ##1 }
+ \group_end:
+ #1 #2 \g_@@_internal_seq
+ \seq_gclear:N \g_@@_internal_seq
+ \prg_break_point:
}
-\cs_generate_variant:Nn \seq_gsort:Nn { c }
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\tl_sort:Nn, \tl_sort:cn, \tl_gsort:Nn, \tl_gsort:cn}
% Again, use \cs{tl_set:Nn} or \cs{tl_gset:Nn} to control
% the scope of the assignment. Mapping through the token
% list is done with \cs{tl_map_inline:Nn}, and producing
-% the token list is very similar to sequences, removing
-% \cs{__seq_item:n}.
+% the token list is done by \cs{@@_toks:NN}.
% \begin{macrocode}
\cs_new_protected:Npn \tl_sort:Nn
{
@@ -447,10 +461,8 @@
% \begin{macro}{\@@_toks:NN, \@@_toks:NNw}
% Unpack the various \tn{toks} registers, from \cs{l_@@_min_int} to
% $\cs{l_@@_top_int}-1$. The functions |#1| and |#2| allow us to treat
-% the three data structures in a unified way:
+% |tl| and |clist| in a unified way:
% \begin{itemize}
-% \item for sequences, they are \cs{exp_not:N} \cs{__seq_item:n},
-% expanding to the \cs{__seq_item:n} separator, as expected;
% \item for token lists, they expand to nothing;
% \item for comma lists, they expand to \cs{exp_args:No}
% \cs{@@_clist_wrap_item:n}, taking care of unpacking the register
@@ -998,14 +1010,14 @@
% \begin{macro}{\@@_error:}
% Bailing out of the sorting code is a bit tricky. It may not be safe
% to use a delimited argument, so instead we redefine many
-% \pkg{l3sort} commands to be trivial, with \cs{@@_level:} getting rid
-% of the final assignment. This error recovery won't work in a group.
+% \pkg{l3sort} commands to be trivial, with \cs{@@_level:} jumping to
+% the break point. This error recovery won't work in a group.
% \begin{macrocode}
\cs_new_protected:Npn \@@_error:
{
\cs_set_eq:NN \@@_merge_blocks_aux: \prg_do_nothing:
\cs_set_eq:NN \@@_merge_blocks: \prg_do_nothing:
- \cs_set_protected:Npn \@@_level: \use:x ##1 { \group_end: }
+ \cs_set_protected:Npn \@@_level: { \group_end: \prg_break: }
}
% \end{macrocode}
% \end{macro}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 659282d..ccd0db0 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -4630,6 +4630,7 @@ Defining \__intarray_gset_overflow:NNnn on line ...
Defining \__kernel_intarray_item:Nn on line ...
Defining \intarray_item:Nn on line ...
Defining \__intarray_item:Nw on line ...
+Defining \g__sort_internal_seq on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4657,10 +4658,12 @@ Defining \__sort_shrink_range_loop: on line ...
Defining \__sort_compute_range: on line ...
Defining \__sort_redefine_compute_range: on line ...
Defining \__sort_main:NNNnNn on line ...
+Defining \__sort_main:NNNn on line ...
Defining \seq_sort:Nn on line ...
Defining \seq_sort:cn on line ...
Defining \seq_gsort:Nn on line ...
Defining \seq_gsort:cn on line ...
+Defining \__sort_seq:NNn on line ...
Defining \tl_sort:Nn on line ...
Defining \tl_sort:cn on line ...
Defining \tl_gsort:Nn on line ...
@@ -5790,6 +5793,9 @@ Defining \seq_rand_item:N on line ...
Defining \seq_rand_item:c on line ...
Defining \seq_const_from_clist:Nn on line ...
Defining \seq_const_from_clist:cn on line ...
+Defining \seq_set_int_step:Nnnnn on line ...
+Defining \seq_gset_int_step:Nnnnn on line ...
+Defining \__seq_set_int_step:NNnnnn on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \sys_if_rand_exist_p: on line ...
Defining \sys_if_rand_exist:T on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index c4009b2..3574f04 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -4567,6 +4567,7 @@ Defining \__intarray_gset_overflow:NNnn on line ...
Defining \__kernel_intarray_item:Nn on line ...
Defining \intarray_item:Nn on line ...
Defining \__intarray_item:Nw on line ...
+Defining \g__sort_internal_seq on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4594,10 +4595,12 @@ Defining \__sort_shrink_range_loop: on line ...
Defining \__sort_compute_range: on line ...
Defining \__sort_redefine_compute_range: on line ...
Defining \__sort_main:NNNnNn on line ...
+Defining \__sort_main:NNNn on line ...
Defining \seq_sort:Nn on line ...
Defining \seq_sort:cn on line ...
Defining \seq_gsort:Nn on line ...
Defining \seq_gsort:cn on line ...
+Defining \__sort_seq:NNn on line ...
Defining \tl_sort:Nn on line ...
Defining \tl_sort:cn on line ...
Defining \tl_gsort:Nn on line ...
@@ -5729,6 +5732,9 @@ Defining \seq_rand_item:N on line ...
Defining \seq_rand_item:c on line ...
Defining \seq_const_from_clist:Nn on line ...
Defining \seq_const_from_clist:cn on line ...
+Defining \seq_set_int_step:Nnnnn on line ...
+Defining \seq_gset_int_step:Nnnnn on line ...
+Defining \__seq_set_int_step:NNnnnn on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \sys_if_rand_exist_p: on line ...
Defining \sys_if_rand_exist:T on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index da6fc64..398b12a 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -4567,6 +4567,7 @@ Defining \__intarray_gset_overflow:NNnn on line ...
Defining \__kernel_intarray_item:Nn on line ...
Defining \intarray_item:Nn on line ...
Defining \__intarray_item:Nw on line ...
+Defining \g__sort_internal_seq on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4594,10 +4595,12 @@ Defining \__sort_shrink_range_loop: on line ...
Defining \__sort_compute_range: on line ...
Defining \__sort_redefine_compute_range: on line ...
Defining \__sort_main:NNNnNn on line ...
+Defining \__sort_main:NNNn on line ...
Defining \seq_sort:Nn on line ...
Defining \seq_sort:cn on line ...
Defining \seq_gsort:Nn on line ...
Defining \seq_gsort:cn on line ...
+Defining \__sort_seq:NNn on line ...
Defining \tl_sort:Nn on line ...
Defining \tl_sort:cn on line ...
Defining \tl_gsort:Nn on line ...
@@ -5729,6 +5732,9 @@ Defining \seq_rand_item:N on line ...
Defining \seq_rand_item:c on line ...
Defining \seq_const_from_clist:Nn on line ...
Defining \seq_const_from_clist:cn on line ...
+Defining \seq_set_int_step:Nnnnn on line ...
+Defining \seq_gset_int_step:Nnnnn on line ...
+Defining \__seq_set_int_step:NNnnnn on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \sys_if_rand_exist_p: on line ...
Defining \sys_if_rand_exist:T on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 0e07162..50341e5 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -4567,6 +4567,7 @@ Defining \__intarray_gset_overflow:NNnn on line ...
Defining \__kernel_intarray_item:Nn on line ...
Defining \intarray_item:Nn on line ...
Defining \__intarray_item:Nw on line ...
+Defining \g__sort_internal_seq on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4594,10 +4595,12 @@ Defining \__sort_shrink_range_loop: on line ...
Defining \__sort_compute_range: on line ...
Defining \__sort_redefine_compute_range: on line ...
Defining \__sort_main:NNNnNn on line ...
+Defining \__sort_main:NNNn on line ...
Defining \seq_sort:Nn on line ...
Defining \seq_sort:cn on line ...
Defining \seq_gsort:Nn on line ...
Defining \seq_gsort:cn on line ...
+Defining \__sort_seq:NNn on line ...
Defining \tl_sort:Nn on line ...
Defining \tl_sort:cn on line ...
Defining \tl_gsort:Nn on line ...
@@ -5727,6 +5730,9 @@ Defining \seq_rand_item:N on line ...
Defining \seq_rand_item:c on line ...
Defining \seq_const_from_clist:Nn on line ...
Defining \seq_const_from_clist:cn on line ...
+Defining \seq_set_int_step:Nnnnn on line ...
+Defining \seq_gset_int_step:Nnnnn on line ...
+Defining \__seq_set_int_step:NNnnnn on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \sys_if_rand_exist_p: on line ...
Defining \sys_if_rand_exist:T on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 6c61ac9..3e2a4fb 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -4607,6 +4607,7 @@ Defining \__intarray_gset_overflow:NNnn on line ...
Defining \__kernel_intarray_item:Nn on line ...
Defining \intarray_item:Nn on line ...
Defining \__intarray_item:Nw on line ...
+Defining \g__sort_internal_seq on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4634,10 +4635,12 @@ Defining \__sort_shrink_range_loop: on line ...
Defining \__sort_compute_range: on line ...
Defining \__sort_redefine_compute_range: on line ...
Defining \__sort_main:NNNnNn on line ...
+Defining \__sort_main:NNNn on line ...
Defining \seq_sort:Nn on line ...
Defining \seq_sort:cn on line ...
Defining \seq_gsort:Nn on line ...
Defining \seq_gsort:cn on line ...
+Defining \__sort_seq:NNn on line ...
Defining \tl_sort:Nn on line ...
Defining \tl_sort:cn on line ...
Defining \tl_gsort:Nn on line ...
@@ -5762,6 +5765,9 @@ Defining \seq_rand_item:N on line ...
Defining \seq_rand_item:c on line ...
Defining \seq_const_from_clist:Nn on line ...
Defining \seq_const_from_clist:cn on line ...
+Defining \seq_set_int_step:Nnnnn on line ...
+Defining \seq_gset_int_step:Nnnnn on line ...
+Defining \__seq_set_int_step:NNnnnn on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \sys_if_rand_exist_p: on line ...
Defining \sys_if_rand_exist:T on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 659282d..ccd0db0 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -4630,6 +4630,7 @@ Defining \__intarray_gset_overflow:NNnn on line ...
Defining \__kernel_intarray_item:Nn on line ...
Defining \intarray_item:Nn on line ...
Defining \__intarray_item:Nw on line ...
+Defining \g__sort_internal_seq on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4657,10 +4658,12 @@ Defining \__sort_shrink_range_loop: on line ...
Defining \__sort_compute_range: on line ...
Defining \__sort_redefine_compute_range: on line ...
Defining \__sort_main:NNNnNn on line ...
+Defining \__sort_main:NNNn on line ...
Defining \seq_sort:Nn on line ...
Defining \seq_sort:cn on line ...
Defining \seq_gsort:Nn on line ...
Defining \seq_gsort:cn on line ...
+Defining \__sort_seq:NNn on line ...
Defining \tl_sort:Nn on line ...
Defining \tl_sort:cn on line ...
Defining \tl_gsort:Nn on line ...
@@ -5790,6 +5793,9 @@ Defining \seq_rand_item:N on line ...
Defining \seq_rand_item:c on line ...
Defining \seq_const_from_clist:Nn on line ...
Defining \seq_const_from_clist:cn on line ...
+Defining \seq_set_int_step:Nnnnn on line ...
+Defining \seq_gset_int_step:Nnnnn on line ...
+Defining \__seq_set_int_step:NNnnnn on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \sys_if_rand_exist_p: on line ...
Defining \sys_if_rand_exist:T on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index c4009b2..3574f04 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -4567,6 +4567,7 @@ Defining \__intarray_gset_overflow:NNnn on line ...
Defining \__kernel_intarray_item:Nn on line ...
Defining \intarray_item:Nn on line ...
Defining \__intarray_item:Nw on line ...
+Defining \g__sort_internal_seq on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4594,10 +4595,12 @@ Defining \__sort_shrink_range_loop: on line ...
Defining \__sort_compute_range: on line ...
Defining \__sort_redefine_compute_range: on line ...
Defining \__sort_main:NNNnNn on line ...
+Defining \__sort_main:NNNn on line ...
Defining \seq_sort:Nn on line ...
Defining \seq_sort:cn on line ...
Defining \seq_gsort:Nn on line ...
Defining \seq_gsort:cn on line ...
+Defining \__sort_seq:NNn on line ...
Defining \tl_sort:Nn on line ...
Defining \tl_sort:cn on line ...
Defining \tl_gsort:Nn on line ...
@@ -5729,6 +5732,9 @@ Defining \seq_rand_item:N on line ...
Defining \seq_rand_item:c on line ...
Defining \seq_const_from_clist:Nn on line ...
Defining \seq_const_from_clist:cn on line ...
+Defining \seq_set_int_step:Nnnnn on line ...
+Defining \seq_gset_int_step:Nnnnn on line ...
+Defining \__seq_set_int_step:NNnnnn on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \sys_if_rand_exist_p: on line ...
Defining \sys_if_rand_exist:T on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index da6fc64..398b12a 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -4567,6 +4567,7 @@ Defining \__intarray_gset_overflow:NNnn on line ...
Defining \__kernel_intarray_item:Nn on line ...
Defining \intarray_item:Nn on line ...
Defining \__intarray_item:Nw on line ...
+Defining \g__sort_internal_seq on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4594,10 +4595,12 @@ Defining \__sort_shrink_range_loop: on line ...
Defining \__sort_compute_range: on line ...
Defining \__sort_redefine_compute_range: on line ...
Defining \__sort_main:NNNnNn on line ...
+Defining \__sort_main:NNNn on line ...
Defining \seq_sort:Nn on line ...
Defining \seq_sort:cn on line ...
Defining \seq_gsort:Nn on line ...
Defining \seq_gsort:cn on line ...
+Defining \__sort_seq:NNn on line ...
Defining \tl_sort:Nn on line ...
Defining \tl_sort:cn on line ...
Defining \tl_gsort:Nn on line ...
@@ -5729,6 +5732,9 @@ Defining \seq_rand_item:N on line ...
Defining \seq_rand_item:c on line ...
Defining \seq_const_from_clist:Nn on line ...
Defining \seq_const_from_clist:cn on line ...
+Defining \seq_set_int_step:Nnnnn on line ...
+Defining \seq_gset_int_step:Nnnnn on line ...
+Defining \__seq_set_int_step:NNnnnn on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \sys_if_rand_exist_p: on line ...
Defining \sys_if_rand_exist:T on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 0e07162..50341e5 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -4567,6 +4567,7 @@ Defining \__intarray_gset_overflow:NNnn on line ...
Defining \__kernel_intarray_item:Nn on line ...
Defining \intarray_item:Nn on line ...
Defining \__intarray_item:Nw on line ...
+Defining \g__sort_internal_seq on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4594,10 +4595,12 @@ Defining \__sort_shrink_range_loop: on line ...
Defining \__sort_compute_range: on line ...
Defining \__sort_redefine_compute_range: on line ...
Defining \__sort_main:NNNnNn on line ...
+Defining \__sort_main:NNNn on line ...
Defining \seq_sort:Nn on line ...
Defining \seq_sort:cn on line ...
Defining \seq_gsort:Nn on line ...
Defining \seq_gsort:cn on line ...
+Defining \__sort_seq:NNn on line ...
Defining \tl_sort:Nn on line ...
Defining \tl_sort:cn on line ...
Defining \tl_gsort:Nn on line ...
@@ -5727,6 +5730,9 @@ Defining \seq_rand_item:N on line ...
Defining \seq_rand_item:c on line ...
Defining \seq_const_from_clist:Nn on line ...
Defining \seq_const_from_clist:cn on line ...
+Defining \seq_set_int_step:Nnnnn on line ...
+Defining \seq_gset_int_step:Nnnnn on line ...
+Defining \__seq_set_int_step:NNnnnn on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \sys_if_rand_exist_p: on line ...
Defining \sys_if_rand_exist:T on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 6c61ac9..3e2a4fb 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -4607,6 +4607,7 @@ Defining \__intarray_gset_overflow:NNnn on line ...
Defining \__kernel_intarray_item:Nn on line ...
Defining \intarray_item:Nn on line ...
Defining \__intarray_item:Nw on line ...
+Defining \g__sort_internal_seq on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4634,10 +4635,12 @@ Defining \__sort_shrink_range_loop: on line ...
Defining \__sort_compute_range: on line ...
Defining \__sort_redefine_compute_range: on line ...
Defining \__sort_main:NNNnNn on line ...
+Defining \__sort_main:NNNn on line ...
Defining \seq_sort:Nn on line ...
Defining \seq_sort:cn on line ...
Defining \seq_gsort:Nn on line ...
Defining \seq_gsort:cn on line ...
+Defining \__sort_seq:NNn on line ...
Defining \tl_sort:Nn on line ...
Defining \tl_sort:cn on line ...
Defining \tl_gsort:Nn on line ...
@@ -5762,6 +5765,9 @@ Defining \seq_rand_item:N on line ...
Defining \seq_rand_item:c on line ...
Defining \seq_const_from_clist:Nn on line ...
Defining \seq_const_from_clist:cn on line ...
+Defining \seq_set_int_step:Nnnnn on line ...
+Defining \seq_gset_int_step:Nnnnn on line ...
+Defining \__seq_set_int_step:NNnnnn on line ...
Defining \skip_split_finite_else_action:nnNN on line ...
Defining \sys_if_rand_exist_p: on line ...
Defining \sys_if_rand_exist:T on line ...
More information about the latex3-commits
mailing list