[latex3-commits] [git/LaTeX3-latex3-latex3] master: Reorganize sort code a little (5c0044d)
Bruno Le Floch
bruno at le-floch.fr
Fri Apr 6 19:33:58 CEST 2018
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/5c0044d03a3a9467774b2e83eb6819d4351eb92d
>---------------------------------------------------------------
commit 5c0044d03a3a9467774b2e83eb6819d4351eb92d
Author: Bruno Le Floch <bruno at le-floch.fr>
Date: Fri Apr 6 13:33:58 2018 -0400
Reorganize sort code a little
>---------------------------------------------------------------
5c0044d03a3a9467774b2e83eb6819d4351eb92d
l3kernel/l3sort.dtx | 208 ++++++++++++-------------------
l3kernel/testfiles/m3expl001.luatex.tlg | 21 ++--
l3kernel/testfiles/m3expl001.ptex.tlg | 21 ++--
l3kernel/testfiles/m3expl001.tlg | 21 ++--
l3kernel/testfiles/m3expl001.uptex.tlg | 21 ++--
l3kernel/testfiles/m3expl001.xetex.tlg | 21 ++--
l3kernel/testfiles/m3expl003.luatex.tlg | 21 ++--
l3kernel/testfiles/m3expl003.ptex.tlg | 21 ++--
l3kernel/testfiles/m3expl003.tlg | 21 ++--
l3kernel/testfiles/m3expl003.uptex.tlg | 21 ++--
l3kernel/testfiles/m3expl003.xetex.tlg | 21 ++--
11 files changed, 170 insertions(+), 248 deletions(-)
diff --git a/l3kernel/l3sort.dtx b/l3kernel/l3sort.dtx
index 647d4ad..02ccc1a 100644
--- a/l3kernel/l3sort.dtx
+++ b/l3kernel/l3sort.dtx
@@ -107,10 +107,17 @@
%
% \subsection{Variables}
%
-% \begin{variable}{\g_@@_internal_seq}
-% Used for \cs{seq_sort:Nn} to get the resulting sequence out of a group.
+% \begin{variable}{\g_@@_internal_seq, \g_@@_internal_tl}
+% Sorting happens in a group; the result is stored in those global
+% variables before being copied outside the group to the proper
+% places. For seq and tl this is more efficient than using \cs{use:x}
+% (or some \cs{exp_args:NNNx}) to smuggle the definition outside the
+% group since \TeX{} does not need to re-read tokens. For clist we
+% don't gain anything since the result is converted from seq to clist
+% anyways.
% \begin{macrocode}
\seq_new:N \g_@@_internal_seq
+\tl_new:N \g_@@_internal_tl
% \end{macrocode}
% \end{variable}
%
@@ -310,29 +317,17 @@
%
% \subsection{Protected user commands}
%
-% \begin{macro}{\@@_main:NNNnNn, \@@_main:NNNn}
+% \begin{macro}{\@@_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
-% long. If we reach the maximum length, all further
-% items are entirely ignored after raising an error.
-% Secondly, sort the array of \tn{toks} registers,
-% using the user-defined sorting function, |#6|.
-% Finally, unpack the \tn{toks} registers (now sorted)
-% into a variable of the right type, by \texttt{x}-expanding
-% the code in |#4|, specific to each type of list.
+% while checking that the list is not too long. If we reach the
+% maximum length, that's an error; exit the group. Secondly, sort the
+% array of \tn{toks} registers, using the user-defined sorting
+% function: \cs{@@_level:} calls \cs{@@_compare:nn} as needed.
+% Finally, unpack the \tn{toks} registers (now sorted) into the target
+% tl, or into \cs{g_@@_internal_seq} for seq and clist. This is done
+% by \cs{@@_seq:NNNNn} and \cs{@@_tl:NNn}.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_main:NNNnNn #1#2#3#4#5#6
- {
- \group_begin:
- \@@_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:
@@ -355,135 +350,92 @@
% \end{macrocode}
% \end{macro}
%
-% \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{macro}{\tl_sort:Nn, \tl_sort:cn, \tl_gsort:Nn, \tl_gsort:cn}
+% \begin{macro}{\@@_tl:NNn}
+% \begin{macro}[EXP]{\@@_tl_toks:w}
+% Call the main sorting function then unpack \tn{toks} registers
+% outside the group into the target token list. The unpacking is done
+% by \cs{@@_tl_toks:w}; registers are numbered from \cs{l_@@_min_int}
+% to $\cs{l_@@_top_int}-1$. For expansion behaviour we need a couple
+% of primitives. The \cs{tl_gclear:N} reduces memory usage. The
+% \cs{prg_break_point:} is used by \cs{@@_main:NNNn} when the list is
+% too long.
% \begin{macrocode}
-\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 { \@@_seq:NNn \seq_gset_eq:NN }
-\cs_generate_variant:Nn \seq_gsort:Nn { c }
-\cs_new_protected:Npn \@@_seq:NNn #1#2#3
+\cs_new_protected:Npn \tl_sort:Nn { \@@_tl:NNn \tl_set_eq:NN }
+\cs_generate_variant:Nn \tl_sort:Nn { c }
+\cs_new_protected:Npn \tl_gsort:Nn { \@@_tl:NNn \tl_gset_eq:NN }
+\cs_generate_variant:Nn \tl_gsort:Nn { c }
+\cs_new_protected:Npn \@@_tl:NNn #1#2#3
{
\group_begin:
- \@@_main:NNNn \seq_map_inline:Nn \seq_map_break:n #2 {#3}
- \seq_gset_from_inline_x:Nnn \g_@@_internal_seq
- {
- \int_step_function:nnnN
- { \l_@@_min_int } { 1 } { \l_@@_top_int - 1 }
- }
- { \tex_the:D \tex_toks:D ##1 }
+ \@@_main:NNNn \tl_map_inline:Nn \tl_map_break:n #2 {#3}
+ \tl_gset:Nx \g_@@_internal_tl { \@@_tl_toks:w \l_@@_min_int ; }
\group_end:
- #1 #2 \g_@@_internal_seq
- \seq_gclear:N \g_@@_internal_seq
+ #1 #2 \g_@@_internal_tl
+ \tl_gclear:N \g_@@_internal_tl
\prg_break_point:
}
-% \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 done by \cs{@@_toks:NN}.
-% \begin{macrocode}
-\cs_new_protected:Npn \tl_sort:Nn
+\cs_new:Npn \@@_tl_toks:w #1 ;
{
- \@@_main:NNNnNn \tl_set:Nn
- \tl_map_inline:Nn \tl_map_break:n
- { \@@_toks:NN \prg_do_nothing: \prg_do_nothing: }
- }
-\cs_generate_variant:Nn \tl_sort:Nn { c }
-\cs_new_protected:Npn \tl_gsort:Nn
- {
- \@@_main:NNNnNn \tl_gset:Nn
- \tl_map_inline:Nn \tl_map_break:n
- { \@@_toks:NN \prg_do_nothing: \prg_do_nothing: }
+ \if_int_compare:w #1 < \l_@@_top_int
+ { \tex_the:D \tex_toks:D #1 }
+ \exp_after:wN \@@_tl_toks:w
+ \int_value:w \int_eval:n { #1 + 1 } \exp_after:wN ;
+ \fi:
}
-\cs_generate_variant:Nn \tl_gsort:Nn { c }
% \end{macrocode}
% \end{macro}
+% \end{macro}
+% \end{macro}
%
-% \begin{macro}
-% {\clist_sort:Nn, \clist_sort:cn, \clist_gsort:Nn, \clist_gsort:cn}
-% \begin{macro}{\@@_clist:NNn}
-% \begin{macro}[EXP]{\@@_clist_wrap_item:n, \@@_clist_wrap_item:w}
-% The case of empty comma-lists is a little bit special as usual,
-% and filtered out: there is nothing to sort in that case.
-% Otherwise, the input is done with \cs{clist_map_inline:Nn},
-% and the output requires some more elaborate processing than
-% for sequences and token lists. The first comma must be removed.
-% An item must be wrapped in an extra set of braces if it contains
-% either the space or the comma characters. This is taken care of
-% by \cs{@@_clist_wrap_item:n}, but \cs{@@_toks:NN} would simply
-% feed \cs{tex_the:D} \cs{tex_toks:D} \meta{number} as an
-% argument to that function; hence we need to expand this argument
-% once to unpack the register.
+% \begin{macro}{\seq_sort:Nn, \seq_sort:cn, \seq_gsort:Nn, \seq_gsort:cn}
+% \begin{macro}{\clist_sort:Nn, \clist_sort:cn, \clist_gsort:Nn, \clist_gsort:cn}
+% \begin{macro}{\@@_seq:NNNNn}
+% Use the same general framework for seq and clist. Apply the general
+% sorting code, then unpack \tn{toks} into \cs{g_@@_internal_seq}.
+% Outside the group copy or convert (for clist) the data to the target
+% variable. The \cs{seq_gclear:N} reduces memory usage. The
+% \cs{prg_break_point:} is used by \cs{@@_main:NNNn} when the list is
+% too long.
% \begin{macrocode}
+\cs_new_protected:Npn \seq_sort:Nn
+ { \@@_seq:NNNNn \seq_map_inline:Nn \seq_map_break:n \seq_set_eq:NN }
+\cs_generate_variant:Nn \seq_sort:Nn { c }
+\cs_new_protected:Npn \seq_gsort:Nn
+ { \@@_seq:NNNNn \seq_map_inline:Nn \seq_map_break:n \seq_gset_eq:NN }
+\cs_generate_variant:Nn \seq_gsort:Nn { c }
\cs_new_protected:Npn \clist_sort:Nn
- { \@@_clist:NNn \tl_set:Nn }
+ {
+ \@@_seq:NNNNn \clist_map_inline:Nn \clist_map_break:n
+ \clist_set_from_seq:NN
+ }
+\cs_generate_variant:Nn \clist_sort:Nn { c }
\cs_new_protected:Npn \clist_gsort:Nn
- { \@@_clist:NNn \tl_gset:Nn }
-\cs_generate_variant:Nn \clist_sort:Nn { c }
-\cs_generate_variant:Nn \clist_gsort:Nn { c }
-\cs_new_protected:Npn \@@_clist:NNn #1#2#3
{
- \clist_if_empty:NF #2
- {
- \@@_main:NNNnNn #1
- \clist_map_inline:Nn \clist_map_break:n
- {
- \exp_last_unbraced:Nf \use_none:n
- { \@@_toks:NN \exp_args:No \@@_clist_wrap_item:n }
- }
- #2 {#3}
- }
+ \@@_seq:NNNNn \clist_map_inline:Nn \clist_map_break:n
+ \clist_gset_from_seq:NN
}
-\cs_new:Npn \@@_clist_wrap_item:n #1
+\cs_generate_variant:Nn \clist_gsort:Nn { c }
+\cs_new_protected:Npn \@@_seq:NNNNn #1#2#3#4#5
{
- ,
- \tl_if_empty:oTF { \@@_clist_wrap_item:w #1 ~ , #1 ~ }
- { \exp_not:n {#1} }
- { \exp_not:n { {#1} } }
+ \group_begin:
+ \@@_main:NNNn #1 #2 #4 {#5}
+ \seq_gset_from_inline_x:Nnn \g_@@_internal_seq
+ {
+ \int_step_function:nnnN
+ { \l_@@_min_int } { 1 } { \l_@@_top_int - 1 }
+ }
+ { \tex_the:D \tex_toks:D ##1 }
+ \group_end:
+ #3 #4 \g_@@_internal_seq
+ \seq_gclear:N \g_@@_internal_seq
+ \prg_break_point:
}
-\cs_new:Npn \@@_clist_wrap_item:w #1 , #2 ~ { }
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
-% \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
-% |tl| and |clist| in a unified way:
-% \begin{itemize}
-% \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
-% before putting a comma and possibly braces.
-% \end{itemize}
-% For expansion behaviour we need a couple of primitives.
-% \begin{macrocode}
-\cs_new:Npn \@@_toks:NN #1#2
- { \@@_toks:NNw #1 #2 \l_@@_min_int ; }
-\cs_new:Npn \@@_toks:NNw #1#2#3 ;
- {
- \if_int_compare:w #3 < \l_@@_top_int
- #1 #2 { \tex_the:D \tex_toks:D #3 }
- \exp_after:wN \@@_toks:NNw \exp_after:wN #1 \exp_after:wN #2
- \int_value:w \int_eval:n { #3 + 1 } \exp_after:wN ;
- \fi:
- }
-% \end{macrocode}
-% \end{macro}
-%
% \subsection{Merge sort}
%
% \begin{macro}{\@@_level:}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 7bae6a0..933a847 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -4193,6 +4193,7 @@ 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 \g__sort_internal_tl on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4219,26 +4220,22 @@ Defining \__sort_shrink_range: on line ...
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 ...
Defining \tl_gsort:cn on line ...
+Defining \__sort_tl:NNn on line ...
+Defining \__sort_tl_toks:w 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 \clist_sort:Nn on line ...
-Defining \clist_gsort:Nn on line ...
Defining \clist_sort:cn on line ...
+Defining \clist_gsort:Nn on line ...
Defining \clist_gsort:cn on line ...
-Defining \__sort_clist:NNn on line ...
-Defining \__sort_clist_wrap_item:n on line ...
-Defining \__sort_clist_wrap_item:w on line ...
-Defining \__sort_toks:NN on line ...
-Defining \__sort_toks:NNw on line ...
+Defining \__sort_seq:NNNNn on line ...
Defining \__sort_level: on line ...
Defining \__sort_merge_blocks: on line ...
Defining \__sort_copy_block: on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index f3a1074..873d834 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -4447,6 +4447,7 @@ 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 \g__sort_internal_tl on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4473,26 +4474,22 @@ Defining \__sort_shrink_range: on line ...
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 ...
Defining \tl_gsort:cn on line ...
+Defining \__sort_tl:NNn on line ...
+Defining \__sort_tl_toks:w 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 \clist_sort:Nn on line ...
-Defining \clist_gsort:Nn on line ...
Defining \clist_sort:cn on line ...
+Defining \clist_gsort:Nn on line ...
Defining \clist_gsort:cn on line ...
-Defining \__sort_clist:NNn on line ...
-Defining \__sort_clist_wrap_item:n on line ...
-Defining \__sort_clist_wrap_item:w on line ...
-Defining \__sort_toks:NN on line ...
-Defining \__sort_toks:NNw on line ...
+Defining \__sort_seq:NNNNn on line ...
Defining \__sort_level: on line ...
Defining \__sort_merge_blocks: on line ...
Defining \__sort_copy_block: on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 47adda5..40019d1 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -4447,6 +4447,7 @@ 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 \g__sort_internal_tl on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4473,26 +4474,22 @@ Defining \__sort_shrink_range: on line ...
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 ...
Defining \tl_gsort:cn on line ...
+Defining \__sort_tl:NNn on line ...
+Defining \__sort_tl_toks:w 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 \clist_sort:Nn on line ...
-Defining \clist_gsort:Nn on line ...
Defining \clist_sort:cn on line ...
+Defining \clist_gsort:Nn on line ...
Defining \clist_gsort:cn on line ...
-Defining \__sort_clist:NNn on line ...
-Defining \__sort_clist_wrap_item:n on line ...
-Defining \__sort_clist_wrap_item:w on line ...
-Defining \__sort_toks:NN on line ...
-Defining \__sort_toks:NNw on line ...
+Defining \__sort_seq:NNNNn on line ...
Defining \__sort_level: on line ...
Defining \__sort_merge_blocks: on line ...
Defining \__sort_copy_block: on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index fa690f6..25cbf25 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -4447,6 +4447,7 @@ 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 \g__sort_internal_tl on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4473,26 +4474,22 @@ Defining \__sort_shrink_range: on line ...
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 ...
Defining \tl_gsort:cn on line ...
+Defining \__sort_tl:NNn on line ...
+Defining \__sort_tl_toks:w 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 \clist_sort:Nn on line ...
-Defining \clist_gsort:Nn on line ...
Defining \clist_sort:cn on line ...
+Defining \clist_gsort:Nn on line ...
Defining \clist_gsort:cn on line ...
-Defining \__sort_clist:NNn on line ...
-Defining \__sort_clist_wrap_item:n on line ...
-Defining \__sort_clist_wrap_item:w on line ...
-Defining \__sort_toks:NN on line ...
-Defining \__sort_toks:NNw on line ...
+Defining \__sort_seq:NNNNn on line ...
Defining \__sort_level: on line ...
Defining \__sort_merge_blocks: on line ...
Defining \__sort_copy_block: on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 1477c64..d4c96bb 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -4166,6 +4166,7 @@ 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 \g__sort_internal_tl on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4192,26 +4193,22 @@ Defining \__sort_shrink_range: on line ...
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 ...
Defining \tl_gsort:cn on line ...
+Defining \__sort_tl:NNn on line ...
+Defining \__sort_tl_toks:w 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 \clist_sort:Nn on line ...
-Defining \clist_gsort:Nn on line ...
Defining \clist_sort:cn on line ...
+Defining \clist_gsort:Nn on line ...
Defining \clist_gsort:cn on line ...
-Defining \__sort_clist:NNn on line ...
-Defining \__sort_clist_wrap_item:n on line ...
-Defining \__sort_clist_wrap_item:w on line ...
-Defining \__sort_toks:NN on line ...
-Defining \__sort_toks:NNw on line ...
+Defining \__sort_seq:NNNNn on line ...
Defining \__sort_level: on line ...
Defining \__sort_merge_blocks: on line ...
Defining \__sort_copy_block: on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 7bae6a0..933a847 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -4193,6 +4193,7 @@ 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 \g__sort_internal_tl on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4219,26 +4220,22 @@ Defining \__sort_shrink_range: on line ...
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 ...
Defining \tl_gsort:cn on line ...
+Defining \__sort_tl:NNn on line ...
+Defining \__sort_tl_toks:w 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 \clist_sort:Nn on line ...
-Defining \clist_gsort:Nn on line ...
Defining \clist_sort:cn on line ...
+Defining \clist_gsort:Nn on line ...
Defining \clist_gsort:cn on line ...
-Defining \__sort_clist:NNn on line ...
-Defining \__sort_clist_wrap_item:n on line ...
-Defining \__sort_clist_wrap_item:w on line ...
-Defining \__sort_toks:NN on line ...
-Defining \__sort_toks:NNw on line ...
+Defining \__sort_seq:NNNNn on line ...
Defining \__sort_level: on line ...
Defining \__sort_merge_blocks: on line ...
Defining \__sort_copy_block: on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index f3a1074..873d834 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -4447,6 +4447,7 @@ 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 \g__sort_internal_tl on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4473,26 +4474,22 @@ Defining \__sort_shrink_range: on line ...
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 ...
Defining \tl_gsort:cn on line ...
+Defining \__sort_tl:NNn on line ...
+Defining \__sort_tl_toks:w 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 \clist_sort:Nn on line ...
-Defining \clist_gsort:Nn on line ...
Defining \clist_sort:cn on line ...
+Defining \clist_gsort:Nn on line ...
Defining \clist_gsort:cn on line ...
-Defining \__sort_clist:NNn on line ...
-Defining \__sort_clist_wrap_item:n on line ...
-Defining \__sort_clist_wrap_item:w on line ...
-Defining \__sort_toks:NN on line ...
-Defining \__sort_toks:NNw on line ...
+Defining \__sort_seq:NNNNn on line ...
Defining \__sort_level: on line ...
Defining \__sort_merge_blocks: on line ...
Defining \__sort_copy_block: on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 47adda5..40019d1 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -4447,6 +4447,7 @@ 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 \g__sort_internal_tl on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4473,26 +4474,22 @@ Defining \__sort_shrink_range: on line ...
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 ...
Defining \tl_gsort:cn on line ...
+Defining \__sort_tl:NNn on line ...
+Defining \__sort_tl_toks:w 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 \clist_sort:Nn on line ...
-Defining \clist_gsort:Nn on line ...
Defining \clist_sort:cn on line ...
+Defining \clist_gsort:Nn on line ...
Defining \clist_gsort:cn on line ...
-Defining \__sort_clist:NNn on line ...
-Defining \__sort_clist_wrap_item:n on line ...
-Defining \__sort_clist_wrap_item:w on line ...
-Defining \__sort_toks:NN on line ...
-Defining \__sort_toks:NNw on line ...
+Defining \__sort_seq:NNNNn on line ...
Defining \__sort_level: on line ...
Defining \__sort_merge_blocks: on line ...
Defining \__sort_copy_block: on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index fa690f6..25cbf25 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -4447,6 +4447,7 @@ 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 \g__sort_internal_tl on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4473,26 +4474,22 @@ Defining \__sort_shrink_range: on line ...
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 ...
Defining \tl_gsort:cn on line ...
+Defining \__sort_tl:NNn on line ...
+Defining \__sort_tl_toks:w 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 \clist_sort:Nn on line ...
-Defining \clist_gsort:Nn on line ...
Defining \clist_sort:cn on line ...
+Defining \clist_gsort:Nn on line ...
Defining \clist_gsort:cn on line ...
-Defining \__sort_clist:NNn on line ...
-Defining \__sort_clist_wrap_item:n on line ...
-Defining \__sort_clist_wrap_item:w on line ...
-Defining \__sort_toks:NN on line ...
-Defining \__sort_toks:NNw on line ...
+Defining \__sort_seq:NNNNn on line ...
Defining \__sort_level: on line ...
Defining \__sort_merge_blocks: on line ...
Defining \__sort_copy_block: on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 1477c64..d4c96bb 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -4166,6 +4166,7 @@ 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 \g__sort_internal_tl on line ...
Defining \l__sort_length_int on line ...
\l__sort_length_int=\count...
Defining \l__sort_min_int on line ...
@@ -4192,26 +4193,22 @@ Defining \__sort_shrink_range: on line ...
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 ...
Defining \tl_gsort:cn on line ...
+Defining \__sort_tl:NNn on line ...
+Defining \__sort_tl_toks:w 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 \clist_sort:Nn on line ...
-Defining \clist_gsort:Nn on line ...
Defining \clist_sort:cn on line ...
+Defining \clist_gsort:Nn on line ...
Defining \clist_gsort:cn on line ...
-Defining \__sort_clist:NNn on line ...
-Defining \__sort_clist_wrap_item:n on line ...
-Defining \__sort_clist_wrap_item:w on line ...
-Defining \__sort_toks:NN on line ...
-Defining \__sort_toks:NNw on line ...
+Defining \__sort_seq:NNNNn on line ...
Defining \__sort_level: on line ...
Defining \__sort_merge_blocks: on line ...
Defining \__sort_copy_block: on line ...
More information about the latex3-commits
mailing list