[latex3-commits] [git/LaTeX3-latex3-latex3] master: Use a copy of \__tl_if_empty_return:o in quark module (114e481)

Joseph Wright joseph.wright at morningstar2.co.uk
Wed Mar 28 12:46:18 CEST 2018


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/114e48112d573b9c3ba014d212ab3096c648410a

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

commit 114e48112d573b9c3ba014d212ab3096c648410a
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Wed Mar 28 11:46:18 2018 +0100

    Use a copy of \__tl_if_empty_return:o in quark module


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

114e48112d573b9c3ba014d212ab3096c648410a
 l3kernel/l3quark.dtx                    |   19 ++++++++++++++++---
 l3kernel/testfiles/m3expl001.luatex.tlg |    1 +
 l3kernel/testfiles/m3expl001.ptex.tlg   |    1 +
 l3kernel/testfiles/m3expl001.tlg        |    1 +
 l3kernel/testfiles/m3expl001.uptex.tlg  |    1 +
 l3kernel/testfiles/m3expl001.xetex.tlg  |    1 +
 l3kernel/testfiles/m3expl003.luatex.tlg |    1 +
 l3kernel/testfiles/m3expl003.ptex.tlg   |    1 +
 l3kernel/testfiles/m3expl003.tlg        |    1 +
 l3kernel/testfiles/m3expl003.uptex.tlg  |    1 +
 l3kernel/testfiles/m3expl003.xetex.tlg  |    1 +
 11 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/l3kernel/l3quark.dtx b/l3kernel/l3quark.dtx
index f4ee8b1..b100ffe 100644
--- a/l3kernel/l3quark.dtx
+++ b/l3kernel/l3quark.dtx
@@ -533,6 +533,7 @@
 % \begin{macro}[pTF]{\quark_if_no_value:n}
 % \UnitTested
 % \begin{macro}{\@@_if_nil:w, \@@_if_no_value:w}
+% \begin{macro}[EXP]{\@@_if_empty_return:o}
 %   Let us explain |\quark_if_nil:n(TF)|.  Expanding \cs{@@_if_nil:w}
 %   once is safe thanks to the trailing \cs{q_nil} |??!|.  The result of
 %   expanding once is empty if and only if both delimited arguments |#1|
@@ -546,26 +547,38 @@
 %   |{}\q_nil| |{}?| |!\q_nil|~|??!|, hence |#3|~is delimited by the
 %   final~|?!|, and the test returns \texttt{true} as wanted.  In the
 %   second case, the result is not empty since the first~|?!| in the
-%   definition of \cs{quark_if_nil:n} stop~|#3|.
+%   definition of \cs{quark_if_nil:n} stop~|#3|. The auxiliary here
+%   is the same as \cs{__tl_if_empty_return:o}, with the same comments
+%   applying.
 %    \begin{macrocode}
 \prg_new_conditional:Npnn \quark_if_nil:n #1 { p, T , F , TF }
   {
-    \__tl_if_empty_return:o
+    \@@_if_empty_return:o
       { \@@_if_nil:w {} #1 {} ? ! \q_nil ? ? ! }
   }
 \cs_new:Npn \@@_if_nil:w #1 \q_nil #2 ? #3 ? ! { #1 #2 }
 \prg_new_conditional:Npnn \quark_if_no_value:n #1 { p, T , F , TF }
   {
-    \__tl_if_empty_return:o
+    \@@_if_empty_return:o
       { \@@_if_no_value:w {} #1 {} ? ! \q_no_value ? ? ! }
   }
 \cs_new:Npn \@@_if_no_value:w #1 \q_no_value #2 ? #3 ? ! { #1 #2 }
 \prg_generate_conditional_variant:Nnn \quark_if_nil:n
   { V , o } { p , TF , T , F }
+\cs_new:Npn \@@_if_empty_return:o #1
+  {
+    \exp_after:wN \if_meaning:w \exp_after:wN \q_nil
+      \etex_detokenize:D \exp_after:wN {#1} \q_nil
+      \prg_return_true:
+    \else:
+      \prg_return_false:
+    \fi:
+  }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % \begin{variable}{\q__tl_act_mark, \q__tl_act_stop}
 %   These private quarks are needed by \pkg{l3tl}, but that is loaded
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 60d122a..d0d5d61 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -1928,6 +1928,7 @@ Defining \quark_if_nil:VT on line ...
 Defining \quark_if_nil:oT on line ...
 Defining \quark_if_nil:VF on line ...
 Defining \quark_if_nil:oF on line ...
+Defining \__quark_if_empty_return:o on line ...
 Defining \q__tl_act_mark on line ...
 Defining \q__tl_act_stop on line ...
 Defining \g__scan_marks_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index c904a04..385335e 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -1609,6 +1609,7 @@ Defining \quark_if_nil:VT on line ...
 Defining \quark_if_nil:oT on line ...
 Defining \quark_if_nil:VF on line ...
 Defining \quark_if_nil:oF on line ...
+Defining \__quark_if_empty_return:o on line ...
 Defining \q__tl_act_mark on line ...
 Defining \q__tl_act_stop on line ...
 Defining \g__scan_marks_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index a036334..3fb3f5c 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -1609,6 +1609,7 @@ Defining \quark_if_nil:VT on line ...
 Defining \quark_if_nil:oT on line ...
 Defining \quark_if_nil:VF on line ...
 Defining \quark_if_nil:oF on line ...
+Defining \__quark_if_empty_return:o on line ...
 Defining \q__tl_act_mark on line ...
 Defining \q__tl_act_stop on line ...
 Defining \g__scan_marks_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 30c9d9b..e14d08a 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -1609,6 +1609,7 @@ Defining \quark_if_nil:VT on line ...
 Defining \quark_if_nil:oT on line ...
 Defining \quark_if_nil:VF on line ...
 Defining \quark_if_nil:oF on line ...
+Defining \__quark_if_empty_return:o on line ...
 Defining \q__tl_act_mark on line ...
 Defining \q__tl_act_stop on line ...
 Defining \g__scan_marks_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index de9ddd8..d37a8e1 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -1926,6 +1926,7 @@ Defining \quark_if_nil:VT on line ...
 Defining \quark_if_nil:oT on line ...
 Defining \quark_if_nil:VF on line ...
 Defining \quark_if_nil:oF on line ...
+Defining \__quark_if_empty_return:o on line ...
 Defining \q__tl_act_mark on line ...
 Defining \q__tl_act_stop on line ...
 Defining \g__scan_marks_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 60d122a..d0d5d61 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -1928,6 +1928,7 @@ Defining \quark_if_nil:VT on line ...
 Defining \quark_if_nil:oT on line ...
 Defining \quark_if_nil:VF on line ...
 Defining \quark_if_nil:oF on line ...
+Defining \__quark_if_empty_return:o on line ...
 Defining \q__tl_act_mark on line ...
 Defining \q__tl_act_stop on line ...
 Defining \g__scan_marks_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index c904a04..385335e 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -1609,6 +1609,7 @@ Defining \quark_if_nil:VT on line ...
 Defining \quark_if_nil:oT on line ...
 Defining \quark_if_nil:VF on line ...
 Defining \quark_if_nil:oF on line ...
+Defining \__quark_if_empty_return:o on line ...
 Defining \q__tl_act_mark on line ...
 Defining \q__tl_act_stop on line ...
 Defining \g__scan_marks_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index a036334..3fb3f5c 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -1609,6 +1609,7 @@ Defining \quark_if_nil:VT on line ...
 Defining \quark_if_nil:oT on line ...
 Defining \quark_if_nil:VF on line ...
 Defining \quark_if_nil:oF on line ...
+Defining \__quark_if_empty_return:o on line ...
 Defining \q__tl_act_mark on line ...
 Defining \q__tl_act_stop on line ...
 Defining \g__scan_marks_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 30c9d9b..e14d08a 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -1609,6 +1609,7 @@ Defining \quark_if_nil:VT on line ...
 Defining \quark_if_nil:oT on line ...
 Defining \quark_if_nil:VF on line ...
 Defining \quark_if_nil:oF on line ...
+Defining \__quark_if_empty_return:o on line ...
 Defining \q__tl_act_mark on line ...
 Defining \q__tl_act_stop on line ...
 Defining \g__scan_marks_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index de9ddd8..d37a8e1 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -1926,6 +1926,7 @@ Defining \quark_if_nil:VT on line ...
 Defining \quark_if_nil:oT on line ...
 Defining \quark_if_nil:VF on line ...
 Defining \quark_if_nil:oF on line ...
+Defining \__quark_if_empty_return:o on line ...
 Defining \q__tl_act_mark on line ...
 Defining \q__tl_act_stop on line ...
 Defining \g__scan_marks_tl on line ...





More information about the latex3-commits mailing list