[latex3-commits] [git/LaTeX3-latex3-latex3] master: Simplify code by using \int_value:w rather than f-expansion (7efd657)
Bruno Le Floch
bruno at le-floch.fr
Fri Mar 30 04:13:08 CEST 2018
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/7efd657fd8ac23ca7eb86485a1915e6df650155c
>---------------------------------------------------------------
commit 7efd657fd8ac23ca7eb86485a1915e6df650155c
Author: Bruno Le Floch <bruno at le-floch.fr>
Date: Thu Mar 29 22:11:59 2018 -0400
Simplify code by using \int_value:w rather than f-expansion
>---------------------------------------------------------------
7efd657fd8ac23ca7eb86485a1915e6df650155c
l3kernel/l3candidates.dtx | 18 +++++-------------
l3kernel/l3prg.dtx | 9 +++------
l3kernel/testfiles/m3expl001.luatex.tlg | 5 -----
l3kernel/testfiles/m3expl001.ptex.tlg | 5 -----
l3kernel/testfiles/m3expl001.tlg | 5 -----
l3kernel/testfiles/m3expl001.uptex.tlg | 5 -----
l3kernel/testfiles/m3expl001.xetex.tlg | 5 -----
l3kernel/testfiles/m3expl003.luatex.tlg | 5 -----
l3kernel/testfiles/m3expl003.ptex.tlg | 5 -----
l3kernel/testfiles/m3expl003.tlg | 5 -----
l3kernel/testfiles/m3expl003.uptex.tlg | 5 -----
l3kernel/testfiles/m3expl003.xetex.tlg | 5 -----
12 files changed, 8 insertions(+), 69 deletions(-)
diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index ef4fb9c..d0aaeab 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -2140,29 +2140,23 @@
%
% \begin{macro}[EXP]
% {\prop_rand_key_value:N, \prop_rand_key_value:c}
-% \begin{macro}[EXP]{\@@_rand_key_item:nN, \@@_rand_key_item:fN}
-% \begin{macro}[EXP]{\@@_rand_key_item:nn}
% \begin{macro}[EXP]{\@@_rand_item:w}
% Contrarily to |clist|, |seq| and |tl|, there is no function to get
% an item of a |prop| given an integer between $1$ and the number of
% items, so we write the appropriate code. There is no bounds
-% checking because \cs{int_rand:nn} is always within bounds.
+% checking because \cs{int_rand:nn} is always within bounds. The
+% initial \cs{int_value:w} is stopped by the first \cs{s_@@} in~|#1|.
% \begin{macrocode}
\cs_new:Npn \prop_rand_key_value:N #1
{
\prop_if_empty:NF #1
{
- \@@_rand_key_item:fN
- { \int_eval:n { \int_rand:nn { 1 } { \prop_count:N #1 } } }
- #1
+ \exp_after:wN \@@_rand_item:w
+ \int_value:w \int_rand:nn { 1 } { \prop_count:N #1 }
+ #1 \q_stop
}
}
\cs_generate_variant:Nn \prop_rand_key_value:N { c }
-\cs_new:Npn \@@_rand_key_item:nN #1#2
- { \exp_after:wN \@@_rand_key_item:nn \exp_after:wN {#2} {#1} }
-\cs_generate_variant:Nn \@@_rand_key_item:nN { f }
-\cs_new:Npn \@@_rand_key_item:nn #1#2
- { \@@_rand_item:w #2 #1 \q_stop }
\cs_new:Npn \@@_rand_item:w #1 \s_@@ \@@_pair:wn #2 \s_@@ #3
{
\int_compare:nNnF {#1} > 1
@@ -2173,8 +2167,6 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \subsection{Additions to \pkg{l3seq}}
%
diff --git a/l3kernel/l3prg.dtx b/l3kernel/l3prg.dtx
index ca1dc89..cecbd98 100644
--- a/l3kernel/l3prg.dtx
+++ b/l3kernel/l3prg.dtx
@@ -1342,7 +1342,6 @@
%
% \begin{macro}{\prg_replicate:nn}
% \UnitTested
-% \begin{macro}{\@@_replicate_first:n, \@@_replicate_first:f}
% \begin{macro}{\@@_replicate:N, \@@_replicate_first:N}
% \begin{macro}{\@@_replicate_}
% \begin{macro}
@@ -1406,11 +1405,10 @@
\cs_new:Npn \prg_replicate:nn #1
{
\exp:w
- \@@_replicate_first:f { \int_eval:n {#1} }
+ \exp_after:wN \@@_replicate_first:N
+ \int_value:w \int_eval:n {#1}
+ \cs_end:
}
-\cs_new:Npn \@@_replicate_first:n #1
- { \@@_replicate_first:N #1 \cs_end: }
-\cs_generate_variant:Nn \@@_replicate_first:n { f }
\cs_new:Npn \@@_replicate:N #1
{ \cs:w @@_replicate_#1 :n \@@_replicate:N }
\cs_new:Npn \@@_replicate_first:N #1
@@ -1465,7 +1463,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
%
% \subsection{Detecting \TeX{}'s mode}
%
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index a272544..41eecea 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -2040,8 +2040,6 @@ Defining \bool_do_while:nn on line ...
Defining \bool_until_do:nn on line ...
Defining \bool_do_until:nn on line ...
Defining \prg_replicate:nn on line ...
-Defining \__prg_replicate_first:n on line ...
-Defining \__prg_replicate_first:f on line ...
Defining \__prg_replicate:N on line ...
Defining \__prg_replicate_first:N on line ...
Defining \__prg_replicate_ on line ...
@@ -5780,9 +5778,6 @@ Defining \__prop_map_tokens:nwwn on line ...
Defining \prop_map_tokens:cn on line ...
Defining \prop_rand_key_value:N on line ...
Defining \prop_rand_key_value:c on line ...
-Defining \__prop_rand_key_item:nN on line ...
-Defining \__prop_rand_key_item:fN on line ...
-Defining \__prop_rand_key_item:nn on line ...
Defining \__prop_rand_item:w on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 4fce46d..f7dc002 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -1721,8 +1721,6 @@ Defining \bool_do_while:nn on line ...
Defining \bool_until_do:nn on line ...
Defining \bool_do_until:nn on line ...
Defining \prg_replicate:nn on line ...
-Defining \__prg_replicate_first:n on line ...
-Defining \__prg_replicate_first:f on line ...
Defining \__prg_replicate:N on line ...
Defining \__prg_replicate_first:N on line ...
Defining \__prg_replicate_ on line ...
@@ -5719,9 +5717,6 @@ Defining \__prop_map_tokens:nwwn on line ...
Defining \prop_map_tokens:cn on line ...
Defining \prop_rand_key_value:N on line ...
Defining \prop_rand_key_value:c on line ...
-Defining \__prop_rand_key_item:nN on line ...
-Defining \__prop_rand_key_item:fN on line ...
-Defining \__prop_rand_key_item:nn on line ...
Defining \__prop_rand_item:w on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 05ced54..8517a11 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -1721,8 +1721,6 @@ Defining \bool_do_while:nn on line ...
Defining \bool_until_do:nn on line ...
Defining \bool_do_until:nn on line ...
Defining \prg_replicate:nn on line ...
-Defining \__prg_replicate_first:n on line ...
-Defining \__prg_replicate_first:f on line ...
Defining \__prg_replicate:N on line ...
Defining \__prg_replicate_first:N on line ...
Defining \__prg_replicate_ on line ...
@@ -5719,9 +5717,6 @@ Defining \__prop_map_tokens:nwwn on line ...
Defining \prop_map_tokens:cn on line ...
Defining \prop_rand_key_value:N on line ...
Defining \prop_rand_key_value:c on line ...
-Defining \__prop_rand_key_item:nN on line ...
-Defining \__prop_rand_key_item:fN on line ...
-Defining \__prop_rand_key_item:nn on line ...
Defining \__prop_rand_item:w on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 34fb5fd..de1aff8 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -1721,8 +1721,6 @@ Defining \bool_do_while:nn on line ...
Defining \bool_until_do:nn on line ...
Defining \bool_do_until:nn on line ...
Defining \prg_replicate:nn on line ...
-Defining \__prg_replicate_first:n on line ...
-Defining \__prg_replicate_first:f on line ...
Defining \__prg_replicate:N on line ...
Defining \__prg_replicate_first:N on line ...
Defining \__prg_replicate_ on line ...
@@ -5717,9 +5715,6 @@ Defining \__prop_map_tokens:nwwn on line ...
Defining \prop_map_tokens:cn on line ...
Defining \prop_rand_key_value:N on line ...
Defining \prop_rand_key_value:c on line ...
-Defining \__prop_rand_key_item:nN on line ...
-Defining \__prop_rand_key_item:fN on line ...
-Defining \__prop_rand_key_item:nn on line ...
Defining \__prop_rand_item:w on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 7485633..d5830f8 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -2038,8 +2038,6 @@ Defining \bool_do_while:nn on line ...
Defining \bool_until_do:nn on line ...
Defining \bool_do_until:nn on line ...
Defining \prg_replicate:nn on line ...
-Defining \__prg_replicate_first:n on line ...
-Defining \__prg_replicate_first:f on line ...
Defining \__prg_replicate:N on line ...
Defining \__prg_replicate_first:N on line ...
Defining \__prg_replicate_ on line ...
@@ -5752,9 +5750,6 @@ Defining \__prop_map_tokens:nwwn on line ...
Defining \prop_map_tokens:cn on line ...
Defining \prop_rand_key_value:N on line ...
Defining \prop_rand_key_value:c on line ...
-Defining \__prop_rand_key_item:nN on line ...
-Defining \__prop_rand_key_item:fN on line ...
-Defining \__prop_rand_key_item:nn on line ...
Defining \__prop_rand_item:w on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index a272544..41eecea 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -2040,8 +2040,6 @@ Defining \bool_do_while:nn on line ...
Defining \bool_until_do:nn on line ...
Defining \bool_do_until:nn on line ...
Defining \prg_replicate:nn on line ...
-Defining \__prg_replicate_first:n on line ...
-Defining \__prg_replicate_first:f on line ...
Defining \__prg_replicate:N on line ...
Defining \__prg_replicate_first:N on line ...
Defining \__prg_replicate_ on line ...
@@ -5780,9 +5778,6 @@ Defining \__prop_map_tokens:nwwn on line ...
Defining \prop_map_tokens:cn on line ...
Defining \prop_rand_key_value:N on line ...
Defining \prop_rand_key_value:c on line ...
-Defining \__prop_rand_key_item:nN on line ...
-Defining \__prop_rand_key_item:fN on line ...
-Defining \__prop_rand_key_item:nn on line ...
Defining \__prop_rand_item:w on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 4fce46d..f7dc002 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -1721,8 +1721,6 @@ Defining \bool_do_while:nn on line ...
Defining \bool_until_do:nn on line ...
Defining \bool_do_until:nn on line ...
Defining \prg_replicate:nn on line ...
-Defining \__prg_replicate_first:n on line ...
-Defining \__prg_replicate_first:f on line ...
Defining \__prg_replicate:N on line ...
Defining \__prg_replicate_first:N on line ...
Defining \__prg_replicate_ on line ...
@@ -5719,9 +5717,6 @@ Defining \__prop_map_tokens:nwwn on line ...
Defining \prop_map_tokens:cn on line ...
Defining \prop_rand_key_value:N on line ...
Defining \prop_rand_key_value:c on line ...
-Defining \__prop_rand_key_item:nN on line ...
-Defining \__prop_rand_key_item:fN on line ...
-Defining \__prop_rand_key_item:nn on line ...
Defining \__prop_rand_item:w on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 05ced54..8517a11 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -1721,8 +1721,6 @@ Defining \bool_do_while:nn on line ...
Defining \bool_until_do:nn on line ...
Defining \bool_do_until:nn on line ...
Defining \prg_replicate:nn on line ...
-Defining \__prg_replicate_first:n on line ...
-Defining \__prg_replicate_first:f on line ...
Defining \__prg_replicate:N on line ...
Defining \__prg_replicate_first:N on line ...
Defining \__prg_replicate_ on line ...
@@ -5719,9 +5717,6 @@ Defining \__prop_map_tokens:nwwn on line ...
Defining \prop_map_tokens:cn on line ...
Defining \prop_rand_key_value:N on line ...
Defining \prop_rand_key_value:c on line ...
-Defining \__prop_rand_key_item:nN on line ...
-Defining \__prop_rand_key_item:fN on line ...
-Defining \__prop_rand_key_item:nn on line ...
Defining \__prop_rand_item:w on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 34fb5fd..de1aff8 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -1721,8 +1721,6 @@ Defining \bool_do_while:nn on line ...
Defining \bool_until_do:nn on line ...
Defining \bool_do_until:nn on line ...
Defining \prg_replicate:nn on line ...
-Defining \__prg_replicate_first:n on line ...
-Defining \__prg_replicate_first:f on line ...
Defining \__prg_replicate:N on line ...
Defining \__prg_replicate_first:N on line ...
Defining \__prg_replicate_ on line ...
@@ -5717,9 +5715,6 @@ Defining \__prop_map_tokens:nwwn on line ...
Defining \prop_map_tokens:cn on line ...
Defining \prop_rand_key_value:N on line ...
Defining \prop_rand_key_value:c on line ...
-Defining \__prop_rand_key_item:nN on line ...
-Defining \__prop_rand_key_item:fN on line ...
-Defining \__prop_rand_key_item:nn on line ...
Defining \__prop_rand_item:w on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 7485633..d5830f8 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -2038,8 +2038,6 @@ Defining \bool_do_while:nn on line ...
Defining \bool_until_do:nn on line ...
Defining \bool_do_until:nn on line ...
Defining \prg_replicate:nn on line ...
-Defining \__prg_replicate_first:n on line ...
-Defining \__prg_replicate_first:f on line ...
Defining \__prg_replicate:N on line ...
Defining \__prg_replicate_first:N on line ...
Defining \__prg_replicate_ on line ...
@@ -5752,9 +5750,6 @@ Defining \__prop_map_tokens:nwwn on line ...
Defining \prop_map_tokens:cn on line ...
Defining \prop_rand_key_value:N on line ...
Defining \prop_rand_key_value:c on line ...
-Defining \__prop_rand_key_item:nN on line ...
-Defining \__prop_rand_key_item:fN on line ...
-Defining \__prop_rand_key_item:nn on line ...
Defining \__prop_rand_item:w on line ...
Defining \seq_mapthread_function:NNN on line ...
Defining \__seq_mapthread_function:wNN on line ...
More information about the latex3-commits
mailing list