[latex3-commits] [git/LaTeX3-latex3-latex3] range: Move\ tl_range:nnn to stable (928f4ee)

Joseph Wright joseph.wright at morningstar2.co.uk
Thu Nov 1 11:49:24 CET 2018


Repository : https://github.com/latex3/latex3
On branch  : range
Link       : https://github.com/latex3/latex3/commit/928f4ee2456d25671a97604b68cfdb67e83556d1

>---------------------------------------------------------------

commit 928f4ee2456d25671a97604b68cfdb67e83556d1
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Thu Nov 1 10:49:24 2018 +0000

    Move\ tl_range:nnn to stable
    
    At the moment, leave the more tricky braced/unbraced cases as-is.


>---------------------------------------------------------------

928f4ee2456d25671a97604b68cfdb67e83556d1
 l3kernel/l3candidates.dtx               |  183 +-----------------------------
 l3kernel/l3tl.dtx                       |  189 +++++++++++++++++++++++++++++++
 l3kernel/testfiles/m3expl001.luatex.tlg |   30 ++---
 l3kernel/testfiles/m3expl001.ptex.tlg   |   30 ++---
 l3kernel/testfiles/m3expl001.tlg        |   30 ++---
 l3kernel/testfiles/m3expl001.uptex.tlg  |   30 ++---
 l3kernel/testfiles/m3expl001.xetex.tlg  |   30 ++---
 l3kernel/testfiles/m3expl003.luatex.tlg |   30 ++---
 l3kernel/testfiles/m3expl003.ptex.tlg   |   30 ++---
 l3kernel/testfiles/m3expl003.tlg        |   30 ++---
 l3kernel/testfiles/m3expl003.uptex.tlg  |   30 ++---
 l3kernel/testfiles/m3expl003.xetex.tlg  |   30 ++---
 12 files changed, 341 insertions(+), 331 deletions(-)

diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index f37e031..ba0289e 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -1262,44 +1262,6 @@
 %   \end{texnote}
 % \end{function}
 %
-% \begin{function}[EXP, added = 2017-02-17, updated = 2017-07-15]
-%   {\tl_range:Nnn, \tl_range:nnn}
-%   \begin{syntax}
-%     \cs{tl_range:Nnn} \meta{tl~var} \Arg{start index} \Arg{end index}
-%     \cs{tl_range:nnn} \Arg{token list} \Arg{start index} \Arg{end index}
-%   \end{syntax}
-%   Leaves in the input stream the items from the \meta{start index} to the
-%   \meta{end index} inclusive.  Spaces and braces are preserved between
-%   the items returned (but never at either end of the list).  Positive
-%   \meta{indices} are counted
-%   from the start of the \meta{token list}, $1$~being the first item, and
-%   negative \meta{indices} are counted from the end of the token list,
-%   $-1$~being the last item.  If either of \meta{start index} or
-%   \meta{end index} is~$0$, the result is empty.  For instance,
-%   \begin{verbatim}
-%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { 2 } { 5 } }
-%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { -4 } { -1 } }
-%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { -2 } { -1 } }
-%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { 0 } { -1 } }
-%   \end{verbatim}
-%   prints \verb*|bcd {e{}}|, \verb*|cd {e{}}f|, \verb*|{e{}}f| and an empty
-%   line to the terminal. The \meta{start index} must always be smaller than
-%   or equal to the \meta{end index}: if this is not the case then no output
-%   is generated. Thus
-%   \begin{verbatim}
-%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { 5 } { 2 } }
-%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { -1 } { -4 } }
-%   \end{verbatim}
-%   both yield empty token lists.  For improved performance, see
-%   \cs{tl_range_braced:nnn} and \cs{tl_range_unbraced:nnn}.
-%   \begin{texnote}
-%     The result is returned within the \tn{unexpanded}
-%     primitive (\cs{exp_not:n}), which means that the \meta{item}
-%     does not expand further when appearing in an \texttt{x}-type
-%     argument expansion.
-%   \end{texnote}
-% \end{function}
-%
 % \begin{function}[EXP, added = 2017-07-15]
 %   {
 %     \tl_range_braced:Nnn, \tl_range_braced:cnn, \tl_range_braced:nnn,
@@ -4986,51 +4948,15 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% Some preliminary code is needed for the \cs{tl_range:nnn} family of functions.
-%
-% \begin{macro}{\tl_range:Nnn, \tl_range:cnn, \tl_range:nnn}
 % \begin{macro}{\tl_range_braced:Nnn, \tl_range_braced:cnn, \tl_range_braced:nnn}
 % \begin{macro}
 %   {\tl_range_unbraced:Nnn, \tl_range_unbraced:cnn, \tl_range_unbraced:nnn}
 % \begin{macro}
 %   {
-%     \@@_range:Nnnn, \@@_range:nnnNn, \@@_range:nnNn, \@@_range_skip:w,
 %     \@@_range_braced:w, \@@_range_collect_braced:w,
-%     \@@_range_unbraced:w, \@@_range_collect_unbraced:w,
-%     \@@_range:w, \@@_range_skip_spaces:n, \@@_range_collect:nn,
-%     \@@_range_collect:ff, \@@_range_collect_space:nw,
-%     \@@_range_collect_N:nN, \@@_range_collect_group:nN,
+%     \@@_range_unbraced:w, \@@_range_collect_unbraced:w
 %   }
-%   To avoid checking for the end of the token list at every step, start
-%   by counting the number $l$ of items and \enquote{normalizing} the
-%   bounds, namely clamping them to the interval $[0,l]$ and dealing
-%   with negative indices.  More precisely, \cs{@@_range_items:nnNn}
-%   receives the number of items to skip at the beginning of the token
-%   list, the index of the last item to keep, a function among
-%   \cs{@@_range:w}, \cs{@@_range_braced:w}, \cs{@@_range_unbraced:w},
-%   and the token list itself.  If nothing should be kept, leave |{}|:
-%   this stops the \texttt{f}-expansion of \cs{tl_head:f} and that
-%   function produces an empty result.  Otherwise, repeatedly call
-%   \cs{@@_range_skip:w} to delete |#1| items from the input stream (the
-%   extra brace group avoids an off-by-one shift).  For the braced
-%   version \cs{@@_range_braced:w} sets up
-%   \cs{@@_range_collect_braced:w} which stores items one by one in an
-%   argument after the semicolon.  The unbraced version is almost
-%   identical.  The version preserving braces and spaces starts by
-%   deleting spaces before the argument to avoid collecting them, and
-%   sets up \cs{@@_range_collect:nn} with a first argument of the form
-%   |{| \Arg{collected} \meta{tokens} |}|, whose head is the collected
-%   tokens and whose tail is what remains of the original token list.
-%   This form makes it easier to move tokens to the \meta{collected}
-%   tokens.  Depending on the first token of the tail, either just move
-%   it (if it is a space) or also decrement the number of items left to
-%   find.  Eventually, the result is a brace group followed by the rest
-%   of the token list, and \cs{tl_head:f} cleans up and gives the result
-%   in \cs{exp_not:n}.
-%    \begin{macrocode}
-\cs_new:Npn \tl_range:Nnn { \exp_args:No \tl_range:nnn }
-\cs_generate_variant:Nn \tl_range:Nnn { c }
-\cs_new:Npn \tl_range:nnn { \@@_range:Nnnn \@@_range:w }
+%    \begin{macrocode}
 \cs_new:Npn \tl_range_braced:Nnn { \exp_args:No \tl_range_braced:nnn }
 \cs_generate_variant:Nn \tl_range_braced:Nnn { c }
 \cs_new:Npn \tl_range_braced:nnn { \@@_range:Nnnn \@@_range_braced:w }
@@ -5039,44 +4965,6 @@
 \cs_generate_variant:Nn \tl_range_unbraced:Nnn { c }
 \cs_new:Npn \tl_range_unbraced:nnn
   { \@@_range:Nnnn \@@_range_unbraced:w }
-\cs_new:Npn \@@_range:Nnnn #1#2#3#4
-  {
-    \tl_head:f
-      {
-        \exp_args:Nf \@@_range:nnnNn
-          { \tl_count:n {#2} } {#3} {#4} #1 {#2}
-      }
-  }
-\cs_new:Npn \@@_range:nnnNn #1#2#3
-  {
-    \exp_args:Nff \@@_range:nnNn
-      {
-        \exp_args:Nf \@@_range_normalize:nn
-          { \int_eval:n { #2 - 1 } } {#1}
-      }
-      {
-        \exp_args:Nf \@@_range_normalize:nn
-          { \int_eval:n {#3} } {#1}
-      }
-  }
-\cs_new:Npn \@@_range:nnNn #1#2#3#4
-  {
-    \if_int_compare:w #2 > #1 \exp_stop_f: \else:
-      \exp_after:wN { \exp_after:wN }
-    \fi:
-    \exp_after:wN #3
-    \int_value:w \int_eval:n { #2 - #1 } \exp_after:wN ;
-    \exp_after:wN { \exp:w \@@_range_skip:w #1 ; { } #4 }
-  }
-\cs_new:Npn \@@_range_skip:w #1 ; #2
-  {
-    \if_int_compare:w #1 > 0 \exp_stop_f:
-      \exp_after:wN \@@_range_skip:w
-      \int_value:w \int_eval:n { #1 - 1 } \exp_after:wN ;
-    \else:
-      \exp_after:wN \exp_end:
-    \fi:
-  }
 \cs_new:Npn \@@_range_braced:w #1 ; #2
   { \@@_range_collect_braced:w #1 ; { } #2 }
 \cs_new:Npn \@@_range_unbraced:w #1 ; #2
@@ -5097,79 +4985,12 @@
     \fi:
     { #2 #3 }
   }
-\cs_new:Npn \@@_range:w #1 ; #2
-  {
-    \exp_args:Nf \@@_range_collect:nn
-      { \@@_range_skip_spaces:n {#2} } {#1}
-  }
-\cs_new:Npn \@@_range_skip_spaces:n #1
-  {
-    \tl_if_head_is_space:nTF {#1}
-      { \exp_args:Nf \@@_range_skip_spaces:n {#1} }
-      { { } #1 }
-  }
-\cs_new:Npn \@@_range_collect:nn #1#2
-  {
-    \int_compare:nNnTF {#2} = 0
-      {#1}
-      {
-        \exp_args:No \tl_if_head_is_space:nTF { \use_none:n #1 }
-          {
-            \exp_args:Nf \@@_range_collect:nn
-              { \@@_range_collect_space:nw #1 }
-              {#2}
-          }
-          {
-            \@@_range_collect:ff
-              {
-                \exp_args:No \tl_if_head_is_N_type:nTF { \use_none:n #1 }
-                  { \@@_range_collect_N:nN }
-                  { \@@_range_collect_group:nn }
-                #1
-              }
-              { \int_eval:n { #2 - 1 } }
-          }
-      }
-  }
-\cs_new:Npn \@@_range_collect_space:nw #1 ~ { { #1 ~ } }
-\cs_new:Npn \@@_range_collect_N:nN #1#2 { { #1 #2 } }
-\cs_new:Npn \@@_range_collect_group:nn #1#2 { { #1 {#2} } }
-\cs_generate_variant:Nn \@@_range_collect:nn { ff }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
 % \end{macro}
 %
-% \begin{macro}[EXP]{\@@_range_normalize:nn}
-%   This function converts an \meta{index} argument into an explicit
-%   position in the token list (a result of $0$ denoting \enquote{out of
-%   bounds}).  Expects two explicit integer arguments: the \meta{index}
-%   |#1| and the string count~|#2|.  If |#1| is negative, replace it by
-%   $|#1| + |#2| + 1$, then limit to the range $[0, |#2|]$.
-%    \begin{macrocode}
-\cs_new:Npn \@@_range_normalize:nn #1#2
-  {
-    \int_eval:n
-      {
-        \if_int_compare:w #1 < 0 \exp_stop_f:
-          \if_int_compare:w #1 < -#2 \exp_stop_f:
-            0
-          \else:
-            #1 + #2 + 1
-          \fi:
-        \else:
-          \if_int_compare:w #1 < #2 \exp_stop_f:
-            #1
-          \else:
-            #2
-          \fi:
-        \fi:
-      }
-  }
-%    \end{macrocode}
-% \end{macro}
-%
 % \subsection{Additions to \pkg{l3token}}
 %
 % \begin{variable}{\c_catcode_active_space_tl}
diff --git a/l3kernel/l3tl.dtx b/l3kernel/l3tl.dtx
index 8248feb..f61fb99 100644
--- a/l3kernel/l3tl.dtx
+++ b/l3kernel/l3tl.dtx
@@ -1009,6 +1009,44 @@
 %   \end{texnote}
 % \end{function}
 %
+% \begin{function}[EXP, added = 2017-02-17, updated = 2017-07-15]
+%   {\tl_range:Nnn, \tl_range:nnn}
+%   \begin{syntax}
+%     \cs{tl_range:Nnn} \meta{tl~var} \Arg{start index} \Arg{end index}
+%     \cs{tl_range:nnn} \Arg{token list} \Arg{start index} \Arg{end index}
+%   \end{syntax}
+%   Leaves in the input stream the items from the \meta{start index} to the
+%   \meta{end index} inclusive.  Spaces and braces are preserved between
+%   the items returned (but never at either end of the list).  Positive
+%   \meta{indices} are counted
+%   from the start of the \meta{token list}, $1$~being the first item, and
+%   negative \meta{indices} are counted from the end of the token list,
+%   $-1$~being the last item.  If either of \meta{start index} or
+%   \meta{end index} is~$0$, the result is empty.  For instance,
+%   \begin{verbatim}
+%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { 2 } { 5 } }
+%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { -4 } { -1 } }
+%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { -2 } { -1 } }
+%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { 0 } { -1 } }
+%   \end{verbatim}
+%   prints \verb*|bcd {e{}}|, \verb*|cd {e{}}f|, \verb*|{e{}}f| and an empty
+%   line to the terminal. The \meta{start index} must always be smaller than
+%   or equal to the \meta{end index}: if this is not the case then no output
+%   is generated. Thus
+%   \begin{verbatim}
+%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { 5 } { 2 } }
+%     \iow_term:x { \tl_range:nnn { abcd~{e{}}f } { -1 } { -4 } }
+%   \end{verbatim}
+%   both yield empty token lists.  For improved performance, see
+%   \cs{tl_range_braced:nnn} and \cs{tl_range_unbraced:nnn}.
+%   \begin{texnote}
+%     The result is returned within the \tn{unexpanded}
+%     primitive (\cs{exp_not:n}), which means that the \meta{item}
+%     does not expand further when appearing in an \texttt{x}-type
+%     argument expansion.
+%   \end{texnote}
+% \end{function}
+%
 % \section{Viewing token lists}
 %
 % \begin{function}[updated = 2015-08-01]{\tl_show:N, \tl_show:c}
@@ -2964,6 +3002,157 @@
 % \end{macro}
 % \end{macro}
 %
+% \begin{macro}{\tl_range:Nnn, \tl_range:cnn, \tl_range:nnn}
+% \begin{macro}
+%   {
+%     \@@_range:Nnnn, \@@_range:nnnNn, \@@_range:nnNn, \@@_range_skip:w,
+%     \@@_range_braced:w, \@@_range_collect_braced:w,
+%     \@@_range_unbraced:w, \@@_range_collect_unbraced:w,
+%     \@@_range:w, \@@_range_skip_spaces:n, \@@_range_collect:nn,
+%     \@@_range_collect:ff, \@@_range_collect_space:nw,
+%     \@@_range_collect_N:nN, \@@_range_collect_group:nN,
+%   }
+%   To avoid checking for the end of the token list at every step, start
+%   by counting the number $l$ of items and \enquote{normalizing} the
+%   bounds, namely clamping them to the interval $[0,l]$ and dealing
+%   with negative indices.  More precisely, \cs{@@_range_items:nnNn}
+%   receives the number of items to skip at the beginning of the token
+%   list, the index of the last item to keep, a function among
+%   \cs{@@_range:w}, \cs{@@_range_braced:w}, \cs{@@_range_unbraced:w},
+%   and the token list itself.  If nothing should be kept, leave |{}|:
+%   this stops the \texttt{f}-expansion of \cs{tl_head:f} and that
+%   function produces an empty result.  Otherwise, repeatedly call
+%   \cs{@@_range_skip:w} to delete |#1| items from the input stream (the
+%   extra brace group avoids an off-by-one shift).  For the braced
+%   version \cs{@@_range_braced:w} sets up
+%   \cs{@@_range_collect_braced:w} which stores items one by one in an
+%   argument after the semicolon.  The unbraced version is almost
+%   identical.  The version preserving braces and spaces starts by
+%   deleting spaces before the argument to avoid collecting them, and
+%   sets up \cs{@@_range_collect:nn} with a first argument of the form
+%   |{| \Arg{collected} \meta{tokens} |}|, whose head is the collected
+%   tokens and whose tail is what remains of the original token list.
+%   This form makes it easier to move tokens to the \meta{collected}
+%   tokens.  Depending on the first token of the tail, either just move
+%   it (if it is a space) or also decrement the number of items left to
+%   find.  Eventually, the result is a brace group followed by the rest
+%   of the token list, and \cs{tl_head:f} cleans up and gives the result
+%   in \cs{exp_not:n}.
+%    \begin{macrocode}
+\cs_new:Npn \tl_range:Nnn { \exp_args:No \tl_range:nnn }
+\cs_generate_variant:Nn \tl_range:Nnn { c }
+\cs_new:Npn \tl_range:nnn { \@@_range:Nnnn \@@_range:w }
+\cs_new:Npn \@@_range:Nnnn #1#2#3#4
+  {
+    \tl_head:f
+      {
+        \exp_args:Nf \@@_range:nnnNn
+          { \tl_count:n {#2} } {#3} {#4} #1 {#2}
+      }
+  }
+\cs_new:Npn \@@_range:nnnNn #1#2#3
+  {
+    \exp_args:Nff \@@_range:nnNn
+      {
+        \exp_args:Nf \@@_range_normalize:nn
+          { \int_eval:n { #2 - 1 } } {#1}
+      }
+      {
+        \exp_args:Nf \@@_range_normalize:nn
+          { \int_eval:n {#3} } {#1}
+      }
+  }
+\cs_new:Npn \@@_range:nnNn #1#2#3#4
+  {
+    \if_int_compare:w #2 > #1 \exp_stop_f: \else:
+      \exp_after:wN { \exp_after:wN }
+    \fi:
+    \exp_after:wN #3
+    \int_value:w \int_eval:n { #2 - #1 } \exp_after:wN ;
+    \exp_after:wN { \exp:w \@@_range_skip:w #1 ; { } #4 }
+  }
+\cs_new:Npn \@@_range_skip:w #1 ; #2
+  {
+    \if_int_compare:w #1 > 0 \exp_stop_f:
+      \exp_after:wN \@@_range_skip:w
+      \int_value:w \int_eval:n { #1 - 1 } \exp_after:wN ;
+    \else:
+      \exp_after:wN \exp_end:
+    \fi:
+  }
+\cs_new:Npn \@@_range:w #1 ; #2
+  {
+    \exp_args:Nf \@@_range_collect:nn
+      { \@@_range_skip_spaces:n {#2} } {#1}
+  }
+\cs_new:Npn \@@_range_skip_spaces:n #1
+  {
+    \tl_if_head_is_space:nTF {#1}
+      { \exp_args:Nf \@@_range_skip_spaces:n {#1} }
+      { { } #1 }
+  }
+\cs_new:Npn \@@_range_collect:nn #1#2
+  {
+    \int_compare:nNnTF {#2} = 0
+      {#1}
+      {
+        \exp_args:No \tl_if_head_is_space:nTF { \use_none:n #1 }
+          {
+            \exp_args:Nf \@@_range_collect:nn
+              { \@@_range_collect_space:nw #1 }
+              {#2}
+          }
+          {
+            \@@_range_collect:ff
+              {
+                \exp_args:No \tl_if_head_is_N_type:nTF { \use_none:n #1 }
+                  { \@@_range_collect_N:nN }
+                  { \@@_range_collect_group:nn }
+                #1
+              }
+              { \int_eval:n { #2 - 1 } }
+          }
+      }
+  }
+\cs_new:Npn \@@_range_collect_space:nw #1 ~ { { #1 ~ } }
+\cs_new:Npn \@@_range_collect_N:nN #1#2 { { #1 #2 } }
+\cs_new:Npn \@@_range_collect_group:nn #1#2 { { #1 {#2} } }
+\cs_generate_variant:Nn \@@_range_collect:nn { ff }
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}[EXP]{\@@_range_normalize:nn}
+%   This function converts an \meta{index} argument into an explicit
+%   position in the token list (a result of $0$ denoting \enquote{out of
+%   bounds}).  Expects two explicit integer arguments: the \meta{index}
+%   |#1| and the string count~|#2|.  If |#1| is negative, replace it by
+%   $|#1| + |#2| + 1$, then limit to the range $[0, |#2|]$.
+%    \begin{macrocode}
+\cs_new:Npn \@@_range_normalize:nn #1#2
+  {
+    \int_eval:n
+      {
+        \if_int_compare:w #1 < 0 \exp_stop_f:
+          \if_int_compare:w #1 < -#2 \exp_stop_f:
+            0
+          \else:
+            #1 + #2 + 1
+          \fi:
+        \else:
+          \if_int_compare:w #1 < #2 \exp_stop_f:
+            #1
+          \else:
+            #2
+          \fi:
+        \fi:
+      }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 % \subsection{Viewing token lists}
 %
 % \begin{macro}{\tl_show:N, \tl_show:c, \tl_log:N, \tl_log:c, \@@_show:NN}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 60ca59a..930d255 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -628,6 +628,21 @@ Defining \__tl_item_aux:nn on line ...
 Defining \__tl_item:nn on line ...
 Defining \tl_item:Nn on line ...
 Defining \tl_item:cn on line ...
+Defining \tl_range:Nnn on line ...
+Defining \tl_range:cnn on line ...
+Defining \tl_range:nnn on line ...
+Defining \__tl_range:Nnnn on line ...
+Defining \__tl_range:nnnNn on line ...
+Defining \__tl_range:nnNn on line ...
+Defining \__tl_range_skip:w on line ...
+Defining \__tl_range:w on line ...
+Defining \__tl_range_skip_spaces:n on line ...
+Defining \__tl_range_collect:nn on line ...
+Defining \__tl_range_collect_space:nw on line ...
+Defining \__tl_range_collect_N:nN on line ...
+Defining \__tl_range_collect_group:nn on line ...
+Defining \__tl_range_collect:ff on line ...
+Defining \__tl_range_normalize:nn on line ...
 Defining \tl_show:N on line ...
 Defining \tl_show:c on line ...
 Defining \tl_log:N on line ...
@@ -6067,31 +6082,16 @@ Defining \__tl_build_end_loop:NN on line ...
 Defining \tl_rand_item:n on line ...
 Defining \tl_rand_item:N on line ...
 Defining \tl_rand_item:c on line ...
-Defining \tl_range:Nnn on line ...
-Defining \tl_range:cnn on line ...
-Defining \tl_range:nnn on line ...
 Defining \tl_range_braced:Nnn on line ...
 Defining \tl_range_braced:cnn on line ...
 Defining \tl_range_braced:nnn on line ...
 Defining \tl_range_unbraced:Nnn on line ...
 Defining \tl_range_unbraced:cnn on line ...
 Defining \tl_range_unbraced:nnn on line ...
-Defining \__tl_range:Nnnn on line ...
-Defining \__tl_range:nnnNn on line ...
-Defining \__tl_range:nnNn on line ...
-Defining \__tl_range_skip:w on line ...
 Defining \__tl_range_braced:w on line ...
 Defining \__tl_range_unbraced:w on line ...
 Defining \__tl_range_collect_braced:w on line ...
 Defining \__tl_range_collect_unbraced:w on line ...
-Defining \__tl_range:w on line ...
-Defining \__tl_range_skip_spaces:n on line ...
-Defining \__tl_range_collect:nn on line ...
-Defining \__tl_range_collect_space:nw on line ...
-Defining \__tl_range_collect_N:nN on line ...
-Defining \__tl_range_collect_group:nn on line ...
-Defining \__tl_range_collect:ff on line ...
-Defining \__tl_range_normalize:nn on line ...
 Defining \c_catcode_active_space_tl on line ...
 Defining \__peek_execute_branches_N_type: on line ...
 Defining \__peek_N_type:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 14d0648..d85c191 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -665,6 +665,21 @@ Defining \__tl_item_aux:nn on line ...
 Defining \__tl_item:nn on line ...
 Defining \tl_item:Nn on line ...
 Defining \tl_item:cn on line ...
+Defining \tl_range:Nnn on line ...
+Defining \tl_range:cnn on line ...
+Defining \tl_range:nnn on line ...
+Defining \__tl_range:Nnnn on line ...
+Defining \__tl_range:nnnNn on line ...
+Defining \__tl_range:nnNn on line ...
+Defining \__tl_range_skip:w on line ...
+Defining \__tl_range:w on line ...
+Defining \__tl_range_skip_spaces:n on line ...
+Defining \__tl_range_collect:nn on line ...
+Defining \__tl_range_collect_space:nw on line ...
+Defining \__tl_range_collect_N:nN on line ...
+Defining \__tl_range_collect_group:nn on line ...
+Defining \__tl_range_collect:ff on line ...
+Defining \__tl_range_normalize:nn on line ...
 Defining \tl_show:N on line ...
 Defining \tl_show:c on line ...
 Defining \tl_log:N on line ...
@@ -6104,31 +6119,16 @@ Defining \__tl_build_end_loop:NN on line ...
 Defining \tl_rand_item:n on line ...
 Defining \tl_rand_item:N on line ...
 Defining \tl_rand_item:c on line ...
-Defining \tl_range:Nnn on line ...
-Defining \tl_range:cnn on line ...
-Defining \tl_range:nnn on line ...
 Defining \tl_range_braced:Nnn on line ...
 Defining \tl_range_braced:cnn on line ...
 Defining \tl_range_braced:nnn on line ...
 Defining \tl_range_unbraced:Nnn on line ...
 Defining \tl_range_unbraced:cnn on line ...
 Defining \tl_range_unbraced:nnn on line ...
-Defining \__tl_range:Nnnn on line ...
-Defining \__tl_range:nnnNn on line ...
-Defining \__tl_range:nnNn on line ...
-Defining \__tl_range_skip:w on line ...
 Defining \__tl_range_braced:w on line ...
 Defining \__tl_range_unbraced:w on line ...
 Defining \__tl_range_collect_braced:w on line ...
 Defining \__tl_range_collect_unbraced:w on line ...
-Defining \__tl_range:w on line ...
-Defining \__tl_range_skip_spaces:n on line ...
-Defining \__tl_range_collect:nn on line ...
-Defining \__tl_range_collect_space:nw on line ...
-Defining \__tl_range_collect_N:nN on line ...
-Defining \__tl_range_collect_group:nn on line ...
-Defining \__tl_range_collect:ff on line ...
-Defining \__tl_range_normalize:nn on line ...
 Defining \c_catcode_active_space_tl on line ...
 Defining \__peek_execute_branches_N_type: on line ...
 Defining \__peek_N_type:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index d416b7b..c6f93a3 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -665,6 +665,21 @@ Defining \__tl_item_aux:nn on line ...
 Defining \__tl_item:nn on line ...
 Defining \tl_item:Nn on line ...
 Defining \tl_item:cn on line ...
+Defining \tl_range:Nnn on line ...
+Defining \tl_range:cnn on line ...
+Defining \tl_range:nnn on line ...
+Defining \__tl_range:Nnnn on line ...
+Defining \__tl_range:nnnNn on line ...
+Defining \__tl_range:nnNn on line ...
+Defining \__tl_range_skip:w on line ...
+Defining \__tl_range:w on line ...
+Defining \__tl_range_skip_spaces:n on line ...
+Defining \__tl_range_collect:nn on line ...
+Defining \__tl_range_collect_space:nw on line ...
+Defining \__tl_range_collect_N:nN on line ...
+Defining \__tl_range_collect_group:nn on line ...
+Defining \__tl_range_collect:ff on line ...
+Defining \__tl_range_normalize:nn on line ...
 Defining \tl_show:N on line ...
 Defining \tl_show:c on line ...
 Defining \tl_log:N on line ...
@@ -6305,31 +6320,16 @@ Defining \__tl_build_end_loop:NN on line ...
 Defining \tl_rand_item:n on line ...
 Defining \tl_rand_item:N on line ...
 Defining \tl_rand_item:c on line ...
-Defining \tl_range:Nnn on line ...
-Defining \tl_range:cnn on line ...
-Defining \tl_range:nnn on line ...
 Defining \tl_range_braced:Nnn on line ...
 Defining \tl_range_braced:cnn on line ...
 Defining \tl_range_braced:nnn on line ...
 Defining \tl_range_unbraced:Nnn on line ...
 Defining \tl_range_unbraced:cnn on line ...
 Defining \tl_range_unbraced:nnn on line ...
-Defining \__tl_range:Nnnn on line ...
-Defining \__tl_range:nnnNn on line ...
-Defining \__tl_range:nnNn on line ...
-Defining \__tl_range_skip:w on line ...
 Defining \__tl_range_braced:w on line ...
 Defining \__tl_range_unbraced:w on line ...
 Defining \__tl_range_collect_braced:w on line ...
 Defining \__tl_range_collect_unbraced:w on line ...
-Defining \__tl_range:w on line ...
-Defining \__tl_range_skip_spaces:n on line ...
-Defining \__tl_range_collect:nn on line ...
-Defining \__tl_range_collect_space:nw on line ...
-Defining \__tl_range_collect_N:nN on line ...
-Defining \__tl_range_collect_group:nn on line ...
-Defining \__tl_range_collect:ff on line ...
-Defining \__tl_range_normalize:nn on line ...
 Defining \c_catcode_active_space_tl on line ...
 Defining \__peek_execute_branches_N_type: on line ...
 Defining \__peek_N_type:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 55acef8..4d379ea 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -665,6 +665,21 @@ Defining \__tl_item_aux:nn on line ...
 Defining \__tl_item:nn on line ...
 Defining \tl_item:Nn on line ...
 Defining \tl_item:cn on line ...
+Defining \tl_range:Nnn on line ...
+Defining \tl_range:cnn on line ...
+Defining \tl_range:nnn on line ...
+Defining \__tl_range:Nnnn on line ...
+Defining \__tl_range:nnnNn on line ...
+Defining \__tl_range:nnNn on line ...
+Defining \__tl_range_skip:w on line ...
+Defining \__tl_range:w on line ...
+Defining \__tl_range_skip_spaces:n on line ...
+Defining \__tl_range_collect:nn on line ...
+Defining \__tl_range_collect_space:nw on line ...
+Defining \__tl_range_collect_N:nN on line ...
+Defining \__tl_range_collect_group:nn on line ...
+Defining \__tl_range_collect:ff on line ...
+Defining \__tl_range_normalize:nn on line ...
 Defining \tl_show:N on line ...
 Defining \tl_show:c on line ...
 Defining \tl_log:N on line ...
@@ -6302,31 +6317,16 @@ Defining \__tl_build_end_loop:NN on line ...
 Defining \tl_rand_item:n on line ...
 Defining \tl_rand_item:N on line ...
 Defining \tl_rand_item:c on line ...
-Defining \tl_range:Nnn on line ...
-Defining \tl_range:cnn on line ...
-Defining \tl_range:nnn on line ...
 Defining \tl_range_braced:Nnn on line ...
 Defining \tl_range_braced:cnn on line ...
 Defining \tl_range_braced:nnn on line ...
 Defining \tl_range_unbraced:Nnn on line ...
 Defining \tl_range_unbraced:cnn on line ...
 Defining \tl_range_unbraced:nnn on line ...
-Defining \__tl_range:Nnnn on line ...
-Defining \__tl_range:nnnNn on line ...
-Defining \__tl_range:nnNn on line ...
-Defining \__tl_range_skip:w on line ...
 Defining \__tl_range_braced:w on line ...
 Defining \__tl_range_unbraced:w on line ...
 Defining \__tl_range_collect_braced:w on line ...
 Defining \__tl_range_collect_unbraced:w on line ...
-Defining \__tl_range:w on line ...
-Defining \__tl_range_skip_spaces:n on line ...
-Defining \__tl_range_collect:nn on line ...
-Defining \__tl_range_collect_space:nw on line ...
-Defining \__tl_range_collect_N:nN on line ...
-Defining \__tl_range_collect_group:nn on line ...
-Defining \__tl_range_collect:ff on line ...
-Defining \__tl_range_normalize:nn on line ...
 Defining \c_catcode_active_space_tl on line ...
 Defining \__peek_execute_branches_N_type: on line ...
 Defining \__peek_N_type:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 08c102c..a5aef64 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -665,6 +665,21 @@ Defining \__tl_item_aux:nn on line ...
 Defining \__tl_item:nn on line ...
 Defining \tl_item:Nn on line ...
 Defining \tl_item:cn on line ...
+Defining \tl_range:Nnn on line ...
+Defining \tl_range:cnn on line ...
+Defining \tl_range:nnn on line ...
+Defining \__tl_range:Nnnn on line ...
+Defining \__tl_range:nnnNn on line ...
+Defining \__tl_range:nnNn on line ...
+Defining \__tl_range_skip:w on line ...
+Defining \__tl_range:w on line ...
+Defining \__tl_range_skip_spaces:n on line ...
+Defining \__tl_range_collect:nn on line ...
+Defining \__tl_range_collect_space:nw on line ...
+Defining \__tl_range_collect_N:nN on line ...
+Defining \__tl_range_collect_group:nn on line ...
+Defining \__tl_range_collect:ff on line ...
+Defining \__tl_range_normalize:nn on line ...
 Defining \tl_show:N on line ...
 Defining \tl_show:c on line ...
 Defining \tl_log:N on line ...
@@ -6071,31 +6086,16 @@ Defining \__tl_build_end_loop:NN on line ...
 Defining \tl_rand_item:n on line ...
 Defining \tl_rand_item:N on line ...
 Defining \tl_rand_item:c on line ...
-Defining \tl_range:Nnn on line ...
-Defining \tl_range:cnn on line ...
-Defining \tl_range:nnn on line ...
 Defining \tl_range_braced:Nnn on line ...
 Defining \tl_range_braced:cnn on line ...
 Defining \tl_range_braced:nnn on line ...
 Defining \tl_range_unbraced:Nnn on line ...
 Defining \tl_range_unbraced:cnn on line ...
 Defining \tl_range_unbraced:nnn on line ...
-Defining \__tl_range:Nnnn on line ...
-Defining \__tl_range:nnnNn on line ...
-Defining \__tl_range:nnNn on line ...
-Defining \__tl_range_skip:w on line ...
 Defining \__tl_range_braced:w on line ...
 Defining \__tl_range_unbraced:w on line ...
 Defining \__tl_range_collect_braced:w on line ...
 Defining \__tl_range_collect_unbraced:w on line ...
-Defining \__tl_range:w on line ...
-Defining \__tl_range_skip_spaces:n on line ...
-Defining \__tl_range_collect:nn on line ...
-Defining \__tl_range_collect_space:nw on line ...
-Defining \__tl_range_collect_N:nN on line ...
-Defining \__tl_range_collect_group:nn on line ...
-Defining \__tl_range_collect:ff on line ...
-Defining \__tl_range_normalize:nn on line ...
 Defining \c_catcode_active_space_tl on line ...
 Defining \__peek_execute_branches_N_type: on line ...
 Defining \__peek_N_type:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 60ca59a..930d255 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -628,6 +628,21 @@ Defining \__tl_item_aux:nn on line ...
 Defining \__tl_item:nn on line ...
 Defining \tl_item:Nn on line ...
 Defining \tl_item:cn on line ...
+Defining \tl_range:Nnn on line ...
+Defining \tl_range:cnn on line ...
+Defining \tl_range:nnn on line ...
+Defining \__tl_range:Nnnn on line ...
+Defining \__tl_range:nnnNn on line ...
+Defining \__tl_range:nnNn on line ...
+Defining \__tl_range_skip:w on line ...
+Defining \__tl_range:w on line ...
+Defining \__tl_range_skip_spaces:n on line ...
+Defining \__tl_range_collect:nn on line ...
+Defining \__tl_range_collect_space:nw on line ...
+Defining \__tl_range_collect_N:nN on line ...
+Defining \__tl_range_collect_group:nn on line ...
+Defining \__tl_range_collect:ff on line ...
+Defining \__tl_range_normalize:nn on line ...
 Defining \tl_show:N on line ...
 Defining \tl_show:c on line ...
 Defining \tl_log:N on line ...
@@ -6067,31 +6082,16 @@ Defining \__tl_build_end_loop:NN on line ...
 Defining \tl_rand_item:n on line ...
 Defining \tl_rand_item:N on line ...
 Defining \tl_rand_item:c on line ...
-Defining \tl_range:Nnn on line ...
-Defining \tl_range:cnn on line ...
-Defining \tl_range:nnn on line ...
 Defining \tl_range_braced:Nnn on line ...
 Defining \tl_range_braced:cnn on line ...
 Defining \tl_range_braced:nnn on line ...
 Defining \tl_range_unbraced:Nnn on line ...
 Defining \tl_range_unbraced:cnn on line ...
 Defining \tl_range_unbraced:nnn on line ...
-Defining \__tl_range:Nnnn on line ...
-Defining \__tl_range:nnnNn on line ...
-Defining \__tl_range:nnNn on line ...
-Defining \__tl_range_skip:w on line ...
 Defining \__tl_range_braced:w on line ...
 Defining \__tl_range_unbraced:w on line ...
 Defining \__tl_range_collect_braced:w on line ...
 Defining \__tl_range_collect_unbraced:w on line ...
-Defining \__tl_range:w on line ...
-Defining \__tl_range_skip_spaces:n on line ...
-Defining \__tl_range_collect:nn on line ...
-Defining \__tl_range_collect_space:nw on line ...
-Defining \__tl_range_collect_N:nN on line ...
-Defining \__tl_range_collect_group:nn on line ...
-Defining \__tl_range_collect:ff on line ...
-Defining \__tl_range_normalize:nn on line ...
 Defining \c_catcode_active_space_tl on line ...
 Defining \__peek_execute_branches_N_type: on line ...
 Defining \__peek_N_type:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 14d0648..d85c191 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -665,6 +665,21 @@ Defining \__tl_item_aux:nn on line ...
 Defining \__tl_item:nn on line ...
 Defining \tl_item:Nn on line ...
 Defining \tl_item:cn on line ...
+Defining \tl_range:Nnn on line ...
+Defining \tl_range:cnn on line ...
+Defining \tl_range:nnn on line ...
+Defining \__tl_range:Nnnn on line ...
+Defining \__tl_range:nnnNn on line ...
+Defining \__tl_range:nnNn on line ...
+Defining \__tl_range_skip:w on line ...
+Defining \__tl_range:w on line ...
+Defining \__tl_range_skip_spaces:n on line ...
+Defining \__tl_range_collect:nn on line ...
+Defining \__tl_range_collect_space:nw on line ...
+Defining \__tl_range_collect_N:nN on line ...
+Defining \__tl_range_collect_group:nn on line ...
+Defining \__tl_range_collect:ff on line ...
+Defining \__tl_range_normalize:nn on line ...
 Defining \tl_show:N on line ...
 Defining \tl_show:c on line ...
 Defining \tl_log:N on line ...
@@ -6104,31 +6119,16 @@ Defining \__tl_build_end_loop:NN on line ...
 Defining \tl_rand_item:n on line ...
 Defining \tl_rand_item:N on line ...
 Defining \tl_rand_item:c on line ...
-Defining \tl_range:Nnn on line ...
-Defining \tl_range:cnn on line ...
-Defining \tl_range:nnn on line ...
 Defining \tl_range_braced:Nnn on line ...
 Defining \tl_range_braced:cnn on line ...
 Defining \tl_range_braced:nnn on line ...
 Defining \tl_range_unbraced:Nnn on line ...
 Defining \tl_range_unbraced:cnn on line ...
 Defining \tl_range_unbraced:nnn on line ...
-Defining \__tl_range:Nnnn on line ...
-Defining \__tl_range:nnnNn on line ...
-Defining \__tl_range:nnNn on line ...
-Defining \__tl_range_skip:w on line ...
 Defining \__tl_range_braced:w on line ...
 Defining \__tl_range_unbraced:w on line ...
 Defining \__tl_range_collect_braced:w on line ...
 Defining \__tl_range_collect_unbraced:w on line ...
-Defining \__tl_range:w on line ...
-Defining \__tl_range_skip_spaces:n on line ...
-Defining \__tl_range_collect:nn on line ...
-Defining \__tl_range_collect_space:nw on line ...
-Defining \__tl_range_collect_N:nN on line ...
-Defining \__tl_range_collect_group:nn on line ...
-Defining \__tl_range_collect:ff on line ...
-Defining \__tl_range_normalize:nn on line ...
 Defining \c_catcode_active_space_tl on line ...
 Defining \__peek_execute_branches_N_type: on line ...
 Defining \__peek_N_type:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index d416b7b..c6f93a3 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -665,6 +665,21 @@ Defining \__tl_item_aux:nn on line ...
 Defining \__tl_item:nn on line ...
 Defining \tl_item:Nn on line ...
 Defining \tl_item:cn on line ...
+Defining \tl_range:Nnn on line ...
+Defining \tl_range:cnn on line ...
+Defining \tl_range:nnn on line ...
+Defining \__tl_range:Nnnn on line ...
+Defining \__tl_range:nnnNn on line ...
+Defining \__tl_range:nnNn on line ...
+Defining \__tl_range_skip:w on line ...
+Defining \__tl_range:w on line ...
+Defining \__tl_range_skip_spaces:n on line ...
+Defining \__tl_range_collect:nn on line ...
+Defining \__tl_range_collect_space:nw on line ...
+Defining \__tl_range_collect_N:nN on line ...
+Defining \__tl_range_collect_group:nn on line ...
+Defining \__tl_range_collect:ff on line ...
+Defining \__tl_range_normalize:nn on line ...
 Defining \tl_show:N on line ...
 Defining \tl_show:c on line ...
 Defining \tl_log:N on line ...
@@ -6305,31 +6320,16 @@ Defining \__tl_build_end_loop:NN on line ...
 Defining \tl_rand_item:n on line ...
 Defining \tl_rand_item:N on line ...
 Defining \tl_rand_item:c on line ...
-Defining \tl_range:Nnn on line ...
-Defining \tl_range:cnn on line ...
-Defining \tl_range:nnn on line ...
 Defining \tl_range_braced:Nnn on line ...
 Defining \tl_range_braced:cnn on line ...
 Defining \tl_range_braced:nnn on line ...
 Defining \tl_range_unbraced:Nnn on line ...
 Defining \tl_range_unbraced:cnn on line ...
 Defining \tl_range_unbraced:nnn on line ...
-Defining \__tl_range:Nnnn on line ...
-Defining \__tl_range:nnnNn on line ...
-Defining \__tl_range:nnNn on line ...
-Defining \__tl_range_skip:w on line ...
 Defining \__tl_range_braced:w on line ...
 Defining \__tl_range_unbraced:w on line ...
 Defining \__tl_range_collect_braced:w on line ...
 Defining \__tl_range_collect_unbraced:w on line ...
-Defining \__tl_range:w on line ...
-Defining \__tl_range_skip_spaces:n on line ...
-Defining \__tl_range_collect:nn on line ...
-Defining \__tl_range_collect_space:nw on line ...
-Defining \__tl_range_collect_N:nN on line ...
-Defining \__tl_range_collect_group:nn on line ...
-Defining \__tl_range_collect:ff on line ...
-Defining \__tl_range_normalize:nn on line ...
 Defining \c_catcode_active_space_tl on line ...
 Defining \__peek_execute_branches_N_type: on line ...
 Defining \__peek_N_type:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 55acef8..4d379ea 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -665,6 +665,21 @@ Defining \__tl_item_aux:nn on line ...
 Defining \__tl_item:nn on line ...
 Defining \tl_item:Nn on line ...
 Defining \tl_item:cn on line ...
+Defining \tl_range:Nnn on line ...
+Defining \tl_range:cnn on line ...
+Defining \tl_range:nnn on line ...
+Defining \__tl_range:Nnnn on line ...
+Defining \__tl_range:nnnNn on line ...
+Defining \__tl_range:nnNn on line ...
+Defining \__tl_range_skip:w on line ...
+Defining \__tl_range:w on line ...
+Defining \__tl_range_skip_spaces:n on line ...
+Defining \__tl_range_collect:nn on line ...
+Defining \__tl_range_collect_space:nw on line ...
+Defining \__tl_range_collect_N:nN on line ...
+Defining \__tl_range_collect_group:nn on line ...
+Defining \__tl_range_collect:ff on line ...
+Defining \__tl_range_normalize:nn on line ...
 Defining \tl_show:N on line ...
 Defining \tl_show:c on line ...
 Defining \tl_log:N on line ...
@@ -6302,31 +6317,16 @@ Defining \__tl_build_end_loop:NN on line ...
 Defining \tl_rand_item:n on line ...
 Defining \tl_rand_item:N on line ...
 Defining \tl_rand_item:c on line ...
-Defining \tl_range:Nnn on line ...
-Defining \tl_range:cnn on line ...
-Defining \tl_range:nnn on line ...
 Defining \tl_range_braced:Nnn on line ...
 Defining \tl_range_braced:cnn on line ...
 Defining \tl_range_braced:nnn on line ...
 Defining \tl_range_unbraced:Nnn on line ...
 Defining \tl_range_unbraced:cnn on line ...
 Defining \tl_range_unbraced:nnn on line ...
-Defining \__tl_range:Nnnn on line ...
-Defining \__tl_range:nnnNn on line ...
-Defining \__tl_range:nnNn on line ...
-Defining \__tl_range_skip:w on line ...
 Defining \__tl_range_braced:w on line ...
 Defining \__tl_range_unbraced:w on line ...
 Defining \__tl_range_collect_braced:w on line ...
 Defining \__tl_range_collect_unbraced:w on line ...
-Defining \__tl_range:w on line ...
-Defining \__tl_range_skip_spaces:n on line ...
-Defining \__tl_range_collect:nn on line ...
-Defining \__tl_range_collect_space:nw on line ...
-Defining \__tl_range_collect_N:nN on line ...
-Defining \__tl_range_collect_group:nn on line ...
-Defining \__tl_range_collect:ff on line ...
-Defining \__tl_range_normalize:nn on line ...
 Defining \c_catcode_active_space_tl on line ...
 Defining \__peek_execute_branches_N_type: on line ...
 Defining \__peek_N_type:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 08c102c..a5aef64 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -665,6 +665,21 @@ Defining \__tl_item_aux:nn on line ...
 Defining \__tl_item:nn on line ...
 Defining \tl_item:Nn on line ...
 Defining \tl_item:cn on line ...
+Defining \tl_range:Nnn on line ...
+Defining \tl_range:cnn on line ...
+Defining \tl_range:nnn on line ...
+Defining \__tl_range:Nnnn on line ...
+Defining \__tl_range:nnnNn on line ...
+Defining \__tl_range:nnNn on line ...
+Defining \__tl_range_skip:w on line ...
+Defining \__tl_range:w on line ...
+Defining \__tl_range_skip_spaces:n on line ...
+Defining \__tl_range_collect:nn on line ...
+Defining \__tl_range_collect_space:nw on line ...
+Defining \__tl_range_collect_N:nN on line ...
+Defining \__tl_range_collect_group:nn on line ...
+Defining \__tl_range_collect:ff on line ...
+Defining \__tl_range_normalize:nn on line ...
 Defining \tl_show:N on line ...
 Defining \tl_show:c on line ...
 Defining \tl_log:N on line ...
@@ -6071,31 +6086,16 @@ Defining \__tl_build_end_loop:NN on line ...
 Defining \tl_rand_item:n on line ...
 Defining \tl_rand_item:N on line ...
 Defining \tl_rand_item:c on line ...
-Defining \tl_range:Nnn on line ...
-Defining \tl_range:cnn on line ...
-Defining \tl_range:nnn on line ...
 Defining \tl_range_braced:Nnn on line ...
 Defining \tl_range_braced:cnn on line ...
 Defining \tl_range_braced:nnn on line ...
 Defining \tl_range_unbraced:Nnn on line ...
 Defining \tl_range_unbraced:cnn on line ...
 Defining \tl_range_unbraced:nnn on line ...
-Defining \__tl_range:Nnnn on line ...
-Defining \__tl_range:nnnNn on line ...
-Defining \__tl_range:nnNn on line ...
-Defining \__tl_range_skip:w on line ...
 Defining \__tl_range_braced:w on line ...
 Defining \__tl_range_unbraced:w on line ...
 Defining \__tl_range_collect_braced:w on line ...
 Defining \__tl_range_collect_unbraced:w on line ...
-Defining \__tl_range:w on line ...
-Defining \__tl_range_skip_spaces:n on line ...
-Defining \__tl_range_collect:nn on line ...
-Defining \__tl_range_collect_space:nw on line ...
-Defining \__tl_range_collect_N:nN on line ...
-Defining \__tl_range_collect_group:nn on line ...
-Defining \__tl_range_collect:ff on line ...
-Defining \__tl_range_normalize:nn on line ...
 Defining \c_catcode_active_space_tl on line ...
 Defining \__peek_execute_branches_N_type: on line ...
 Defining \__peek_N_type:w on line ...





More information about the latex3-commits mailing list