[latex3-commits] [git/LaTeX3-latex3-latex3] scan-quark: Hard-code names of recursion quarks in __kernel_quark_test_generate (c8efbd703)

Bruno Le Floch bruno at le-floch.fr
Mon Apr 6 01:14:29 CEST 2020


Repository : https://github.com/latex3/latex3
On branch  : scan-quark
Link       : https://github.com/latex3/latex3/commit/c8efbd70349afef94ad5b97aad6f71d2c6515cf7

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

commit c8efbd70349afef94ad5b97aad6f71d2c6515cf7
Author: Bruno Le Floch <bruno at le-floch.fr>
Date:   Mon Apr 6 01:14:29 2020 +0200

    Hard-code names of recursion quarks in __kernel_quark_test_generate
    
    All uses of \__kernel_quark_test_generate:NNNn had arguments
    number 2, 3, 4 being \q_@@_recursion_tail \q_@@_recursion_stop {@@}.
    It seems less redundant to just give the {@@} argument.  Feel free
    to revert this commit.


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

c8efbd70349afef94ad5b97aad6f71d2c6515cf7
 l3experimental/l3draw/l3draw.dtx  |  3 +--
 l3kernel/l3clist.dtx              |  6 ++----
 l3kernel/l3debug.dtx              |  3 +--
 l3kernel/l3file.dtx               |  6 ++----
 l3kernel/l3int.dtx                |  6 ++----
 l3kernel/l3kernel-functions.dtx   | 43 +++++++++++++++++++++------------------
 l3kernel/l3keys.dtx               |  3 +--
 l3kernel/l3prg.dtx                |  3 +--
 l3kernel/l3prop.dtx               |  3 +--
 l3kernel/l3quark.dtx              | 40 +++++++++++++++++++++---------------
 l3kernel/l3str.dtx                |  6 ++----
 l3kernel/l3text-purify.dtx        |  3 +--
 l3kernel/l3text.dtx               |  3 +--
 l3kernel/l3tl.dtx                 |  3 +--
 l3kernel/testfiles/m3quark002.lvt | 40 +++++++++++++++---------------------
 15 files changed, 79 insertions(+), 92 deletions(-)

diff --git a/l3experimental/l3draw/l3draw.dtx b/l3experimental/l3draw/l3draw.dtx
index b6decef04..32d6b138f 100644
--- a/l3experimental/l3draw/l3draw.dtx
+++ b/l3experimental/l3draw/l3draw.dtx
@@ -1176,8 +1176,7 @@
 % \begin{macro}[EXP]{\@@_if_recursion_tail_stop_do:Nn}
 %   Functions to query recursion quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop_do:Nn
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop_do:Nn { @@ }
 %    \end{macrocode}
 % \end{macro}
 %
diff --git a/l3kernel/l3clist.dtx b/l3kernel/l3clist.dtx
index e9a5e3425..b1fdbc07a 100644
--- a/l3kernel/l3clist.dtx
+++ b/l3kernel/l3clist.dtx
@@ -814,10 +814,8 @@
 % \begin{macro}[EXP]{\@@_if_recursion_tail_break:nN,\@@_if_recursion_tail_stop:n}
 %   Functions to query recursion quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_break:nN
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop:n
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_break:nN { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop:n { @@ }
 %    \end{macrocode}
 % \end{macro}
 %
diff --git a/l3kernel/l3debug.dtx b/l3kernel/l3debug.dtx
index 3f173ebcf..113a304ce 100644
--- a/l3kernel/l3debug.dtx
+++ b/l3kernel/l3debug.dtx
@@ -156,8 +156,7 @@
 % \begin{macro}[EXP]{\@@_if_recursion_tail_stop:N}
 %   Functions to query recursion quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop:N
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop:N { @@ }
 \cs_new:Npn \@@_use_none_delimit_by_q_recursion_stop:w
   #1 \q_@@_recursion_stop { }
 %    \end{macrocode}
diff --git a/l3kernel/l3file.dtx b/l3kernel/l3file.dtx
index 72940eb4a..17a7c19c8 100644
--- a/l3kernel/l3file.dtx
+++ b/l3kernel/l3file.dtx
@@ -2451,10 +2451,8 @@
 %   }
 %   Functions to query recursion quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop:N
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop_do:nn
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop:N { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop_do:nn { @@ }
 %    \end{macrocode}
 % \end{macro}
 %
diff --git a/l3kernel/l3int.dtx b/l3kernel/l3int.dtx
index ae17a5b36..5d3c218c7 100644
--- a/l3kernel/l3int.dtx
+++ b/l3kernel/l3int.dtx
@@ -1079,10 +1079,8 @@
 % \begin{macro}[EXP]{\@@_if_recursion_tail_stop_do:Nn,\@@_if_recursion_tail_stop:N}
 %   Functions to query quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop_do:Nn
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop:N
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop_do:Nn { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop:N { @@ }
 %    \end{macrocode}
 % \end{macro}
 %
diff --git a/l3kernel/l3kernel-functions.dtx b/l3kernel/l3kernel-functions.dtx
index 56a1eb5ac..575ac79f3 100644
--- a/l3kernel/l3kernel-functions.dtx
+++ b/l3kernel/l3kernel-functions.dtx
@@ -329,60 +329,63 @@
 %   and variable mappings.
 % \end{variable}
 %
-% \begin{function}{\__kernel_quark_test_generate:NNNn}
+% \begin{function}{\__kernel_quark_test_generate:Nn}
 %   \begin{syntax}
-%     \cs{__kernel_quark_test_generate:NNNn} \cs[no-index]{\meta{name}:\meta{arg spec}} \cs[no-index]{\meta{test-quark}} \cs[no-index]{\meta{delimit-quark}} \Arg{namespace}
+%     \cs{__kernel_quark_test_generate:Nn} \cs[no-index]{\meta{name}:\meta{arg spec}} \Arg{namespace}
 %   \end{syntax}
 %   Defines a quark-test function \cs[no-index]{\meta{name}:\meta{arg spec}}
-%   which tests if its argument is the \cs[no-index]{\meta{test-quark}},
+%   which tests if its argument is \cs[no-index]{q\meta{namespace}_recursion_tail},
 %   then acts accordingly, as described below for each possible
 %   \meta{arg spec}.
 %
 %   The \meta{arg spec} \emph{must} be one of the options listed
-%   below. \cs[no-index]{\meta{test-quark}} and \cs[no-index]{\meta{delimit-quark}}
+%   below. Both \cs[no-index]{q\meta{namespace}_recursion_tail}
+%   and \cs[no-index]{q\meta{namespace}_recursion_stop}
 %   should be valid quarks, defined with \cs{quark_new:N}, and
 %   \meta{namespace} should be the name space to be used internally
-%   in the definition of auxiliaries (for example |__module|).
+%   in the definition of auxiliaries (for example |__module|), obtained
+%   for instance as |@@| when using \pkg{l3docstrip}.
 %
-%   \cs{__kernel_quark_test_generate:NNNn} can define $6$ different
+%   \cs{__kernel_quark_test_generate:Nn} can define $6$ different
 %   types of quark-test functions. Which one is defined depends on
 %   the \meta{arg spec} of the given function:
 %   \begin{description}
 %     \def\makelabel#1{\texttt{#1}}
 %     \item[n]  defines \cs[no-index]{\meta{name}:n}  such that it
-%       checks if |#1| contains only \cs[no-index]{\meta{test-quark}}, and
-%       if so consumes all tokens up to \cs[no-index]{\meta{delimit-quark}}
+%       checks if |#1| contains only \cs[no-index]{q\meta{namespace}_recursion_tail}, and
+%       if so consumes all tokens up to \cs[no-index]{q\meta{namespace}_recursion_stop}
 %       (\emph{c.f.}~\cs{quark_if_recursion_tail_stop:n}).
 %     \item[nn] defines \cs[no-index]{\meta{name}:nn} such that it
-%       checks if |#1| contains only \cs[no-index]{\meta{test-quark}}, and
-%       if so consumes all tokens up to \cs[no-index]{\meta{delimit-quark}},
+%       checks if |#1| contains only \cs[no-index]{q\meta{namespace}_recursion_tail}, and
+%       if so consumes all tokens up to \cs[no-index]{q\meta{namespace}_recursion_stop},
 %       then executes the code |#2| after that
 %       (\emph{c.f.}~\cs{quark_if_recursion_tail_stop_do:nn}).
 %     \item[nN] defines \cs[no-index]{\meta{name}:nN} such that it
-%       checks if |#1| contains only \cs[no-index]{\meta{test-quark}}, and
+%       checks if |#1| contains only \cs[no-index]{q\meta{namespace}_recursion_tail}, and
 %       if so uses the \cs[no-index]{\meta{type}_map_break:} function |#2|
 %       (\emph{c.f.}~\cs{quark_if_recursion_tail_break:nN}).
-%       \cs[no-index]{\meta{delimit-quark}} is not used in this case.
+%       \cs[no-index]{q\meta{namespace}_recursion_stop} is not used in this case.
 %     \item[N]  defines \cs[no-index]{\meta{name}:N}  such that it
-%       checks if |#1| is \cs[no-index]{\meta{test-quark}}, and if so consumes
-%       all tokens up to \cs[no-index]{\meta{delimit-quark}}
+%       checks if |#1| is \cs[no-index]{q\meta{namespace}_recursion_tail}, and if so consumes
+%       all tokens up to \cs[no-index]{q\meta{namespace}_recursion_stop}
 %       (\emph{c.f.}~\cs{quark_if_recursion_tail_stop:N}).
 %     \item[Nn] defines \cs[no-index]{\meta{name}:Nn} such that it
-%       checks if |#1| is \cs[no-index]{\meta{test-quark}}, and if so consumes
-%       all tokens up to \cs[no-index]{\meta{delimit-quark}}, then executes
+%       checks if |#1| is \cs[no-index]{q\meta{namespace}_recursion_tail}, and if so consumes
+%       all tokens up to \cs[no-index]{q\meta{namespace}_recursion_stop}, then executes
 %       the code |#2| after that
 %       (\emph{c.f.}~\cs{quark_if_recursion_tail_stop_do:Nn}).
 %     \item[NN] defines \cs[no-index]{\meta{name}:NN} such that it
-%       checks if |#1| is \cs[no-index]{\meta{test-quark}}, and if so uses
+%       checks if |#1| is \cs[no-index]{q\meta{namespace}_recursion_tail}, and if so uses
 %       the \cs[no-index]{\meta{type}_map_break:} function |#2|
 %       (\emph{c.f.}~\cs{quark_if_recursion_tail_break:NN}).
-%       \cs[no-index]{\meta{delimit-quark}} is not used in this case.
+%       \cs[no-index]{q\meta{namespace}_recursion_stop} is not used in this case.
 %   \end{description}
 %   Any other signature, as well as a function without signature
 %   are errors, and in such case the definition is aborted.
 %
-%   \cs{__kernel_quark_test_generate:NNNn} does \emph{not} define
-%   the \cs[no-index]{\meta{test-quark}} and \cs[no-index]{\meta{delimit-quark}}.
+%   \cs{__kernel_quark_test_generate:Nn} does \emph{not} define
+%   the \cs[no-index]{q\meta{namespace}_recursion_tail} and
+%   \cs[no-index]{q\meta{namespace}_recursion_stop}.
 %   They should be manually defined with \cs{quark_new:N}.
 % \end{function}
 %
diff --git a/l3kernel/l3keys.dtx b/l3kernel/l3keys.dtx
index bce784f0e..5ab62fdb1 100644
--- a/l3kernel/l3keys.dtx
+++ b/l3kernel/l3keys.dtx
@@ -1434,8 +1434,7 @@
 % \begin{macro}[EXP]{\@@_if_recursion_tail_stop:n}
 %   Functions to query recursion quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop:n
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop:n { @@ }
 %    \end{macrocode}
 % \end{macro}
 %
diff --git a/l3kernel/l3prg.dtx b/l3kernel/l3prg.dtx
index 6a3929052..082a83055 100644
--- a/l3kernel/l3prg.dtx
+++ b/l3kernel/l3prg.dtx
@@ -930,8 +930,7 @@
 % \begin{macro}[EXP]{\@@_if_recursion_tail_stop_do:nn}
 %   Functions to query recursion quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop_do:nn
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop_do:nn { @@ }
 %    \end{macrocode}
 % \end{macro}
 %
diff --git a/l3kernel/l3prop.dtx b/l3kernel/l3prop.dtx
index dfdefcebd..71153aae8 100644
--- a/l3kernel/l3prop.dtx
+++ b/l3kernel/l3prop.dtx
@@ -639,8 +639,7 @@
 % \begin{macro}[EXP]{\@@_if_recursion_tail_stop:o}
 %   Functions to query recursion quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop:n
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop:n { @@ }
 \cs_generate_variant:Nn \@@_if_recursion_tail_stop:n { o }
 %    \end{macrocode}
 % \end{macro}
diff --git a/l3kernel/l3quark.dtx b/l3kernel/l3quark.dtx
index 8a6be6913..dffecdd15 100644
--- a/l3kernel/l3quark.dtx
+++ b/l3kernel/l3quark.dtx
@@ -574,14 +574,16 @@
 % \end{macro}
 % \end{macro}
 %
-% \begin{macro}{\__kernel_quark_test_generate:NNNn}
-%   The function \cs{__kernel_quark_test_generate:NNNn} defines |#1|
-%   in a similar way as \cs[no-index]{quark_if_recursion_tail_stop(_do):(N|n)(n)}.
-%   using |#2| (as \cs{q_recursion_tail}) as the test quark and |#3|
-%   (as \cs{q_recursion_stop}) as the delimiter quark. |#4| is the name-space
-%   to be used (for example |__quark|).
-%
-%   There are six possible function types which this funciton can define,
+% \begin{macro}{\__kernel_quark_test_generate:Nn}
+%   The function \cs{__kernel_quark_test_generate:Nn} defines |#1| in a
+%   similar way as
+%   \cs[no-index]{quark_if_recursion_tail_stop(_do):(N|n)(n)}.  using
+%   \cs[no-index]{q\meta{namespace}_recursion_tail} as the test quark
+%   and \cs[no-index]{q\meta{namespace}_recursion_stop} as the delimiter
+%   quark, where the \meta{namespace} is given by |#2| (for example
+%   |__test|).
+%
+%   There are six possible function types which this function can define,
 %   and which is defined depends on the signature of the function being
 %   defined:
 %   \begin{description}
@@ -595,7 +597,7 @@
 %   Any other signature causes an error, as does a function without signature.
 %
 % \begin{macro}{\__kernel_quark_conditional_generate:NNnn}
-%   Similar to \cs{__kernel_quark_test_generate:NNNn}, but defines
+%   Similar to \cs{__kernel_quark_test_generate:Nn}, but defines
 %   quark branching conditionals like \cs{quark_if_nil:nTF}
 %   using |#2| as the test quark, |#3| as the name-space to define
 %   auxiliaries, and |#4| is the list of conditional variants to define.
@@ -607,14 +609,21 @@
 %   \end{description}
 %   Any other signature causes an error, as does a function without signature.
 %
-% \begin{macro}{\@@_test_generate_aux:nnNNnNnn, \@@_test_generate_choose:nNnNnn }
+% \begin{macro}{\@@_test_generate:NNNn, \@@_test_generate:Nccn,
+%   \@@_test_generate_aux:nnNNnNnn, \@@_test_generate_choose:nNnNnn}
 %    \begin{macrocode}
-\cs_new_protected:Npn \__kernel_quark_test_generate:NNNn #1
+\cs_new_protected:Npn \__kernel_quark_test_generate:Nn #1#2
+  {
+    \@@_test_generate:Nccn #1
+      { q #2 _recursion_tail } { q #2 _recursion_stop } {#2}
+  }
+\cs_new_protected:Npn \@@_test_generate:NNNn #1
   {
     \exp_last_unbraced:Nf \@@_test_generate_aux:nnNNnNnn
       { \cs_split_function:N #1 }
       #1 { test }
   }
+\cs_generate_variant:Nn \@@_test_generate:NNNn { Ncc }
 \cs_new_protected:Npn \__kernel_quark_conditional_generate:NNnn #1
   {
     \exp_last_unbraced:Nf \@@_test_generate_aux:nnNNnNnn
@@ -701,14 +710,13 @@
 %   \cs[no-index]{use_(none|i)_delimit_by_q_recursion_stop:(|n)w}.
 %
 %   The name is composed by the name-space and the name of the quarks.
-%   Suppose \cs{__kernel_quark_test_generate:NNNn} was used with:
+%   Suppose \cs{__kernel_quark_test_generate:Nn} was used with:
 %   \begin{verbatim}
-%     \__kernel_quark_test_generate:NNNn \__test_quark_tail:n
-%       \q__test_tail \q__test_stop { __test }
+%     \__kernel_quark_test_generate:NNNn \__test_quark_tail:n { __test }
 %   \end{verbatim}
-%   then the first auxiliary will be \cs[no-index]{__test_if_test_tail:w},
+%   then the first auxiliary will be \cs[no-index]{__test_if_test_recursion_tail:w},
 %   and the second one will be
-%   \cs[no-index]{__test_use_none_delimit_by_q_test_stop:w}.
+%   \cs[no-index]{__test_use_none_delimit_by_q_test_recursion_stop:w}.
 %
 %   Note that the actual quarks are \emph{not} defined here. They should
 %   be defined separately using \cs{quark_new:N}.
diff --git a/l3kernel/l3str.dtx b/l3kernel/l3str.dtx
index bd396b219..115a313e9 100644
--- a/l3kernel/l3str.dtx
+++ b/l3kernel/l3str.dtx
@@ -897,10 +897,8 @@
 %   }
 %   Functions to query recursion quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_break:NN
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop_do:Nn
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_break:NN { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop_do:Nn { @@ }
 %    \end{macrocode}
 % \end{macro}
 %
diff --git a/l3kernel/l3text-purify.dtx b/l3kernel/l3text-purify.dtx
index 703ae92ac..6a91cae98 100644
--- a/l3kernel/l3text-purify.dtx
+++ b/l3kernel/l3text-purify.dtx
@@ -68,8 +68,7 @@
 % \begin{macro}[EXP]{\@@_if_recursion_tail_stop:N}
 %   Functions to query recursion quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop:N
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop:N { @@ }
 %    \end{macrocode}
 % \end{macro}
 %
diff --git a/l3kernel/l3text.dtx b/l3kernel/l3text.dtx
index 9e3f68c9e..e5bf85748 100644
--- a/l3kernel/l3text.dtx
+++ b/l3kernel/l3text.dtx
@@ -295,8 +295,7 @@
 % \begin{macro}[EXP]{\@@_if_recursion_tail_stop_do:Nn}
 %   Functions to query recursion quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_stop_do:Nn
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_stop_do:Nn { @@ }
 %    \end{macrocode}
 % \end{macro}
 %
diff --git a/l3kernel/l3tl.dtx b/l3kernel/l3tl.dtx
index 5840dee88..fd3afd4b8 100644
--- a/l3kernel/l3tl.dtx
+++ b/l3kernel/l3tl.dtx
@@ -1528,8 +1528,7 @@
 % \begin{macro}[pTF]{\@@_if_recursion_tail_stop:n}
 %   Functions to query recursion quarks.
 %    \begin{macrocode}
-\__kernel_quark_test_generate:NNNn \@@_if_recursion_tail_break:nN
-  \q_@@_recursion_tail \q_@@_recursion_stop { @@ }
+\__kernel_quark_test_generate:Nn \@@_if_recursion_tail_break:nN { @@ }
 \__kernel_quark_conditional_generate:NNnn \@@_if_nil:n
   \q_@@_nil { @@ } { TF }
 %    \end{macrocode}
diff --git a/l3kernel/testfiles/m3quark002.lvt b/l3kernel/testfiles/m3quark002.lvt
index 82fdaa3fe..372b2fda5 100644
--- a/l3kernel/testfiles/m3quark002.lvt
+++ b/l3kernel/testfiles/m3quark002.lvt
@@ -19,44 +19,38 @@
 \quark_new:N \q__test_recursion_stop
 
 \TEST{New~private~quark~functions~(:n)}{
-  \__kernel_quark_test_generate:NNNn
-    \__test_quark_if_recursion_tail_stop:n
-    \q__test_recursion_tail \q__test_recursion_stop { __test }
+  \__kernel_quark_test_generate:Nn
+    \__test_quark_if_recursion_tail_stop:n { __test }
   \cs_log:N \__test_quark_if_recursion_tail_stop:n
 }
 
 \TEST{New~private~quark~functions~(:nn)}{
-  \__kernel_quark_test_generate:NNNn
-    \__test_quark_if_recursion_tail_stop_do:nn
-    \q__test_recursion_tail \q__test_recursion_stop { __test }
+  \__kernel_quark_test_generate:Nn
+    \__test_quark_if_recursion_tail_stop_do:nn { __test }
   \cs_log:N \__test_quark_if_recursion_tail_stop_do:nn
 }
 
 \TEST{New~private~quark~functions~(:N)}{
-  \__kernel_quark_test_generate:NNNn
-    \__test_quark_if_recursion_tail_stop:N
-    \q__test_recursion_tail \q__test_recursion_stop { __test }
+  \__kernel_quark_test_generate:Nn
+    \__test_quark_if_recursion_tail_stop:N { __test }
   \cs_log:N \__test_quark_if_recursion_tail_stop:N
 }
 
 \TEST{New~private~quark~functions~(:Nn)}{
-  \__kernel_quark_test_generate:NNNn
-    \__test_quark_if_recursion_tail_stop_do:Nn
-    \q__test_recursion_tail \q__test_recursion_stop { __test }
+  \__kernel_quark_test_generate:Nn
+    \__test_quark_if_recursion_tail_stop_do:Nn { __test }
   \cs_log:N \__test_quark_if_recursion_tail_stop_do:Nn
 }
 
 \TEST{New~private~quark~functions~(:nN)}{
-  \__kernel_quark_test_generate:NNNn
-    \__test_quark_if_recursion_tail_break:nN
-    \q__test_recursion_tail \q__test_recursion_stop { __test }
+  \__kernel_quark_test_generate:Nn
+    \__test_quark_if_recursion_tail_break:nN { __test }
   \cs_log:N \__test_quark_if_recursion_tail_break:nN
 }
 
 \TEST{New~private~quark~functions~(:NN)}{
-  \__kernel_quark_test_generate:NNNn
-    \__test_quark_if_recursion_tail_break:NN
-    \q__test_recursion_tail \q__test_recursion_stop { __test }
+  \__kernel_quark_test_generate:Nn
+    \__test_quark_if_recursion_tail_break:NN { __test }
   \cs_log:N \__test_quark_if_recursion_tail_break:NN
 }
 
@@ -92,12 +86,10 @@
 }
 
 \TEST{Invalid~signatures~(expect~errors)}{
-  \__kernel_quark_test_generate:NNNn
-    \__test_quark_if_recursion_tail_break:nnn
-    \q__test_recursion_tail \q__test_recursion_stop { __test }
-  \__kernel_quark_test_generate:NNNn
-    \__test_quark_if_recursion_tail_break
-    \q__test_recursion_tail \q__test_recursion_stop { __test }
+  \__kernel_quark_test_generate:Nn
+    \__test_quark_if_recursion_tail_break:nnn { __test }
+  \__kernel_quark_test_generate:Nn
+    \__test_quark_if_recursion_tail_break { __test }
 }
 
 \END





More information about the latex3-commits mailing list.