[latex3-commits] [l3svn] branch master updated: Move l3sort to kernel

noreply at latex-project.org noreply at latex-project.org
Mon Feb 6 22:08:03 CET 2017


This is an automated email from the git hooks/post-receive script.

joseph pushed a commit to branch master
in repository l3svn.

The following commit(s) were added to refs/heads/master by this push:
       new  376cbf0   Move l3sort to kernel
376cbf0 is described below

commit 376cbf0294ea8d2b3eeb519d40214c5adbb4c711
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Mon Feb 6 20:41:59 2017 +0000

    Move l3sort to kernel
    
    This leaves the documentation 'self-contained': a second commit
    will deal with that and some residual issues (e.g. adding some
    variants).
---
 l3experimental/l3sort/build.lua                    |   18 -----
 l3experimental/l3sort/l3sort.ins                   |   56 ---------------
 .../l3str/testfiles/m3tl-analysis001.ptex.tlg      |    2 +-
 .../l3str/testfiles/m3tl-analysis001.tlg           |    2 +-
 .../l3str/testfiles/m3tl-analysis001.uptex.tlg     |    2 +-
 .../l3str/testfiles/m3tl-analysis001.xetex.tlg     |    2 +-
 l3kernel/l3.ins                                    |    6 +-
 l3kernel/l3format.ins                              |    5 +-
 l3kernel/l3oldmodules.dtx                          |    3 +-
 {l3experimental/l3sort => l3kernel}/l3sort.dtx     |   40 ++---------
 l3kernel/source3body.tex                           |    3 +-
 l3kernel/testfiles/m3expl001.luatex.tlg            |   74 +++++++++++++++++++-
 l3kernel/testfiles/m3expl001.ptex.tlg              |   72 +++++++++++++++++++
 l3kernel/testfiles/m3expl001.tlg                   |   74 +++++++++++++++++++-
 l3kernel/testfiles/m3expl001.uptex.tlg             |   72 +++++++++++++++++++
 l3kernel/testfiles/m3expl001.xetex.tlg             |   72 +++++++++++++++++++
 l3kernel/testfiles/m3expl002.luatex.tlg            |   13 +++-
 l3kernel/testfiles/m3expl002.ptex.tlg              |   11 +++
 l3kernel/testfiles/m3expl002.tlg                   |   13 +++-
 l3kernel/testfiles/m3expl002.uptex.tlg             |   11 +++
 l3kernel/testfiles/m3expl002.xetex.tlg             |   11 +++
 l3kernel/testfiles/m3expl003.luatex.tlg            |   74 +++++++++++++++++++-
 l3kernel/testfiles/m3expl003.ptex.tlg              |   72 +++++++++++++++++++
 l3kernel/testfiles/m3expl003.tlg                   |   74 +++++++++++++++++++-
 l3kernel/testfiles/m3expl003.uptex.tlg             |   72 +++++++++++++++++++
 l3kernel/testfiles/m3expl003.xetex.tlg             |   72 +++++++++++++++++++
 l3kernel/testfiles/m3expl004.luatex.tlg            |   13 +++-
 l3kernel/testfiles/m3expl004.ptex.tlg              |   11 +++
 l3kernel/testfiles/m3expl004.tlg                   |   13 +++-
 l3kernel/testfiles/m3expl004.uptex.tlg             |   11 +++
 l3kernel/testfiles/m3expl004.xetex.tlg             |   11 +++
 l3kernel/testfiles/m3expl006.luatex.tlg            |   13 +++-
 l3kernel/testfiles/m3expl006.ptex.tlg              |   11 +++
 l3kernel/testfiles/m3expl006.tlg                   |   13 +++-
 l3kernel/testfiles/m3expl006.uptex.tlg             |   11 +++
 l3kernel/testfiles/m3expl006.xetex.tlg             |   11 +++
 l3kernel/testfiles/m3int001.luatex.tlg             |   16 ++---
 l3kernel/testfiles/m3int001.ptex.tlg               |   16 ++---
 l3kernel/testfiles/m3int001.tlg                    |   16 ++---
 l3kernel/testfiles/m3int001.uptex.tlg              |   16 ++---
 l3kernel/testfiles/m3int001.xetex.tlg              |   16 ++---
 l3kernel/testfiles/m3int002.luatex.tlg             |   46 ++++++------
 l3kernel/testfiles/m3int002.ptex.tlg               |   46 ++++++------
 l3kernel/testfiles/m3int002.tlg                    |   46 ++++++------
 l3kernel/testfiles/m3int002.uptex.tlg              |   46 ++++++------
 l3kernel/testfiles/m3int002.xetex.tlg              |   46 ++++++------
 .../testfiles/m3sort001.luatex.tlg                 |    0
 .../l3sort => l3kernel}/testfiles/m3sort001.lvt    |    4 +-
 .../l3sort => l3kernel}/testfiles/m3sort001.tlg    |    0
 .../l3sort => l3kernel}/testfiles/m3sort002.lvt    |    4 +-
 .../l3sort => l3kernel}/testfiles/m3sort002.tlg    |    0
 51 files changed, 1076 insertions(+), 286 deletions(-)

diff --git a/l3experimental/l3sort/build.lua b/l3experimental/l3sort/build.lua
deleted file mode 100644
index 0656a75..0000000
--- a/l3experimental/l3sort/build.lua
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env texlua
-
--- Build script for LaTeX3 "l3sort" files
-
--- Identify the bundle and module: the module may be empty in the case where
--- there is no subdivision
-bundle = "l3experimental"
-module = "l3sort"
-
--- Location of main directory: use Unix-style path separators
-maindir = "../.."
-
--- Load the common build code: this is the one place that a path needs to be
--- hard-coded
--- As the build system is 'self-contained' there is no module set up here: just
---load the file in a similar way to a TeX \input
-dofile (maindir .. "/build-config.lua")
-dofile (maindir .. "/l3build/l3build.lua")
diff --git a/l3experimental/l3sort/l3sort.ins b/l3experimental/l3sort/l3sort.ins
deleted file mode 100644
index b616579..0000000
--- a/l3experimental/l3sort/l3sort.ins
+++ /dev/null
@@ -1,56 +0,0 @@
-\iffalse meta-comment
-
-File l3sort.ins Copyright (C) 2012,2106 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
-
-   http://www.latex-project.org/lppl.txt
-
-This file is part of the "l3experimental 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.
-
------------------------------------------------------------------------
-
-Any modification of this file should ensure that the copyright and
-license information is placed in the derived files.
-
-\fi
-
-\input l3docstrip.tex
-\askforoverwritefalse
-
-\preamble
-
-Copyright (C) 2012-2016 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:
-
-   http://www.latex-project.org/lppl.txt
-
-This file is part of the "l3experimental bundle" (The Work in LPPL)
-and all files in that bundle must be distributed together.
-
-\endpreamble
-% stop docstrip adding \endinput
-\postamble
-\endpostamble
-
-\keepsilent
-
-\generate{\file{l3sort.sty}{\from{l3sort.dtx}{package}}}
-
-\endbatchfile
diff --git a/l3experimental/l3str/testfiles/m3tl-analysis001.ptex.tlg b/l3experimental/l3str/testfiles/m3tl-analysis001.ptex.tlg
index f89b6ba..d2badc2 100644
--- a/l3experimental/l3str/testfiles/m3tl-analysis001.ptex.tlg
+++ b/l3experimental/l3str/testfiles/m3tl-analysis001.ptex.tlg
@@ -99,7 +99,7 @@ TEST 4: Showing the values of registers
 The token list contains the tokens:
 >  \l_foo_int (control sequence=\count1234=12)
 >  \l_foo_toks (control sequence=\toks1234=abc)
->  \c_test_int (control sequence=\count138=-1)
+>  \c_test_int (control sequence=\count149=-1)
 >  \c_zero_skip (control sequence=\skip71=0.0pt)
 >  \c_zero_muskip (control sequence=\muskip40)
 >  \tex_count:D (control sequence=\count)
diff --git a/l3experimental/l3str/testfiles/m3tl-analysis001.tlg b/l3experimental/l3str/testfiles/m3tl-analysis001.tlg
index 0f19503..5076f4f 100644
--- a/l3experimental/l3str/testfiles/m3tl-analysis001.tlg
+++ b/l3experimental/l3str/testfiles/m3tl-analysis001.tlg
@@ -99,7 +99,7 @@ TEST 4: Showing the values of registers
 The token list contains the tokens:
 >  \l_foo_int (control sequence=\count1234=12)
 >  \l_foo_toks (control sequence=\toks1234=abc)
->  \c_test_int (control sequence=\count141=-1)
+>  \c_test_int (control sequence=\count152=-1)
 >  \c_zero_skip (control sequence=\skip71=0.0pt)
 >  \c_zero_muskip (control sequence=\muskip40)
 >  \tex_count:D (control sequence=\count)
diff --git a/l3experimental/l3str/testfiles/m3tl-analysis001.uptex.tlg b/l3experimental/l3str/testfiles/m3tl-analysis001.uptex.tlg
index f89b6ba..d2badc2 100644
--- a/l3experimental/l3str/testfiles/m3tl-analysis001.uptex.tlg
+++ b/l3experimental/l3str/testfiles/m3tl-analysis001.uptex.tlg
@@ -99,7 +99,7 @@ TEST 4: Showing the values of registers
 The token list contains the tokens:
 >  \l_foo_int (control sequence=\count1234=12)
 >  \l_foo_toks (control sequence=\toks1234=abc)
->  \c_test_int (control sequence=\count138=-1)
+>  \c_test_int (control sequence=\count149=-1)
 >  \c_zero_skip (control sequence=\skip71=0.0pt)
 >  \c_zero_muskip (control sequence=\muskip40)
 >  \tex_count:D (control sequence=\count)
diff --git a/l3experimental/l3str/testfiles/m3tl-analysis001.xetex.tlg b/l3experimental/l3str/testfiles/m3tl-analysis001.xetex.tlg
index 3e87b5e..338fc80 100644
--- a/l3experimental/l3str/testfiles/m3tl-analysis001.xetex.tlg
+++ b/l3experimental/l3str/testfiles/m3tl-analysis001.xetex.tlg
@@ -99,7 +99,7 @@ TEST 4: Showing the values of registers
 The token list contains the tokens:
 >  \l_foo_int (control sequence=\count1234=12)
 >  \l_foo_toks (control sequence=\toks1234=abc)
->  \c_test_int (control sequence=\count137=-1)
+>  \c_test_int (control sequence=\count148=-1)
 >  \c_zero_skip (control sequence=\skip71=0.0pt)
 >  \c_zero_muskip (control sequence=\muskip40)
 >  \tex_count:D (control sequence=\count)
diff --git a/l3kernel/l3.ins b/l3kernel/l3.ins
index c86f611..3f28139 100644
--- a/l3kernel/l3.ins
+++ b/l3kernel/l3.ins
@@ -1,6 +1,6 @@
 \iffalse meta-comment
 
-File l3.ins Copyright (C) 2011,2012,2014-2016 The LaTeX3 Project
+File l3.ins Copyright (C) 2011,2012,2014-2017 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
@@ -33,7 +33,7 @@ license information is placed in the derived files.
 
 \preamble
 
-Copyright (C) 1990-2016 The LaTeX3 Project
+Copyright (C) 1990-2017 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
@@ -89,6 +89,7 @@ and all files in that bundle must be distributed together.
         \from{l3fp-convert.dtx} {package}
         \from{l3fp-random.dtx}  {package}
         \from{l3fp-assign.dtx}  {package}
+        \from{l3sort.dtx}       {package}
         \from{l3box.dtx}        {package}
         \from{l3coffins.dtx}    {package}
         \from{l3color.dtx}      {package}
@@ -137,6 +138,7 @@ and all files in that bundle must be distributed together.
 \generate{\file{l3quark.sty}      {\from{l3oldmodules.dtx}       {l3quark,oldmodules}}}
 \generate{\file{l3seq.sty}        {\from{l3oldmodules.dtx}       {l3seq,oldmodules}}}
 \generate{\file{l3skip.sty}       {\from{l3oldmodules.dtx}       {l3skip,oldmodules}}}
+\generate{\file{l3sort.sty}        {\from{l3oldmodules.dtx}      {l3sort,oldmodules}}}
 \generate{\file{l3str.sty}        {\from{l3oldmodules.dtx}       {l3str,oldmodules}}}
 \generate{\file{l3tl.sty}         {\from{l3oldmodules.dtx}       {l3tl,oldmodules}}}
 \generate{\file{l3token.sty}      {\from{l3oldmodules.dtx}       {l3token,oldmodules}}}
diff --git a/l3kernel/l3format.ins b/l3kernel/l3format.ins
index 0a4822e..d49a779 100644
--- a/l3kernel/l3format.ins
+++ b/l3kernel/l3format.ins
@@ -1,6 +1,6 @@
 \iffalse meta-comment
 
-File l3format.ins Copyright (C) 2011,2012,2014-2016 The LaTeX3 Project
+File l3format.ins Copyright (C) 2011,2012,2014-2017 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
@@ -33,7 +33,7 @@ license information is placed in the derived files.
 
 \preamble
 
-Copyright (C) 1990-2016 The LaTeX3 Project
+Copyright (C) 1990-2017 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
@@ -89,6 +89,7 @@ and all files in that bundle must be distributed together.
         \from{l3fp-convert.dtx} {initex}
         \from{l3fp-random.dtx}  {initex}
         \from{l3fp-assign.dtx}  {initex}
+        \from{l3sort.dtx}       {initex}
         \from{l3box.dtx}        {initex}
         \from{l3coffins.dtx}    {initex}
         \from{l3color.dtx}      {initex}
diff --git a/l3kernel/l3oldmodules.dtx b/l3kernel/l3oldmodules.dtx
index 5fa4071..e081a5b 100644
--- a/l3kernel/l3oldmodules.dtx
+++ b/l3kernel/l3oldmodules.dtx
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-%% File: l3oldmodules.dtx Copyright (C) 2014,2016 The LaTeX3 Project
+%% File: l3oldmodules.dtx Copyright (C) 2014,2016,2017 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
@@ -106,6 +106,7 @@
 %<l3quark>{l3quark}
 %<l3seq>{l3seq}
 %<l3skip>{l3skip}
+%<l3sort>{l3sort}
 %<l3str>{l3str}
 %<l3tl>{l3tl}
 %<l3token>{l3token}
diff --git a/l3experimental/l3sort/l3sort.dtx b/l3kernel/l3sort.dtx
similarity index 97%
rename from l3experimental/l3sort/l3sort.dtx
rename to l3kernel/l3sort.dtx
index 2805565..3c8c814 100644
--- a/l3experimental/l3sort/l3sort.dtx
+++ b/l3kernel/l3sort.dtx
@@ -1,6 +1,6 @@
 % \iffalse
 %
-%% File l3sort.dtx (C) Copyright 2012,2014-2016 The LaTeX3 Project
+%% File l3sort.dtx (C) Copyright 2012,2014-2017 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
@@ -9,7 +9,7 @@
 %
 %    http://www.latex-project.org/lppl.txt
 %
-% This file is part of the "l3experimental bundle" (The Work in LPPL)
+% This file is part of the "l3kernel bundle" (The Work in LPPL)
 % and all files in that bundle must be distributed together.
 %
 % -----------------------------------------------------------------------
@@ -20,28 +20,14 @@
 %
 % for those people who are interested.
 %
+%<*driver>
+\documentclass[full]{l3doc}
+%</driver>
 %<*driver|package>
-% The version of expl3 required is tested as early as possible, as
-% some really old versions do not define \ProvidesExplPackage.
-\RequirePackage{expl3}[2017/01/28]
-%<package>\@ifpackagelater{expl3}{2017/01/28}
-%<package>  {}
-%<package>  {%
-%<package>    \PackageError{l3sort}{Support package l3kernel too old}
-%<package>      {%
-%<package>        Please install an up to date version of l3kernel\MessageBreak
-%<package>        using your TeX package manager or from CTAN.\MessageBreak
-%<package>        \MessageBreak
-%<package>        Loading l3sort will abort!%
-%<package>      }%
-%<package>    \endinput
-%<package>  }
 \GetIdInfo$Id$
-  {L3 Experimental sorting functions}
+  {L3 Sorting functions}
 %</driver|package>
 %<*driver>
-\documentclass[full]{l3doc}
-\usepackage{amsmath}
 \begin{document}
   \DocInput{\jobname.dtx}
 \end{document}
@@ -49,7 +35,7 @@
 % \fi
 %
 % \title{^^A
-%   The \pkg{l3sort} package\\ Sorting lists^^A
+%   The \pkg{l3sort} package\\ Sorting functions^^A
 %   \thanks{This file describes v\ExplFileVersion,
 %      last revised \ExplFileDate.}^^A
 % }
@@ -69,8 +55,6 @@
 %
 % \begin{documentation}
 %
-% \section{\pkg{l3sort} documentation}
-%
 % \LaTeX3 comes with a facility to sort list variables (sequences,
 % token lists, or comma-lists) according to some user-defined
 % comparison. For instance,
@@ -138,8 +122,6 @@
 %   \meta{clist var}.
 % \end{function}
 %
-% {\renewcommand{\thefootnote}{}\footnotetext{\CodedocExplainEXP}}
-%
 % \begin{function}[EXP]{\tl_sort:nN}
 %   \begin{syntax}
 %     \cs{tl_sort:nN} \Arg{token list} \meta{conditional}
@@ -171,13 +153,6 @@
 %<@@=sort>
 %    \end{macrocode}
 %
-%    \begin{macrocode}
-%<*package>
-\ProvidesExplPackage
-  {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
-%</package>
-%    \end{macrocode}
-%
 % \subsection{Variables}
 %
 % \begin{variable}
@@ -689,7 +664,6 @@
   }
 %    \end{macrocode}
 % \end{macro}
-% \end{macro}
 %
 % \begin{macro}[aux]{\@@_return_swapped:}
 %   If the comparison function returns \texttt{swapped},
diff --git a/l3kernel/source3body.tex b/l3kernel/source3body.tex
index f80c669..03a9a14 100644
--- a/l3kernel/source3body.tex
+++ b/l3kernel/source3body.tex
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-%% File: source3body.tex Copyright (C) 1990-2015 The LaTeX3 Project
+%% File: source3body.tex Copyright (C) 1990-2015,2017 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
@@ -453,6 +453,7 @@ used on top of \LaTeXe{} if \cs{outer} tokens are used in the arguments.
   }
 \ExplSyntaxOff
 
+\DocInput{l3sort.dtx}
 \DocInput{l3candidates.dtx}
 \DocInput{l3sys.dtx}
 \DocInput{l3luatex.dtx}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 138f0a8..2d9603b 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -4170,6 +4170,78 @@ Defining \l_tmpa_fp on line ...
 Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
+Defining \l__sort_length_int on line ...
+\l__sort_length_int=\count136
+Defining \l__sort_min_int on line ...
+\l__sort_min_int=\count137
+Defining \l__sort_top_int on line ...
+\l__sort_top_int=\count138
+Defining \l__sort_max_int on line ...
+\l__sort_max_int=\count139
+Defining \l__sort_true_max_int on line ...
+\l__sort_true_max_int=\count140
+Defining \l__sort_block_int on line ...
+\l__sort_block_int=\count141
+Defining \l__sort_begin_int on line ...
+\l__sort_begin_int=\count142
+Defining \l__sort_end_int on line ...
+\l__sort_end_int=\count143
+Defining \l__sort_A_int on line ...
+\l__sort_A_int=\count144
+Defining \l__sort_B_int on line ...
+\l__sort_B_int=\count145
+Defining \l__sort_C_int on line ...
+\l__sort_C_int=\count146
+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 \seq_sort:Nn on line ...
+Defining \seq_gsort:Nn on line ...
+Defining \tl_sort:Nn on line ...
+Defining \tl_gsort:Nn on line ...
+Defining \clist_sort:Nn on line ...
+Defining \clist_gsort:Nn on line ...
+Defining \__sort_clist:NNn on line ...
+Defining \__sort_toks:NN on line ...
+Defining \__sort_toks:NNw on line ...
+Defining \__sort_level: on line ...
+Defining \__sort_merge_blocks: on line ...
+Defining \__sort_copy_block: on line ...
+Defining \__sort_merge_blocks_aux: on line ...
+Defining \sort_return_same: on line ...
+Defining \sort_return_swapped: on line ...
+Defining \__sort_return_mark:N on line ...
+Defining \__sort_return_none_error: on line ...
+Defining \__sort_return_two_error:w on line ...
+Defining \__sort_return_same: on line ...
+Defining \__sort_return_swapped: on line ...
+Defining \__sort_merge_blocks_end: on line ...
+Defining \tl_sort:nN on line ...
+Defining \__sort_quick_prepare:Nnnn on line ...
+Defining \__sort_quick_prepare_end:NNNnw on line ...
+Defining \__sort_quick_cleanup:w on line ...
+Defining \__sort_quick_split:NnNn on line ...
+Defining \__sort_quick_only_i:NnnnnNn on line ...
+Defining \__sort_quick_only_ii:NnnnnNn on line ...
+Defining \__sort_quick_split_i:NnnnnNn on line ...
+Defining \__sort_quick_split_ii:NnnnnNn on line ...
+Defining \__sort_quick_end:nnTFNn on line ...
+Defining \__sort_quick_single_end:nnnwnw on line ...
+Defining \__sort_quick_only_i_end:nnnwnw on line ...
+Defining \__sort_quick_only_ii_end:nnnwnw on line ...
+Defining \__sort_quick_split_end:nnnwnw on line ...
+Defining \__sort_error: on line ...
+Defining \__sort_disable_toksdef: on line ...
+Defining \__sort_disabled_toksdef:n on line ...
+Defining message LaTeX/sort/toksdef on line ...
+Defining \__sort_too_long_error:NNw on line ...
+Defining message LaTeX/sort/too-large on line ...
+Defining message LaTeX/sort/return-none on line ...
+Defining message LaTeX/sort/return-two on line ...
+Defining \sort_ordered: on line ...
+Defining \sort_reversed: on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -4897,7 +4969,7 @@ Defining \__driver_scope_end: on line ...
 Defining \__driver_matrix:n on line ...
 Defining \l__driver_current_color_tl on line ...
 Defining \l__driver_color_stack_int on line ...
-\l__driver_color_stack_int=\count136
+\l__driver_color_stack_int=\count147
 Defining \__driver_color_ensure_current: on line ...
 Defining \__driver_color_reset: on line ...
 Defining \__driver_box_use_clip:N on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index cd4f771..d293606 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -4138,6 +4138,78 @@ Defining \l_tmpa_fp on line ...
 Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
+Defining \l__sort_length_int on line ...
+\l__sort_length_int=\count134
+Defining \l__sort_min_int on line ...
+\l__sort_min_int=\count135
+Defining \l__sort_top_int on line ...
+\l__sort_top_int=\count136
+Defining \l__sort_max_int on line ...
+\l__sort_max_int=\count137
+Defining \l__sort_true_max_int on line ...
+\l__sort_true_max_int=\count138
+Defining \l__sort_block_int on line ...
+\l__sort_block_int=\count139
+Defining \l__sort_begin_int on line ...
+\l__sort_begin_int=\count140
+Defining \l__sort_end_int on line ...
+\l__sort_end_int=\count141
+Defining \l__sort_A_int on line ...
+\l__sort_A_int=\count142
+Defining \l__sort_B_int on line ...
+\l__sort_B_int=\count143
+Defining \l__sort_C_int on line ...
+\l__sort_C_int=\count144
+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 \seq_sort:Nn on line ...
+Defining \seq_gsort:Nn on line ...
+Defining \tl_sort:Nn on line ...
+Defining \tl_gsort:Nn on line ...
+Defining \clist_sort:Nn on line ...
+Defining \clist_gsort:Nn on line ...
+Defining \__sort_clist:NNn on line ...
+Defining \__sort_toks:NN on line ...
+Defining \__sort_toks:NNw on line ...
+Defining \__sort_level: on line ...
+Defining \__sort_merge_blocks: on line ...
+Defining \__sort_copy_block: on line ...
+Defining \__sort_merge_blocks_aux: on line ...
+Defining \sort_return_same: on line ...
+Defining \sort_return_swapped: on line ...
+Defining \__sort_return_mark:N on line ...
+Defining \__sort_return_none_error: on line ...
+Defining \__sort_return_two_error:w on line ...
+Defining \__sort_return_same: on line ...
+Defining \__sort_return_swapped: on line ...
+Defining \__sort_merge_blocks_end: on line ...
+Defining \tl_sort:nN on line ...
+Defining \__sort_quick_prepare:Nnnn on line ...
+Defining \__sort_quick_prepare_end:NNNnw on line ...
+Defining \__sort_quick_cleanup:w on line ...
+Defining \__sort_quick_split:NnNn on line ...
+Defining \__sort_quick_only_i:NnnnnNn on line ...
+Defining \__sort_quick_only_ii:NnnnnNn on line ...
+Defining \__sort_quick_split_i:NnnnnNn on line ...
+Defining \__sort_quick_split_ii:NnnnnNn on line ...
+Defining \__sort_quick_end:nnTFNn on line ...
+Defining \__sort_quick_single_end:nnnwnw on line ...
+Defining \__sort_quick_only_i_end:nnnwnw on line ...
+Defining \__sort_quick_only_ii_end:nnnwnw on line ...
+Defining \__sort_quick_split_end:nnnwnw on line ...
+Defining \__sort_error: on line ...
+Defining \__sort_disable_toksdef: on line ...
+Defining \__sort_disabled_toksdef:n on line ...
+Defining message LaTeX/sort/toksdef on line ...
+Defining \__sort_too_long_error:NNw on line ...
+Defining message LaTeX/sort/too-large on line ...
+Defining message LaTeX/sort/return-none on line ...
+Defining message LaTeX/sort/return-two on line ...
+Defining \sort_ordered: on line ...
+Defining \sort_reversed: on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 0920705..fa81c30 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -4158,6 +4158,78 @@ Defining \l_tmpa_fp on line ...
 Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
+Defining \l__sort_length_int on line ...
+\l__sort_length_int=\count136
+Defining \l__sort_min_int on line ...
+\l__sort_min_int=\count137
+Defining \l__sort_top_int on line ...
+\l__sort_top_int=\count138
+Defining \l__sort_max_int on line ...
+\l__sort_max_int=\count139
+Defining \l__sort_true_max_int on line ...
+\l__sort_true_max_int=\count140
+Defining \l__sort_block_int on line ...
+\l__sort_block_int=\count141
+Defining \l__sort_begin_int on line ...
+\l__sort_begin_int=\count142
+Defining \l__sort_end_int on line ...
+\l__sort_end_int=\count143
+Defining \l__sort_A_int on line ...
+\l__sort_A_int=\count144
+Defining \l__sort_B_int on line ...
+\l__sort_B_int=\count145
+Defining \l__sort_C_int on line ...
+\l__sort_C_int=\count146
+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 \seq_sort:Nn on line ...
+Defining \seq_gsort:Nn on line ...
+Defining \tl_sort:Nn on line ...
+Defining \tl_gsort:Nn on line ...
+Defining \clist_sort:Nn on line ...
+Defining \clist_gsort:Nn on line ...
+Defining \__sort_clist:NNn on line ...
+Defining \__sort_toks:NN on line ...
+Defining \__sort_toks:NNw on line ...
+Defining \__sort_level: on line ...
+Defining \__sort_merge_blocks: on line ...
+Defining \__sort_copy_block: on line ...
+Defining \__sort_merge_blocks_aux: on line ...
+Defining \sort_return_same: on line ...
+Defining \sort_return_swapped: on line ...
+Defining \__sort_return_mark:N on line ...
+Defining \__sort_return_none_error: on line ...
+Defining \__sort_return_two_error:w on line ...
+Defining \__sort_return_same: on line ...
+Defining \__sort_return_swapped: on line ...
+Defining \__sort_merge_blocks_end: on line ...
+Defining \tl_sort:nN on line ...
+Defining \__sort_quick_prepare:Nnnn on line ...
+Defining \__sort_quick_prepare_end:NNNnw on line ...
+Defining \__sort_quick_cleanup:w on line ...
+Defining \__sort_quick_split:NnNn on line ...
+Defining \__sort_quick_only_i:NnnnnNn on line ...
+Defining \__sort_quick_only_ii:NnnnnNn on line ...
+Defining \__sort_quick_split_i:NnnnnNn on line ...
+Defining \__sort_quick_split_ii:NnnnnNn on line ...
+Defining \__sort_quick_end:nnTFNn on line ...
+Defining \__sort_quick_single_end:nnnwnw on line ...
+Defining \__sort_quick_only_i_end:nnnwnw on line ...
+Defining \__sort_quick_only_ii_end:nnnwnw on line ...
+Defining \__sort_quick_split_end:nnnwnw on line ...
+Defining \__sort_error: on line ...
+Defining \__sort_disable_toksdef: on line ...
+Defining \__sort_disabled_toksdef:n on line ...
+Defining message LaTeX/sort/toksdef on line ...
+Defining \__sort_too_long_error:NNw on line ...
+Defining message LaTeX/sort/too-large on line ...
+Defining message LaTeX/sort/return-none on line ...
+Defining message LaTeX/sort/return-two on line ...
+Defining \sort_ordered: on line ...
+Defining \sort_reversed: on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5086,7 +5158,7 @@ Defining \__driver_scope_end: on line ...
 Defining \__driver_matrix:n on line ...
 Defining \l__driver_current_color_tl on line ...
 Defining \l__driver_color_stack_int on line ...
-\l__driver_color_stack_int=\count136
+\l__driver_color_stack_int=\count147
 Defining \__driver_color_ensure_current: on line ...
 Defining \__driver_color_reset: on line ...
 Defining \__driver_box_use_clip:N on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 0684463..339eef5 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -4138,6 +4138,78 @@ Defining \l_tmpa_fp on line ...
 Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
+Defining \l__sort_length_int on line ...
+\l__sort_length_int=\count134
+Defining \l__sort_min_int on line ...
+\l__sort_min_int=\count135
+Defining \l__sort_top_int on line ...
+\l__sort_top_int=\count136
+Defining \l__sort_max_int on line ...
+\l__sort_max_int=\count137
+Defining \l__sort_true_max_int on line ...
+\l__sort_true_max_int=\count138
+Defining \l__sort_block_int on line ...
+\l__sort_block_int=\count139
+Defining \l__sort_begin_int on line ...
+\l__sort_begin_int=\count140
+Defining \l__sort_end_int on line ...
+\l__sort_end_int=\count141
+Defining \l__sort_A_int on line ...
+\l__sort_A_int=\count142
+Defining \l__sort_B_int on line ...
+\l__sort_B_int=\count143
+Defining \l__sort_C_int on line ...
+\l__sort_C_int=\count144
+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 \seq_sort:Nn on line ...
+Defining \seq_gsort:Nn on line ...
+Defining \tl_sort:Nn on line ...
+Defining \tl_gsort:Nn on line ...
+Defining \clist_sort:Nn on line ...
+Defining \clist_gsort:Nn on line ...
+Defining \__sort_clist:NNn on line ...
+Defining \__sort_toks:NN on line ...
+Defining \__sort_toks:NNw on line ...
+Defining \__sort_level: on line ...
+Defining \__sort_merge_blocks: on line ...
+Defining \__sort_copy_block: on line ...
+Defining \__sort_merge_blocks_aux: on line ...
+Defining \sort_return_same: on line ...
+Defining \sort_return_swapped: on line ...
+Defining \__sort_return_mark:N on line ...
+Defining \__sort_return_none_error: on line ...
+Defining \__sort_return_two_error:w on line ...
+Defining \__sort_return_same: on line ...
+Defining \__sort_return_swapped: on line ...
+Defining \__sort_merge_blocks_end: on line ...
+Defining \tl_sort:nN on line ...
+Defining \__sort_quick_prepare:Nnnn on line ...
+Defining \__sort_quick_prepare_end:NNNnw on line ...
+Defining \__sort_quick_cleanup:w on line ...
+Defining \__sort_quick_split:NnNn on line ...
+Defining \__sort_quick_only_i:NnnnnNn on line ...
+Defining \__sort_quick_only_ii:NnnnnNn on line ...
+Defining \__sort_quick_split_i:NnnnnNn on line ...
+Defining \__sort_quick_split_ii:NnnnnNn on line ...
+Defining \__sort_quick_end:nnTFNn on line ...
+Defining \__sort_quick_single_end:nnnwnw on line ...
+Defining \__sort_quick_only_i_end:nnnwnw on line ...
+Defining \__sort_quick_only_ii_end:nnnwnw on line ...
+Defining \__sort_quick_split_end:nnnwnw on line ...
+Defining \__sort_error: on line ...
+Defining \__sort_disable_toksdef: on line ...
+Defining \__sort_disabled_toksdef:n on line ...
+Defining message LaTeX/sort/toksdef on line ...
+Defining \__sort_too_long_error:NNw on line ...
+Defining message LaTeX/sort/too-large on line ...
+Defining message LaTeX/sort/return-none on line ...
+Defining message LaTeX/sort/return-two on line ...
+Defining \sort_ordered: on line ...
+Defining \sort_reversed: on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index bbf3889..7732a2a 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -4148,6 +4148,78 @@ Defining \l_tmpa_fp on line ...
 Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
+Defining \l__sort_length_int on line ...
+\l__sort_length_int=\count133
+Defining \l__sort_min_int on line ...
+\l__sort_min_int=\count134
+Defining \l__sort_top_int on line ...
+\l__sort_top_int=\count135
+Defining \l__sort_max_int on line ...
+\l__sort_max_int=\count136
+Defining \l__sort_true_max_int on line ...
+\l__sort_true_max_int=\count137
+Defining \l__sort_block_int on line ...
+\l__sort_block_int=\count138
+Defining \l__sort_begin_int on line ...
+\l__sort_begin_int=\count139
+Defining \l__sort_end_int on line ...
+\l__sort_end_int=\count140
+Defining \l__sort_A_int on line ...
+\l__sort_A_int=\count141
+Defining \l__sort_B_int on line ...
+\l__sort_B_int=\count142
+Defining \l__sort_C_int on line ...
+\l__sort_C_int=\count143
+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 \seq_sort:Nn on line ...
+Defining \seq_gsort:Nn on line ...
+Defining \tl_sort:Nn on line ...
+Defining \tl_gsort:Nn on line ...
+Defining \clist_sort:Nn on line ...
+Defining \clist_gsort:Nn on line ...
+Defining \__sort_clist:NNn on line ...
+Defining \__sort_toks:NN on line ...
+Defining \__sort_toks:NNw on line ...
+Defining \__sort_level: on line ...
+Defining \__sort_merge_blocks: on line ...
+Defining \__sort_copy_block: on line ...
+Defining \__sort_merge_blocks_aux: on line ...
+Defining \sort_return_same: on line ...
+Defining \sort_return_swapped: on line ...
+Defining \__sort_return_mark:N on line ...
+Defining \__sort_return_none_error: on line ...
+Defining \__sort_return_two_error:w on line ...
+Defining \__sort_return_same: on line ...
+Defining \__sort_return_swapped: on line ...
+Defining \__sort_merge_blocks_end: on line ...
+Defining \tl_sort:nN on line ...
+Defining \__sort_quick_prepare:Nnnn on line ...
+Defining \__sort_quick_prepare_end:NNNnw on line ...
+Defining \__sort_quick_cleanup:w on line ...
+Defining \__sort_quick_split:NnNn on line ...
+Defining \__sort_quick_only_i:NnnnnNn on line ...
+Defining \__sort_quick_only_ii:NnnnnNn on line ...
+Defining \__sort_quick_split_i:NnnnnNn on line ...
+Defining \__sort_quick_split_ii:NnnnnNn on line ...
+Defining \__sort_quick_end:nnTFNn on line ...
+Defining \__sort_quick_single_end:nnnwnw on line ...
+Defining \__sort_quick_only_i_end:nnnwnw on line ...
+Defining \__sort_quick_only_ii_end:nnnwnw on line ...
+Defining \__sort_quick_split_end:nnnwnw on line ...
+Defining \__sort_error: on line ...
+Defining \__sort_disable_toksdef: on line ...
+Defining \__sort_disabled_toksdef:n on line ...
+Defining message LaTeX/sort/toksdef on line ...
+Defining \__sort_too_long_error:NNw on line ...
+Defining message LaTeX/sort/too-large on line ...
+Defining message LaTeX/sort/return-none on line ...
+Defining message LaTeX/sort/return-two on line ...
+Defining \sort_ordered: on line ...
+Defining \sort_reversed: on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
diff --git a/l3kernel/testfiles/m3expl002.luatex.tlg b/l3kernel/testfiles/m3expl002.luatex.tlg
index b851a72..fe07510 100644
--- a/l3kernel/testfiles/m3expl002.luatex.tlg
+++ b/l3kernel/testfiles/m3expl002.luatex.tlg
@@ -45,6 +45,17 @@ Don't change this file in any respect.
 \c__fp_rand_size_int=\count133
 \c__fp_rand_four_int=\count134
 \c__fp_rand_eight_int=\count135
+\l__sort_length_int=\count136
+\l__sort_min_int=\count137
+\l__sort_top_int=\count138
+\l__sort_max_int=\count139
+\l__sort_true_max_int=\count140
+\l__sort_block_int=\count141
+\l__sort_begin_int=\count142
+\l__sort_end_int=\count143
+\l__sort_A_int=\count144
+\l__sort_B_int=\count145
+\l__sort_C_int=\count146
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -86,6 +97,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count136
+\l__driver_color_stack_int=\count147
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl002.ptex.tlg b/l3kernel/testfiles/m3expl002.ptex.tlg
index cd1e5d2..e71c385 100644
--- a/l3kernel/testfiles/m3expl002.ptex.tlg
+++ b/l3kernel/testfiles/m3expl002.ptex.tlg
@@ -41,6 +41,17 @@ Don't change this file in any respect.
 \c__fp_Bigg_leading_shift_int=\count131
 \c__fp_Bigg_middle_shift_int=\count132
 \c__fp_Bigg_trailing_shift_int=\count133
+\l__sort_length_int=\count134
+\l__sort_min_int=\count135
+\l__sort_top_int=\count136
+\l__sort_max_int=\count137
+\l__sort_true_max_int=\count138
+\l__sort_block_int=\count139
+\l__sort_begin_int=\count140
+\l__sort_end_int=\count141
+\l__sort_A_int=\count142
+\l__sort_B_int=\count143
+\l__sort_C_int=\count144
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
diff --git a/l3kernel/testfiles/m3expl002.tlg b/l3kernel/testfiles/m3expl002.tlg
index 66404c8..20c80d8 100644
--- a/l3kernel/testfiles/m3expl002.tlg
+++ b/l3kernel/testfiles/m3expl002.tlg
@@ -44,6 +44,17 @@ Don't change this file in any respect.
 \c__fp_rand_size_int=\count133
 \c__fp_rand_four_int=\count134
 \c__fp_rand_eight_int=\count135
+\l__sort_length_int=\count136
+\l__sort_min_int=\count137
+\l__sort_top_int=\count138
+\l__sort_max_int=\count139
+\l__sort_true_max_int=\count140
+\l__sort_block_int=\count141
+\l__sort_begin_int=\count142
+\l__sort_end_int=\count143
+\l__sort_A_int=\count144
+\l__sort_B_int=\count145
+\l__sort_C_int=\count146
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -85,6 +96,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count136
+\l__driver_color_stack_int=\count147
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl002.uptex.tlg b/l3kernel/testfiles/m3expl002.uptex.tlg
index cd1e5d2..e71c385 100644
--- a/l3kernel/testfiles/m3expl002.uptex.tlg
+++ b/l3kernel/testfiles/m3expl002.uptex.tlg
@@ -41,6 +41,17 @@ Don't change this file in any respect.
 \c__fp_Bigg_leading_shift_int=\count131
 \c__fp_Bigg_middle_shift_int=\count132
 \c__fp_Bigg_trailing_shift_int=\count133
+\l__sort_length_int=\count134
+\l__sort_min_int=\count135
+\l__sort_top_int=\count136
+\l__sort_max_int=\count137
+\l__sort_true_max_int=\count138
+\l__sort_block_int=\count139
+\l__sort_begin_int=\count140
+\l__sort_end_int=\count141
+\l__sort_A_int=\count142
+\l__sort_B_int=\count143
+\l__sort_C_int=\count144
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
diff --git a/l3kernel/testfiles/m3expl002.xetex.tlg b/l3kernel/testfiles/m3expl002.xetex.tlg
index d48fc7a..5f04574 100644
--- a/l3kernel/testfiles/m3expl002.xetex.tlg
+++ b/l3kernel/testfiles/m3expl002.xetex.tlg
@@ -41,6 +41,17 @@ Don't change this file in any respect.
 \c__fp_Bigg_leading_shift_int=\count130
 \c__fp_Bigg_middle_shift_int=\count131
 \c__fp_Bigg_trailing_shift_int=\count132
+\l__sort_length_int=\count133
+\l__sort_min_int=\count134
+\l__sort_top_int=\count135
+\l__sort_max_int=\count136
+\l__sort_true_max_int=\count137
+\l__sort_block_int=\count138
+\l__sort_begin_int=\count139
+\l__sort_end_int=\count140
+\l__sort_A_int=\count141
+\l__sort_B_int=\count142
+\l__sort_C_int=\count143
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 8bd8072..05fd243 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -4171,6 +4171,78 @@ Defining \l_tmpa_fp on line ...
 Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
+Defining \l__sort_length_int on line ...
+\l__sort_length_int=\count136
+Defining \l__sort_min_int on line ...
+\l__sort_min_int=\count137
+Defining \l__sort_top_int on line ...
+\l__sort_top_int=\count138
+Defining \l__sort_max_int on line ...
+\l__sort_max_int=\count139
+Defining \l__sort_true_max_int on line ...
+\l__sort_true_max_int=\count140
+Defining \l__sort_block_int on line ...
+\l__sort_block_int=\count141
+Defining \l__sort_begin_int on line ...
+\l__sort_begin_int=\count142
+Defining \l__sort_end_int on line ...
+\l__sort_end_int=\count143
+Defining \l__sort_A_int on line ...
+\l__sort_A_int=\count144
+Defining \l__sort_B_int on line ...
+\l__sort_B_int=\count145
+Defining \l__sort_C_int on line ...
+\l__sort_C_int=\count146
+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 \seq_sort:Nn on line ...
+Defining \seq_gsort:Nn on line ...
+Defining \tl_sort:Nn on line ...
+Defining \tl_gsort:Nn on line ...
+Defining \clist_sort:Nn on line ...
+Defining \clist_gsort:Nn on line ...
+Defining \__sort_clist:NNn on line ...
+Defining \__sort_toks:NN on line ...
+Defining \__sort_toks:NNw on line ...
+Defining \__sort_level: on line ...
+Defining \__sort_merge_blocks: on line ...
+Defining \__sort_copy_block: on line ...
+Defining \__sort_merge_blocks_aux: on line ...
+Defining \sort_return_same: on line ...
+Defining \sort_return_swapped: on line ...
+Defining \__sort_return_mark:N on line ...
+Defining \__sort_return_none_error: on line ...
+Defining \__sort_return_two_error:w on line ...
+Defining \__sort_return_same: on line ...
+Defining \__sort_return_swapped: on line ...
+Defining \__sort_merge_blocks_end: on line ...
+Defining \tl_sort:nN on line ...
+Defining \__sort_quick_prepare:Nnnn on line ...
+Defining \__sort_quick_prepare_end:NNNnw on line ...
+Defining \__sort_quick_cleanup:w on line ...
+Defining \__sort_quick_split:NnNn on line ...
+Defining \__sort_quick_only_i:NnnnnNn on line ...
+Defining \__sort_quick_only_ii:NnnnnNn on line ...
+Defining \__sort_quick_split_i:NnnnnNn on line ...
+Defining \__sort_quick_split_ii:NnnnnNn on line ...
+Defining \__sort_quick_end:nnTFNn on line ...
+Defining \__sort_quick_single_end:nnnwnw on line ...
+Defining \__sort_quick_only_i_end:nnnwnw on line ...
+Defining \__sort_quick_only_ii_end:nnnwnw on line ...
+Defining \__sort_quick_split_end:nnnwnw on line ...
+Defining \__sort_error: on line ...
+Defining \__sort_disable_toksdef: on line ...
+Defining \__sort_disabled_toksdef:n on line ...
+Defining message LaTeX/sort/toksdef on line ...
+Defining \__sort_too_long_error:NNw on line ...
+Defining message LaTeX/sort/too-large on line ...
+Defining message LaTeX/sort/return-none on line ...
+Defining message LaTeX/sort/return-two on line ...
+Defining \sort_ordered: on line ...
+Defining \sort_reversed: on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -4898,7 +4970,7 @@ Defining \__driver_scope_end: on line ...
 Defining \__driver_matrix:n on line ...
 Defining \l__driver_current_color_tl on line ...
 Defining \l__driver_color_stack_int on line ...
-\l__driver_color_stack_int=\count136
+\l__driver_color_stack_int=\count147
 Defining \__driver_color_ensure_current: on line ...
 Defining \__driver_color_reset: on line ...
 Defining \__driver_box_use_clip:N on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index dc7cd47..f2ab1f6 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -4139,6 +4139,78 @@ Defining \l_tmpa_fp on line ...
 Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
+Defining \l__sort_length_int on line ...
+\l__sort_length_int=\count134
+Defining \l__sort_min_int on line ...
+\l__sort_min_int=\count135
+Defining \l__sort_top_int on line ...
+\l__sort_top_int=\count136
+Defining \l__sort_max_int on line ...
+\l__sort_max_int=\count137
+Defining \l__sort_true_max_int on line ...
+\l__sort_true_max_int=\count138
+Defining \l__sort_block_int on line ...
+\l__sort_block_int=\count139
+Defining \l__sort_begin_int on line ...
+\l__sort_begin_int=\count140
+Defining \l__sort_end_int on line ...
+\l__sort_end_int=\count141
+Defining \l__sort_A_int on line ...
+\l__sort_A_int=\count142
+Defining \l__sort_B_int on line ...
+\l__sort_B_int=\count143
+Defining \l__sort_C_int on line ...
+\l__sort_C_int=\count144
+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 \seq_sort:Nn on line ...
+Defining \seq_gsort:Nn on line ...
+Defining \tl_sort:Nn on line ...
+Defining \tl_gsort:Nn on line ...
+Defining \clist_sort:Nn on line ...
+Defining \clist_gsort:Nn on line ...
+Defining \__sort_clist:NNn on line ...
+Defining \__sort_toks:NN on line ...
+Defining \__sort_toks:NNw on line ...
+Defining \__sort_level: on line ...
+Defining \__sort_merge_blocks: on line ...
+Defining \__sort_copy_block: on line ...
+Defining \__sort_merge_blocks_aux: on line ...
+Defining \sort_return_same: on line ...
+Defining \sort_return_swapped: on line ...
+Defining \__sort_return_mark:N on line ...
+Defining \__sort_return_none_error: on line ...
+Defining \__sort_return_two_error:w on line ...
+Defining \__sort_return_same: on line ...
+Defining \__sort_return_swapped: on line ...
+Defining \__sort_merge_blocks_end: on line ...
+Defining \tl_sort:nN on line ...
+Defining \__sort_quick_prepare:Nnnn on line ...
+Defining \__sort_quick_prepare_end:NNNnw on line ...
+Defining \__sort_quick_cleanup:w on line ...
+Defining \__sort_quick_split:NnNn on line ...
+Defining \__sort_quick_only_i:NnnnnNn on line ...
+Defining \__sort_quick_only_ii:NnnnnNn on line ...
+Defining \__sort_quick_split_i:NnnnnNn on line ...
+Defining \__sort_quick_split_ii:NnnnnNn on line ...
+Defining \__sort_quick_end:nnTFNn on line ...
+Defining \__sort_quick_single_end:nnnwnw on line ...
+Defining \__sort_quick_only_i_end:nnnwnw on line ...
+Defining \__sort_quick_only_ii_end:nnnwnw on line ...
+Defining \__sort_quick_split_end:nnnwnw on line ...
+Defining \__sort_error: on line ...
+Defining \__sort_disable_toksdef: on line ...
+Defining \__sort_disabled_toksdef:n on line ...
+Defining message LaTeX/sort/toksdef on line ...
+Defining \__sort_too_long_error:NNw on line ...
+Defining message LaTeX/sort/too-large on line ...
+Defining message LaTeX/sort/return-none on line ...
+Defining message LaTeX/sort/return-two on line ...
+Defining \sort_ordered: on line ...
+Defining \sort_reversed: on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index a1729ba..5302b82 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -4159,6 +4159,78 @@ Defining \l_tmpa_fp on line ...
 Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
+Defining \l__sort_length_int on line ...
+\l__sort_length_int=\count136
+Defining \l__sort_min_int on line ...
+\l__sort_min_int=\count137
+Defining \l__sort_top_int on line ...
+\l__sort_top_int=\count138
+Defining \l__sort_max_int on line ...
+\l__sort_max_int=\count139
+Defining \l__sort_true_max_int on line ...
+\l__sort_true_max_int=\count140
+Defining \l__sort_block_int on line ...
+\l__sort_block_int=\count141
+Defining \l__sort_begin_int on line ...
+\l__sort_begin_int=\count142
+Defining \l__sort_end_int on line ...
+\l__sort_end_int=\count143
+Defining \l__sort_A_int on line ...
+\l__sort_A_int=\count144
+Defining \l__sort_B_int on line ...
+\l__sort_B_int=\count145
+Defining \l__sort_C_int on line ...
+\l__sort_C_int=\count146
+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 \seq_sort:Nn on line ...
+Defining \seq_gsort:Nn on line ...
+Defining \tl_sort:Nn on line ...
+Defining \tl_gsort:Nn on line ...
+Defining \clist_sort:Nn on line ...
+Defining \clist_gsort:Nn on line ...
+Defining \__sort_clist:NNn on line ...
+Defining \__sort_toks:NN on line ...
+Defining \__sort_toks:NNw on line ...
+Defining \__sort_level: on line ...
+Defining \__sort_merge_blocks: on line ...
+Defining \__sort_copy_block: on line ...
+Defining \__sort_merge_blocks_aux: on line ...
+Defining \sort_return_same: on line ...
+Defining \sort_return_swapped: on line ...
+Defining \__sort_return_mark:N on line ...
+Defining \__sort_return_none_error: on line ...
+Defining \__sort_return_two_error:w on line ...
+Defining \__sort_return_same: on line ...
+Defining \__sort_return_swapped: on line ...
+Defining \__sort_merge_blocks_end: on line ...
+Defining \tl_sort:nN on line ...
+Defining \__sort_quick_prepare:Nnnn on line ...
+Defining \__sort_quick_prepare_end:NNNnw on line ...
+Defining \__sort_quick_cleanup:w on line ...
+Defining \__sort_quick_split:NnNn on line ...
+Defining \__sort_quick_only_i:NnnnnNn on line ...
+Defining \__sort_quick_only_ii:NnnnnNn on line ...
+Defining \__sort_quick_split_i:NnnnnNn on line ...
+Defining \__sort_quick_split_ii:NnnnnNn on line ...
+Defining \__sort_quick_end:nnTFNn on line ...
+Defining \__sort_quick_single_end:nnnwnw on line ...
+Defining \__sort_quick_only_i_end:nnnwnw on line ...
+Defining \__sort_quick_only_ii_end:nnnwnw on line ...
+Defining \__sort_quick_split_end:nnnwnw on line ...
+Defining \__sort_error: on line ...
+Defining \__sort_disable_toksdef: on line ...
+Defining \__sort_disabled_toksdef:n on line ...
+Defining message LaTeX/sort/toksdef on line ...
+Defining \__sort_too_long_error:NNw on line ...
+Defining message LaTeX/sort/too-large on line ...
+Defining message LaTeX/sort/return-none on line ...
+Defining message LaTeX/sort/return-two on line ...
+Defining \sort_ordered: on line ...
+Defining \sort_reversed: on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
@@ -5087,7 +5159,7 @@ Defining \__driver_scope_end: on line ...
 Defining \__driver_matrix:n on line ...
 Defining \l__driver_current_color_tl on line ...
 Defining \l__driver_color_stack_int on line ...
-\l__driver_color_stack_int=\count136
+\l__driver_color_stack_int=\count147
 Defining \__driver_color_ensure_current: on line ...
 Defining \__driver_color_reset: on line ...
 Defining \__driver_box_use_clip:N on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 0a3a951..964cfe3 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -4139,6 +4139,78 @@ Defining \l_tmpa_fp on line ...
 Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
+Defining \l__sort_length_int on line ...
+\l__sort_length_int=\count134
+Defining \l__sort_min_int on line ...
+\l__sort_min_int=\count135
+Defining \l__sort_top_int on line ...
+\l__sort_top_int=\count136
+Defining \l__sort_max_int on line ...
+\l__sort_max_int=\count137
+Defining \l__sort_true_max_int on line ...
+\l__sort_true_max_int=\count138
+Defining \l__sort_block_int on line ...
+\l__sort_block_int=\count139
+Defining \l__sort_begin_int on line ...
+\l__sort_begin_int=\count140
+Defining \l__sort_end_int on line ...
+\l__sort_end_int=\count141
+Defining \l__sort_A_int on line ...
+\l__sort_A_int=\count142
+Defining \l__sort_B_int on line ...
+\l__sort_B_int=\count143
+Defining \l__sort_C_int on line ...
+\l__sort_C_int=\count144
+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 \seq_sort:Nn on line ...
+Defining \seq_gsort:Nn on line ...
+Defining \tl_sort:Nn on line ...
+Defining \tl_gsort:Nn on line ...
+Defining \clist_sort:Nn on line ...
+Defining \clist_gsort:Nn on line ...
+Defining \__sort_clist:NNn on line ...
+Defining \__sort_toks:NN on line ...
+Defining \__sort_toks:NNw on line ...
+Defining \__sort_level: on line ...
+Defining \__sort_merge_blocks: on line ...
+Defining \__sort_copy_block: on line ...
+Defining \__sort_merge_blocks_aux: on line ...
+Defining \sort_return_same: on line ...
+Defining \sort_return_swapped: on line ...
+Defining \__sort_return_mark:N on line ...
+Defining \__sort_return_none_error: on line ...
+Defining \__sort_return_two_error:w on line ...
+Defining \__sort_return_same: on line ...
+Defining \__sort_return_swapped: on line ...
+Defining \__sort_merge_blocks_end: on line ...
+Defining \tl_sort:nN on line ...
+Defining \__sort_quick_prepare:Nnnn on line ...
+Defining \__sort_quick_prepare_end:NNNnw on line ...
+Defining \__sort_quick_cleanup:w on line ...
+Defining \__sort_quick_split:NnNn on line ...
+Defining \__sort_quick_only_i:NnnnnNn on line ...
+Defining \__sort_quick_only_ii:NnnnnNn on line ...
+Defining \__sort_quick_split_i:NnnnnNn on line ...
+Defining \__sort_quick_split_ii:NnnnnNn on line ...
+Defining \__sort_quick_end:nnTFNn on line ...
+Defining \__sort_quick_single_end:nnnwnw on line ...
+Defining \__sort_quick_only_i_end:nnnwnw on line ...
+Defining \__sort_quick_only_ii_end:nnnwnw on line ...
+Defining \__sort_quick_split_end:nnnwnw on line ...
+Defining \__sort_error: on line ...
+Defining \__sort_disable_toksdef: on line ...
+Defining \__sort_disabled_toksdef:n on line ...
+Defining message LaTeX/sort/toksdef on line ...
+Defining \__sort_too_long_error:NNw on line ...
+Defining message LaTeX/sort/too-large on line ...
+Defining message LaTeX/sort/return-none on line ...
+Defining message LaTeX/sort/return-two on line ...
+Defining \sort_ordered: on line ...
+Defining \sort_reversed: on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 9ed0c71..81a3f31 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -4149,6 +4149,78 @@ Defining \l_tmpa_fp on line ...
 Defining \l_tmpb_fp on line ...
 Defining \g_tmpa_fp on line ...
 Defining \g_tmpb_fp on line ...
+Defining \l__sort_length_int on line ...
+\l__sort_length_int=\count133
+Defining \l__sort_min_int on line ...
+\l__sort_min_int=\count134
+Defining \l__sort_top_int on line ...
+\l__sort_top_int=\count135
+Defining \l__sort_max_int on line ...
+\l__sort_max_int=\count136
+Defining \l__sort_true_max_int on line ...
+\l__sort_true_max_int=\count137
+Defining \l__sort_block_int on line ...
+\l__sort_block_int=\count138
+Defining \l__sort_begin_int on line ...
+\l__sort_begin_int=\count139
+Defining \l__sort_end_int on line ...
+\l__sort_end_int=\count140
+Defining \l__sort_A_int on line ...
+\l__sort_A_int=\count141
+Defining \l__sort_B_int on line ...
+\l__sort_B_int=\count142
+Defining \l__sort_C_int on line ...
+\l__sort_C_int=\count143
+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 \seq_sort:Nn on line ...
+Defining \seq_gsort:Nn on line ...
+Defining \tl_sort:Nn on line ...
+Defining \tl_gsort:Nn on line ...
+Defining \clist_sort:Nn on line ...
+Defining \clist_gsort:Nn on line ...
+Defining \__sort_clist:NNn on line ...
+Defining \__sort_toks:NN on line ...
+Defining \__sort_toks:NNw on line ...
+Defining \__sort_level: on line ...
+Defining \__sort_merge_blocks: on line ...
+Defining \__sort_copy_block: on line ...
+Defining \__sort_merge_blocks_aux: on line ...
+Defining \sort_return_same: on line ...
+Defining \sort_return_swapped: on line ...
+Defining \__sort_return_mark:N on line ...
+Defining \__sort_return_none_error: on line ...
+Defining \__sort_return_two_error:w on line ...
+Defining \__sort_return_same: on line ...
+Defining \__sort_return_swapped: on line ...
+Defining \__sort_merge_blocks_end: on line ...
+Defining \tl_sort:nN on line ...
+Defining \__sort_quick_prepare:Nnnn on line ...
+Defining \__sort_quick_prepare_end:NNNnw on line ...
+Defining \__sort_quick_cleanup:w on line ...
+Defining \__sort_quick_split:NnNn on line ...
+Defining \__sort_quick_only_i:NnnnnNn on line ...
+Defining \__sort_quick_only_ii:NnnnnNn on line ...
+Defining \__sort_quick_split_i:NnnnnNn on line ...
+Defining \__sort_quick_split_ii:NnnnnNn on line ...
+Defining \__sort_quick_end:nnTFNn on line ...
+Defining \__sort_quick_single_end:nnnwnw on line ...
+Defining \__sort_quick_only_i_end:nnnwnw on line ...
+Defining \__sort_quick_only_ii_end:nnnwnw on line ...
+Defining \__sort_quick_split_end:nnnwnw on line ...
+Defining \__sort_error: on line ...
+Defining \__sort_disable_toksdef: on line ...
+Defining \__sort_disabled_toksdef:n on line ...
+Defining message LaTeX/sort/toksdef on line ...
+Defining \__sort_too_long_error:NNw on line ...
+Defining message LaTeX/sort/too-large on line ...
+Defining message LaTeX/sort/return-none on line ...
+Defining message LaTeX/sort/return-two on line ...
+Defining \sort_ordered: on line ...
+Defining \sort_reversed: on line ...
 Defining \box_new:N on line ...
 Defining \box_new:c on line ...
 Defining \box_clear:N on line ...
diff --git a/l3kernel/testfiles/m3expl004.luatex.tlg b/l3kernel/testfiles/m3expl004.luatex.tlg
index b851a72..fe07510 100644
--- a/l3kernel/testfiles/m3expl004.luatex.tlg
+++ b/l3kernel/testfiles/m3expl004.luatex.tlg
@@ -45,6 +45,17 @@ Don't change this file in any respect.
 \c__fp_rand_size_int=\count133
 \c__fp_rand_four_int=\count134
 \c__fp_rand_eight_int=\count135
+\l__sort_length_int=\count136
+\l__sort_min_int=\count137
+\l__sort_top_int=\count138
+\l__sort_max_int=\count139
+\l__sort_true_max_int=\count140
+\l__sort_block_int=\count141
+\l__sort_begin_int=\count142
+\l__sort_end_int=\count143
+\l__sort_A_int=\count144
+\l__sort_B_int=\count145
+\l__sort_C_int=\count146
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -86,6 +97,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count136
+\l__driver_color_stack_int=\count147
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl004.ptex.tlg b/l3kernel/testfiles/m3expl004.ptex.tlg
index cd1e5d2..e71c385 100644
--- a/l3kernel/testfiles/m3expl004.ptex.tlg
+++ b/l3kernel/testfiles/m3expl004.ptex.tlg
@@ -41,6 +41,17 @@ Don't change this file in any respect.
 \c__fp_Bigg_leading_shift_int=\count131
 \c__fp_Bigg_middle_shift_int=\count132
 \c__fp_Bigg_trailing_shift_int=\count133
+\l__sort_length_int=\count134
+\l__sort_min_int=\count135
+\l__sort_top_int=\count136
+\l__sort_max_int=\count137
+\l__sort_true_max_int=\count138
+\l__sort_block_int=\count139
+\l__sort_begin_int=\count140
+\l__sort_end_int=\count141
+\l__sort_A_int=\count142
+\l__sort_B_int=\count143
+\l__sort_C_int=\count144
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
diff --git a/l3kernel/testfiles/m3expl004.tlg b/l3kernel/testfiles/m3expl004.tlg
index 66404c8..20c80d8 100644
--- a/l3kernel/testfiles/m3expl004.tlg
+++ b/l3kernel/testfiles/m3expl004.tlg
@@ -44,6 +44,17 @@ Don't change this file in any respect.
 \c__fp_rand_size_int=\count133
 \c__fp_rand_four_int=\count134
 \c__fp_rand_eight_int=\count135
+\l__sort_length_int=\count136
+\l__sort_min_int=\count137
+\l__sort_top_int=\count138
+\l__sort_max_int=\count139
+\l__sort_true_max_int=\count140
+\l__sort_block_int=\count141
+\l__sort_begin_int=\count142
+\l__sort_end_int=\count143
+\l__sort_A_int=\count144
+\l__sort_B_int=\count145
+\l__sort_C_int=\count146
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -85,6 +96,6 @@ Don't change this file in any respect.
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count136
+\l__driver_color_stack_int=\count147
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl004.uptex.tlg b/l3kernel/testfiles/m3expl004.uptex.tlg
index cd1e5d2..e71c385 100644
--- a/l3kernel/testfiles/m3expl004.uptex.tlg
+++ b/l3kernel/testfiles/m3expl004.uptex.tlg
@@ -41,6 +41,17 @@ Don't change this file in any respect.
 \c__fp_Bigg_leading_shift_int=\count131
 \c__fp_Bigg_middle_shift_int=\count132
 \c__fp_Bigg_trailing_shift_int=\count133
+\l__sort_length_int=\count134
+\l__sort_min_int=\count135
+\l__sort_top_int=\count136
+\l__sort_max_int=\count137
+\l__sort_true_max_int=\count138
+\l__sort_block_int=\count139
+\l__sort_begin_int=\count140
+\l__sort_end_int=\count141
+\l__sort_A_int=\count142
+\l__sort_B_int=\count143
+\l__sort_C_int=\count144
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
diff --git a/l3kernel/testfiles/m3expl004.xetex.tlg b/l3kernel/testfiles/m3expl004.xetex.tlg
index d48fc7a..5f04574 100644
--- a/l3kernel/testfiles/m3expl004.xetex.tlg
+++ b/l3kernel/testfiles/m3expl004.xetex.tlg
@@ -41,6 +41,17 @@ Don't change this file in any respect.
 \c__fp_Bigg_leading_shift_int=\count130
 \c__fp_Bigg_middle_shift_int=\count131
 \c__fp_Bigg_trailing_shift_int=\count132
+\l__sort_length_int=\count133
+\l__sort_min_int=\count134
+\l__sort_top_int=\count135
+\l__sort_max_int=\count136
+\l__sort_true_max_int=\count137
+\l__sort_block_int=\count138
+\l__sort_begin_int=\count139
+\l__sort_end_int=\count140
+\l__sort_A_int=\count141
+\l__sort_B_int=\count142
+\l__sort_C_int=\count143
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
diff --git a/l3kernel/testfiles/m3expl006.luatex.tlg b/l3kernel/testfiles/m3expl006.luatex.tlg
index 2e4bf65..59f8171 100644
--- a/l3kernel/testfiles/m3expl006.luatex.tlg
+++ b/l3kernel/testfiles/m3expl006.luatex.tlg
@@ -46,6 +46,17 @@ Author: Bruno Le Floch and Joseph Wright
 \c__fp_rand_size_int=\count133
 \c__fp_rand_four_int=\count134
 \c__fp_rand_eight_int=\count135
+\l__sort_length_int=\count136
+\l__sort_min_int=\count137
+\l__sort_top_int=\count138
+\l__sort_max_int=\count139
+\l__sort_true_max_int=\count140
+\l__sort_block_int=\count141
+\l__sort_begin_int=\count142
+\l__sort_end_int=\count143
+\l__sort_A_int=\count144
+\l__sort_B_int=\count145
+\l__sort_C_int=\count146
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -87,6 +98,6 @@ Author: Bruno Le Floch and Joseph Wright
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count136
+\l__driver_color_stack_int=\count147
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl006.ptex.tlg b/l3kernel/testfiles/m3expl006.ptex.tlg
index 5337782..e36650d 100644
--- a/l3kernel/testfiles/m3expl006.ptex.tlg
+++ b/l3kernel/testfiles/m3expl006.ptex.tlg
@@ -42,6 +42,17 @@ Author: Bruno Le Floch and Joseph Wright
 \c__fp_Bigg_leading_shift_int=\count131
 \c__fp_Bigg_middle_shift_int=\count132
 \c__fp_Bigg_trailing_shift_int=\count133
+\l__sort_length_int=\count134
+\l__sort_min_int=\count135
+\l__sort_top_int=\count136
+\l__sort_max_int=\count137
+\l__sort_true_max_int=\count138
+\l__sort_block_int=\count139
+\l__sort_begin_int=\count140
+\l__sort_end_int=\count141
+\l__sort_A_int=\count142
+\l__sort_B_int=\count143
+\l__sort_C_int=\count144
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
diff --git a/l3kernel/testfiles/m3expl006.tlg b/l3kernel/testfiles/m3expl006.tlg
index 294ffd4..03a826c 100644
--- a/l3kernel/testfiles/m3expl006.tlg
+++ b/l3kernel/testfiles/m3expl006.tlg
@@ -45,6 +45,17 @@ Author: Bruno Le Floch and Joseph Wright
 \c__fp_rand_size_int=\count133
 \c__fp_rand_four_int=\count134
 \c__fp_rand_eight_int=\count135
+\l__sort_length_int=\count136
+\l__sort_min_int=\count137
+\l__sort_top_int=\count138
+\l__sort_max_int=\count139
+\l__sort_true_max_int=\count140
+\l__sort_block_int=\count141
+\l__sort_begin_int=\count142
+\l__sort_end_int=\count143
+\l__sort_A_int=\count144
+\l__sort_B_int=\count145
+\l__sort_C_int=\count146
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
@@ -86,6 +97,6 @@ Author: Bruno Le Floch and Joseph Wright
 \l__coffin_scaled_total_height_dim=\dimen161
 \l__coffin_scaled_width_dim=\dimen162
 ) (l3pdfmode.def
-\l__driver_color_stack_int=\count136
+\l__driver_color_stack_int=\count147
 \l__driver_tmp_box=\box71
 ))
diff --git a/l3kernel/testfiles/m3expl006.uptex.tlg b/l3kernel/testfiles/m3expl006.uptex.tlg
index 5337782..e36650d 100644
--- a/l3kernel/testfiles/m3expl006.uptex.tlg
+++ b/l3kernel/testfiles/m3expl006.uptex.tlg
@@ -42,6 +42,17 @@ Author: Bruno Le Floch and Joseph Wright
 \c__fp_Bigg_leading_shift_int=\count131
 \c__fp_Bigg_middle_shift_int=\count132
 \c__fp_Bigg_trailing_shift_int=\count133
+\l__sort_length_int=\count134
+\l__sort_min_int=\count135
+\l__sort_top_int=\count136
+\l__sort_max_int=\count137
+\l__sort_true_max_int=\count138
+\l__sort_block_int=\count139
+\l__sort_begin_int=\count140
+\l__sort_end_int=\count141
+\l__sort_A_int=\count142
+\l__sort_B_int=\count143
+\l__sort_C_int=\count144
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
diff --git a/l3kernel/testfiles/m3expl006.xetex.tlg b/l3kernel/testfiles/m3expl006.xetex.tlg
index c84a661..90c9bf9 100644
--- a/l3kernel/testfiles/m3expl006.xetex.tlg
+++ b/l3kernel/testfiles/m3expl006.xetex.tlg
@@ -42,6 +42,17 @@ Author: Bruno Le Floch and Joseph Wright
 \c__fp_Bigg_leading_shift_int=\count130
 \c__fp_Bigg_middle_shift_int=\count131
 \c__fp_Bigg_trailing_shift_int=\count132
+\l__sort_length_int=\count133
+\l__sort_min_int=\count134
+\l__sort_top_int=\count135
+\l__sort_max_int=\count136
+\l__sort_true_max_int=\count137
+\l__sort_block_int=\count138
+\l__sort_begin_int=\count139
+\l__sort_end_int=\count140
+\l__sort_A_int=\count141
+\l__sort_B_int=\count142
+\l__sort_C_int=\count143
 \c_empty_box=\box56
 \l_tmpa_box=\box57
 \l_tmpb_box=\box58
diff --git a/l3kernel/testfiles/m3int001.luatex.tlg b/l3kernel/testfiles/m3int001.luatex.tlg
index 4c8b867..3403846 100644
--- a/l3kernel/testfiles/m3int001.luatex.tlg
+++ b/l3kernel/testfiles/m3int001.luatex.tlg
@@ -5,11 +5,11 @@ Author: Frank Mittelbach
 TEST 1: allocating new registers; no worries
 ============================================================
 Defining \l_testa_int on line ...
-\l_testa_int=\count137
+\l_testa_int=\count148
 Defining \g_testa_int on line ...
-\g_testa_int=\count138
+\g_testa_int=\count149
 Defining \g_testb_int on line ...
-\g_testb_int=\count139
+\g_testb_int=\count150
 ============================================================
 ============================================================
 TEST 2: allocating same name: errors expected
@@ -32,10 +32,10 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count137
+|   \count148
 |...............................................
 Defining \l_testa_int on line ...
-\l_testa_int=\count140
+\l_testa_int=\count151
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -54,16 +54,16 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count138
+|   \count149
 |...............................................
 Defining \g_testa_int on line ...
-\g_testa_int=\count141
+\g_testa_int=\count152
 ============================================================
 ============================================================
 TEST 3: allocate or clear
 ============================================================
 Defining \l_testb_int on line ...
-\l_testb_int=\count142
+\l_testb_int=\count153
 0
 0
 0
diff --git a/l3kernel/testfiles/m3int001.ptex.tlg b/l3kernel/testfiles/m3int001.ptex.tlg
index bfd1801..8663592 100644
--- a/l3kernel/testfiles/m3int001.ptex.tlg
+++ b/l3kernel/testfiles/m3int001.ptex.tlg
@@ -5,11 +5,11 @@ Author: Frank Mittelbach
 TEST 1: allocating new registers; no worries
 ============================================================
 Defining \l_testa_int on line ...
-\l_testa_int=\count134
+\l_testa_int=\count145
 Defining \g_testa_int on line ...
-\g_testa_int=\count135
+\g_testa_int=\count146
 Defining \g_testb_int on line ...
-\g_testb_int=\count136
+\g_testb_int=\count147
 ============================================================
 ============================================================
 TEST 2: allocating same name: errors expected
@@ -32,10 +32,10 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count134
+|   \count145
 |...............................................
 Defining \l_testa_int on line ...
-\l_testa_int=\count137
+\l_testa_int=\count148
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -54,16 +54,16 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count135
+|   \count146
 |...............................................
 Defining \g_testa_int on line ...
-\g_testa_int=\count138
+\g_testa_int=\count149
 ============================================================
 ============================================================
 TEST 3: allocate or clear
 ============================================================
 Defining \l_testb_int on line ...
-\l_testb_int=\count139
+\l_testb_int=\count150
 0
 0
 0
diff --git a/l3kernel/testfiles/m3int001.tlg b/l3kernel/testfiles/m3int001.tlg
index da5ac1b..6a5c3fc 100644
--- a/l3kernel/testfiles/m3int001.tlg
+++ b/l3kernel/testfiles/m3int001.tlg
@@ -5,11 +5,11 @@ Author: Frank Mittelbach
 TEST 1: allocating new registers; no worries
 ============================================================
 Defining \l_testa_int on line ...
-\l_testa_int=\count137
+\l_testa_int=\count148
 Defining \g_testa_int on line ...
-\g_testa_int=\count138
+\g_testa_int=\count149
 Defining \g_testb_int on line ...
-\g_testb_int=\count139
+\g_testb_int=\count150
 ============================================================
 ============================================================
 TEST 2: allocating same name: errors expected
@@ -32,10 +32,10 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count137
+|   \count148
 |...............................................
 Defining \l_testa_int on line ...
-\l_testa_int=\count140
+\l_testa_int=\count151
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -54,16 +54,16 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count138
+|   \count149
 |...............................................
 Defining \g_testa_int on line ...
-\g_testa_int=\count141
+\g_testa_int=\count152
 ============================================================
 ============================================================
 TEST 3: allocate or clear
 ============================================================
 Defining \l_testb_int on line ...
-\l_testb_int=\count142
+\l_testb_int=\count153
 0
 0
 0
diff --git a/l3kernel/testfiles/m3int001.uptex.tlg b/l3kernel/testfiles/m3int001.uptex.tlg
index f9a3c0d..1f1ddd2 100644
--- a/l3kernel/testfiles/m3int001.uptex.tlg
+++ b/l3kernel/testfiles/m3int001.uptex.tlg
@@ -5,11 +5,11 @@ Author: Frank Mittelbach
 TEST 1: allocating new registers; no worries
 ============================================================
 Defining \l_testa_int on line ...
-\l_testa_int=\count134
+\l_testa_int=\count145
 Defining \g_testa_int on line ...
-\g_testa_int=\count135
+\g_testa_int=\count146
 Defining \g_testb_int on line ...
-\g_testb_int=\count136
+\g_testb_int=\count147
 ============================================================
 ============================================================
 TEST 2: allocating same name: errors expected
@@ -32,10 +32,10 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count134
+|   \count145
 |...............................................
 Defining \l_testa_int on line ...
-\l_testa_int=\count137
+\l_testa_int=\count148
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -54,16 +54,16 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count135
+|   \count146
 |...............................................
 Defining \g_testa_int on line ...
-\g_testa_int=\count138
+\g_testa_int=\count149
 ============================================================
 ============================================================
 TEST 3: allocate or clear
 ============================================================
 Defining \l_testb_int on line ...
-\l_testb_int=\count139
+\l_testb_int=\count150
 0
 0
 0
diff --git a/l3kernel/testfiles/m3int001.xetex.tlg b/l3kernel/testfiles/m3int001.xetex.tlg
index c66e0f3..eb57790 100644
--- a/l3kernel/testfiles/m3int001.xetex.tlg
+++ b/l3kernel/testfiles/m3int001.xetex.tlg
@@ -5,11 +5,11 @@ Author: Frank Mittelbach
 TEST 1: allocating new registers; no worries
 ============================================================
 Defining \l_testa_int on line ...
-\l_testa_int=\count133
+\l_testa_int=\count144
 Defining \g_testa_int on line ...
-\g_testa_int=\count134
+\g_testa_int=\count145
 Defining \g_testb_int on line ...
-\g_testb_int=\count135
+\g_testb_int=\count146
 ============================================================
 ============================================================
 TEST 2: allocating same name: errors expected
@@ -32,10 +32,10 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count133
+|   \count144
 |...............................................
 Defining \l_testa_int on line ...
-\l_testa_int=\count136
+\l_testa_int=\count147
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -54,16 +54,16 @@ l. ...  }
 | this name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count134
+|   \count145
 |...............................................
 Defining \g_testa_int on line ...
-\g_testa_int=\count137
+\g_testa_int=\count148
 ============================================================
 ============================================================
 TEST 3: allocate or clear
 ============================================================
 Defining \l_testb_int on line ...
-\l_testb_int=\count138
+\l_testb_int=\count149
 0
 0
 0
diff --git a/l3kernel/testfiles/m3int002.luatex.tlg b/l3kernel/testfiles/m3int002.luatex.tlg
index 5b4fee2..2feebe4 100644
--- a/l3kernel/testfiles/m3int002.luatex.tlg
+++ b/l3kernel/testfiles/m3int002.luatex.tlg
@@ -164,19 +164,19 @@ TEST 13: Integer division: modulo
 TEST 14: Integer creation
 ============================================================
 Defining \l_A_int on line ...
-\l_A_int=\count138
+\l_A_int=\count149
 Defining \g_A_int on line ...
-\g_A_int=\count139
-\count138
-\count139
+\g_A_int=\count150
+\count149
+\count150
 Defining \l_B_int on line ...
-\l_B_int=\count140
+\l_B_int=\count151
 Defining \g_B_int on line ...
-\g_B_int=\count141
-\count140
-\count141
-\count140
-\count141
+\g_B_int=\count152
+\count151
+\count152
+\count151
+\count152
 ============================================================
 ============================================================
 TEST 15: Integer creation errors
@@ -199,10 +199,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count138
+|   \count149
 |...............................................
 Defining \l_A_int on line ...
-\l_A_int=\count142
+\l_A_int=\count153
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -221,10 +221,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count139
+|   \count150
 |...............................................
 Defining \g_A_int on line ...
-\g_A_int=\count143
+\g_A_int=\count154
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -243,10 +243,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count140
+|   \count151
 |...............................................
 Defining \l_B_int on line ...
-\l_B_int=\count144
+\l_B_int=\count155
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -265,10 +265,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count141
+|   \count152
 |...............................................
 Defining \g_B_int on line ...
-\g_B_int=\count145
+\g_B_int=\count156
 ============================================================
 ============================================================
 TEST 16: Constant integer creation
@@ -277,10 +277,10 @@ Defining \c_A_int on line ...
 \char"5
 5
 Defining \c_B_int on line ...
-\c_B_int=\count146
-\count146
+\c_B_int=\count157
+\count157
 -10
-\count146
+\count157
 -10
 ============================================================
 ============================================================
@@ -325,10 +325,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count146
+|   \count157
 |...............................................
 Defining \c_B_int on line ...
-\c_B_int=\count147
+\c_B_int=\count158
 ============================================================
 ============================================================
 TEST 18: Set integers equal
diff --git a/l3kernel/testfiles/m3int002.ptex.tlg b/l3kernel/testfiles/m3int002.ptex.tlg
index ab2be4c..a5ea57d 100644
--- a/l3kernel/testfiles/m3int002.ptex.tlg
+++ b/l3kernel/testfiles/m3int002.ptex.tlg
@@ -164,19 +164,19 @@ TEST 13: Integer division: modulo
 TEST 14: Integer creation
 ============================================================
 Defining \l_A_int on line ...
-\l_A_int=\count135
+\l_A_int=\count146
 Defining \g_A_int on line ...
-\g_A_int=\count136
-\count135
-\count136
+\g_A_int=\count147
+\count146
+\count147
 Defining \l_B_int on line ...
-\l_B_int=\count137
+\l_B_int=\count148
 Defining \g_B_int on line ...
-\g_B_int=\count138
-\count137
-\count138
-\count137
-\count138
+\g_B_int=\count149
+\count148
+\count149
+\count148
+\count149
 ============================================================
 ============================================================
 TEST 15: Integer creation errors
@@ -199,10 +199,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count135
+|   \count146
 |...............................................
 Defining \l_A_int on line ...
-\l_A_int=\count139
+\l_A_int=\count150
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -221,10 +221,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count136
+|   \count147
 |...............................................
 Defining \g_A_int on line ...
-\g_A_int=\count140
+\g_A_int=\count151
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -243,10 +243,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count137
+|   \count148
 |...............................................
 Defining \l_B_int on line ...
-\l_B_int=\count141
+\l_B_int=\count152
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -265,10 +265,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count138
+|   \count149
 |...............................................
 Defining \g_B_int on line ...
-\g_B_int=\count142
+\g_B_int=\count153
 ============================================================
 ============================================================
 TEST 16: Constant integer creation
@@ -277,10 +277,10 @@ Defining \c_A_int on line ...
 \mathchar"5
 5
 Defining \c_B_int on line ...
-\c_B_int=\count143
-\count143
+\c_B_int=\count154
+\count154
 -10
-\count143
+\count154
 -10
 ============================================================
 ============================================================
@@ -325,10 +325,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count143
+|   \count154
 |...............................................
 Defining \c_B_int on line ...
-\c_B_int=\count144
+\c_B_int=\count155
 ============================================================
 ============================================================
 TEST 18: Set integers equal
diff --git a/l3kernel/testfiles/m3int002.tlg b/l3kernel/testfiles/m3int002.tlg
index b792a57..81188bf 100644
--- a/l3kernel/testfiles/m3int002.tlg
+++ b/l3kernel/testfiles/m3int002.tlg
@@ -164,19 +164,19 @@ TEST 13: Integer division: modulo
 TEST 14: Integer creation
 ============================================================
 Defining \l_A_int on line ...
-\l_A_int=\count138
+\l_A_int=\count149
 Defining \g_A_int on line ...
-\g_A_int=\count139
-\count138
-\count139
+\g_A_int=\count150
+\count149
+\count150
 Defining \l_B_int on line ...
-\l_B_int=\count140
+\l_B_int=\count151
 Defining \g_B_int on line ...
-\g_B_int=\count141
-\count140
-\count141
-\count140
-\count141
+\g_B_int=\count152
+\count151
+\count152
+\count151
+\count152
 ============================================================
 ============================================================
 TEST 15: Integer creation errors
@@ -199,10 +199,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count138
+|   \count149
 |...............................................
 Defining \l_A_int on line ...
-\l_A_int=\count142
+\l_A_int=\count153
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -221,10 +221,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count139
+|   \count150
 |...............................................
 Defining \g_A_int on line ...
-\g_A_int=\count143
+\g_A_int=\count154
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -243,10 +243,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count140
+|   \count151
 |...............................................
 Defining \l_B_int on line ...
-\l_B_int=\count144
+\l_B_int=\count155
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -265,10 +265,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count141
+|   \count152
 |...............................................
 Defining \g_B_int on line ...
-\g_B_int=\count145
+\g_B_int=\count156
 ============================================================
 ============================================================
 TEST 16: Constant integer creation
@@ -277,10 +277,10 @@ Defining \c_A_int on line ...
 \mathchar"5
 5
 Defining \c_B_int on line ...
-\c_B_int=\count146
-\count146
+\c_B_int=\count157
+\count157
 -10
-\count146
+\count157
 -10
 ============================================================
 ============================================================
@@ -325,10 +325,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count146
+|   \count157
 |...............................................
 Defining \c_B_int on line ...
-\c_B_int=\count147
+\c_B_int=\count158
 ============================================================
 ============================================================
 TEST 18: Set integers equal
diff --git a/l3kernel/testfiles/m3int002.uptex.tlg b/l3kernel/testfiles/m3int002.uptex.tlg
index 8ab8bf3..8e4bf87 100644
--- a/l3kernel/testfiles/m3int002.uptex.tlg
+++ b/l3kernel/testfiles/m3int002.uptex.tlg
@@ -164,19 +164,19 @@ TEST 13: Integer division: modulo
 TEST 14: Integer creation
 ============================================================
 Defining \l_A_int on line ...
-\l_A_int=\count135
+\l_A_int=\count146
 Defining \g_A_int on line ...
-\g_A_int=\count136
-\count135
-\count136
+\g_A_int=\count147
+\count146
+\count147
 Defining \l_B_int on line ...
-\l_B_int=\count137
+\l_B_int=\count148
 Defining \g_B_int on line ...
-\g_B_int=\count138
-\count137
-\count138
-\count137
-\count138
+\g_B_int=\count149
+\count148
+\count149
+\count148
+\count149
 ============================================================
 ============================================================
 TEST 15: Integer creation errors
@@ -199,10 +199,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count135
+|   \count146
 |...............................................
 Defining \l_A_int on line ...
-\l_A_int=\count139
+\l_A_int=\count150
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -221,10 +221,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count136
+|   \count147
 |...............................................
 Defining \g_A_int on line ...
-\g_A_int=\count140
+\g_A_int=\count151
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -243,10 +243,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count137
+|   \count148
 |...............................................
 Defining \l_B_int on line ...
-\l_B_int=\count141
+\l_B_int=\count152
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -265,10 +265,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count138
+|   \count149
 |...............................................
 Defining \g_B_int on line ...
-\g_B_int=\count142
+\g_B_int=\count153
 ============================================================
 ============================================================
 TEST 16: Constant integer creation
@@ -277,10 +277,10 @@ Defining \c_A_int on line ...
 \kchar"5
 5
 Defining \c_B_int on line ...
-\c_B_int=\count143
-\count143
+\c_B_int=\count154
+\count154
 -10
-\count143
+\count154
 -10
 ============================================================
 ============================================================
@@ -325,10 +325,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count143
+|   \count154
 |...............................................
 Defining \c_B_int on line ...
-\c_B_int=\count144
+\c_B_int=\count155
 ============================================================
 ============================================================
 TEST 18: Set integers equal
diff --git a/l3kernel/testfiles/m3int002.xetex.tlg b/l3kernel/testfiles/m3int002.xetex.tlg
index c056928..6dd3f73 100644
--- a/l3kernel/testfiles/m3int002.xetex.tlg
+++ b/l3kernel/testfiles/m3int002.xetex.tlg
@@ -164,19 +164,19 @@ TEST 13: Integer division: modulo
 TEST 14: Integer creation
 ============================================================
 Defining \l_A_int on line ...
-\l_A_int=\count134
+\l_A_int=\count145
 Defining \g_A_int on line ...
-\g_A_int=\count135
-\count134
-\count135
+\g_A_int=\count146
+\count145
+\count146
 Defining \l_B_int on line ...
-\l_B_int=\count136
+\l_B_int=\count147
 Defining \g_B_int on line ...
-\g_B_int=\count137
-\count136
-\count137
-\count136
-\count137
+\g_B_int=\count148
+\count147
+\count148
+\count147
+\count148
 ============================================================
 ============================================================
 TEST 15: Integer creation errors
@@ -199,10 +199,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count134
+|   \count145
 |...............................................
 Defining \l_A_int on line ...
-\l_A_int=\count138
+\l_A_int=\count149
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -221,10 +221,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count135
+|   \count146
 |...............................................
 Defining \g_A_int on line ...
-\g_A_int=\count139
+\g_A_int=\count150
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -243,10 +243,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count136
+|   \count147
 |...............................................
 Defining \l_B_int on line ...
-\l_B_int=\count140
+\l_B_int=\count151
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! LaTeX error: "kernel/command-already-defined"
@@ -265,10 +265,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count137
+|   \count148
 |...............................................
 Defining \g_B_int on line ...
-\g_B_int=\count141
+\g_B_int=\count152
 ============================================================
 ============================================================
 TEST 16: Constant integer creation
@@ -277,10 +277,10 @@ Defining \c_A_int on line ...
 \char"5
 5
 Defining \c_B_int on line ...
-\c_B_int=\count142
-\count142
+\c_B_int=\count153
+\count153
 -10
-\count142
+\count153
 -10
 ============================================================
 ============================================================
@@ -325,10 +325,10 @@ l. ...}
 | name has already been used elsewhere.
 | 
 | The current meaning is:
-|   \count142
+|   \count153
 |...............................................
 Defining \c_B_int on line ...
-\c_B_int=\count143
+\c_B_int=\count154
 ============================================================
 ============================================================
 TEST 18: Set integers equal
diff --git a/l3experimental/l3sort/testfiles/m3sort001.luatex.tlg b/l3kernel/testfiles/m3sort001.luatex.tlg
similarity index 100%
rename from l3experimental/l3sort/testfiles/m3sort001.luatex.tlg
rename to l3kernel/testfiles/m3sort001.luatex.tlg
diff --git a/l3experimental/l3sort/testfiles/m3sort001.lvt b/l3kernel/testfiles/m3sort001.lvt
similarity index 98%
rename from l3experimental/l3sort/testfiles/m3sort001.lvt
rename to l3kernel/testfiles/m3sort001.lvt
index f5f3c32..9142fb2 100644
--- a/l3experimental/l3sort/testfiles/m3sort001.lvt
+++ b/l3kernel/testfiles/m3sort001.lvt
@@ -1,9 +1,9 @@
 %
-% Copyright (C) 2011 LaTeX3 Project
+% Copyright (C) 2011,2017 LaTeX3 Project
 %
 \documentclass{minimal}
 \input{regression-test}
-\RequirePackage{expl3,l3sort}
+\RequirePackage{expl3}
 
 \begin{document}
 
diff --git a/l3experimental/l3sort/testfiles/m3sort001.tlg b/l3kernel/testfiles/m3sort001.tlg
similarity index 100%
rename from l3experimental/l3sort/testfiles/m3sort001.tlg
rename to l3kernel/testfiles/m3sort001.tlg
diff --git a/l3experimental/l3sort/testfiles/m3sort002.lvt b/l3kernel/testfiles/m3sort002.lvt
similarity index 93%
rename from l3experimental/l3sort/testfiles/m3sort002.lvt
rename to l3kernel/testfiles/m3sort002.lvt
index 1e24964..8ebd0dc 100644
--- a/l3experimental/l3sort/testfiles/m3sort002.lvt
+++ b/l3kernel/testfiles/m3sort002.lvt
@@ -1,9 +1,9 @@
 %
-% Copyright (C) 2012,2014 LaTeX3 Project
+% Copyright (C) 2012,2014,2017 LaTeX3 Project
 %
 \documentclass{minimal}
 \input{regression-test}
-\RequirePackage{expl3,l3sort}
+\RequirePackage{expl3}
 
 \begin{document}
 
diff --git a/l3experimental/l3sort/testfiles/m3sort002.tlg b/l3kernel/testfiles/m3sort002.tlg
similarity index 100%
rename from l3experimental/l3sort/testfiles/m3sort002.tlg
rename to l3kernel/testfiles/m3sort002.tlg

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the latex3-commits mailing list