[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