[latex3-commits] [git/LaTeX3-latex3-latex3] master: Moved \prop_map_tokens:Nn to stable (d643b7fbb)
Joseph Wright
joseph.wright at morningstar2.co.uk
Fri Aug 30 16:16:15 CEST 2019
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/d643b7fbb1babc7408acbaa888c949caded40846
>---------------------------------------------------------------
commit d643b7fbb1babc7408acbaa888c949caded40846
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Thu Aug 29 12:53:55 2019 +0100
Moved \prop_map_tokens:Nn to stable
This will match a new seq function in the same area,
needed for upcoming file module changes.
>---------------------------------------------------------------
d643b7fbb1babc7408acbaa888c949caded40846
l3kernel/CHANGELOG.md | 4 +++
l3kernel/l3candidates.dtx | 45 --------------------------------
l3kernel/l3prop.dtx | 46 +++++++++++++++++++++++++++++++++
l3kernel/testfiles/m3expl001.luatex.tlg | 6 ++---
l3kernel/testfiles/m3expl001.ptex.tlg | 6 ++---
l3kernel/testfiles/m3expl001.tlg | 6 ++---
l3kernel/testfiles/m3expl001.uptex.tlg | 6 ++---
l3kernel/testfiles/m3expl001.xetex.tlg | 6 ++---
l3kernel/testfiles/m3expl003.luatex.tlg | 6 ++---
l3kernel/testfiles/m3expl003.ptex.tlg | 6 ++---
l3kernel/testfiles/m3expl003.tlg | 6 ++---
l3kernel/testfiles/m3expl003.uptex.tlg | 6 ++---
l3kernel/testfiles/m3expl003.xetex.tlg | 6 ++---
13 files changed, 80 insertions(+), 75 deletions(-)
diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 406ef7bdc..e53425d58 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -7,6 +7,10 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+### Changed
+
+- Moved `\prop_map_tokens:Nn` to stable
+
## [2019-08-25]
### Added
diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index a92db3ebe..47f5b22fd 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -589,24 +589,6 @@
%
% \section{Additions to \pkg{l3prop}}
%
-% \begin{function}[rEXP]
-% {\prop_map_tokens:Nn, \prop_map_tokens:cn}
-% \begin{syntax}
-% \cs{prop_map_tokens:Nn} \meta{property list} \Arg{code}
-% \end{syntax}
-% Analogue of \cs{prop_map_function:NN} which maps several tokens
-% instead of a single function. The \meta{code} receives each
-% key--value pair in the \meta{property list} as two trailing brace
-% groups. For instance,
-% \begin{verbatim}
-% \prop_map_tokens:Nn \l_my_prop { \str_if_eq:nnT { mykey } }
-% \end{verbatim}
-% expands to the value corresponding to \texttt{mykey}: for each
-% pair in |\l_my_prop| the function \cs{str_if_eq:nnT} receives
-% \texttt{mykey}, the \meta{key} and the \meta{value} as its three
-% arguments. For that specific task, \cs{prop_item:Nn} is faster.
-% \end{function}
-%
% \begin{function}[EXP, added = 2016-12-06]
% {\prop_rand_key_value:N, \prop_rand_key_value:c}
% \begin{syntax}
@@ -1751,33 +1733,6 @@
%<@@=prop>
% \end{macrocode}
%
-% \begin{macro}[rEXP]{\prop_map_tokens:Nn, \prop_map_tokens:cn}
-% \begin{macro}{\@@_map_tokens:nwwn}
-% The mapping is very similar to \cs{prop_map_function:NN}. The
-% \cs{use_i:nn} removes the leading \cs{s_@@}. The odd construction
-% |\use:n {#1}| allows |#1| to contain any token without interfering
-% with \cs{prop_map_break:}. The loop stops when the argument
-% delimited by \cs{@@_pair:wn} is \cs{prg_break:} instead of being
-% empty.
-% \begin{macrocode}
-\cs_new:Npn \prop_map_tokens:Nn #1#2
- {
- \exp_last_unbraced:Nno
- \use_i:nn { \@@_map_tokens:nwwn {#2} } #1
- \prg_break: \@@_pair:wn \s_@@ { } \prg_break_point:
- \prg_break_point:Nn \prop_map_break: { }
- }
-\cs_new:Npn \@@_map_tokens:nwwn #1#2 \@@_pair:wn #3 \s_@@ #4
- {
- #2
- \use:n {#1} {#3} {#4}
- \@@_map_tokens:nwwn {#1}
- }
-\cs_generate_variant:Nn \prop_map_tokens:Nn { c }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
% \begin{macro}[EXP]
% {\prop_rand_key_value:N, \prop_rand_key_value:c}
% \begin{macro}[EXP]{\@@_rand_item:w}
diff --git a/l3kernel/l3prop.dtx b/l3kernel/l3prop.dtx
index d79073065..0ecf12f3d 100644
--- a/l3kernel/l3prop.dtx
+++ b/l3kernel/l3prop.dtx
@@ -368,6 +368,24 @@
% should not be relied upon.
% \end{function}
%
+% \begin{function}[rEXP]
+% {\prop_map_tokens:Nn, \prop_map_tokens:cn}
+% \begin{syntax}
+% \cs{prop_map_tokens:Nn} \meta{property list} \Arg{code}
+% \end{syntax}
+% Analogue of \cs{prop_map_function:NN} which maps several tokens
+% instead of a single function. The \meta{code} receives each
+% key--value pair in the \meta{property list} as two trailing brace
+% groups. For instance,
+% \begin{verbatim}
+% \prop_map_tokens:Nn \l_my_prop { \str_if_eq:nnT { mykey } }
+% \end{verbatim}
+% expands to the value corresponding to \texttt{mykey}: for each
+% pair in |\l_my_prop| the function \cs{str_if_eq:nnT} receives
+% \texttt{mykey}, the \meta{key} and the \meta{value} as its three
+% arguments. For that specific task, \cs{prop_item:Nn} is faster.
+% \end{function}
+%
% \begin{function}[updated = 2012-06-29, rEXP]{\prop_map_break:}
% \begin{syntax}
% \cs{prop_map_break:}
@@ -1215,6 +1233,34 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}[rEXP]{\prop_map_tokens:Nn, \prop_map_tokens:cn}
+% \begin{macro}{\@@_map_tokens:nwwn}
+% The mapping is very similar to \cs{prop_map_function:NN}. The
+% \cs{use_i:nn} removes the leading \cs{s_@@}. The odd construction
+% |\use:n {#1}| allows |#1| to contain any token without interfering
+% with \cs{prop_map_break:}. The loop stops when the argument
+% delimited by \cs{@@_pair:wn} is \cs{prg_break:} instead of being
+% empty.
+% \begin{macrocode}
+\cs_new:Npn \prop_map_tokens:Nn #1#2
+ {
+ \exp_last_unbraced:Nno
+ \use_i:nn { \@@_map_tokens:nwwn {#2} } #1
+ \prg_break: \@@_pair:wn \s_@@ { } \prg_break_point:
+ \prg_break_point:Nn \prop_map_break: { }
+ }
+\cs_new:Npn \@@_map_tokens:nwwn #1#2 \@@_pair:wn #3 \s_@@ #4
+ {
+ #2
+ \use:n {#1} {#3} {#4}
+ \@@_map_tokens:nwwn {#1}
+ }
+\cs_generate_variant:Nn \prop_map_tokens:Nn { c }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
% \begin{macro}[tested = m3prop003]{\prop_map_break:}
% \begin{macro}[tested = m3prop003]{\prop_map_break:n}
% The break statements are based on the general \cs{prg_map_break:Nn}.
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index c0506d0bd..7c0b70fc1 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -2455,6 +2455,9 @@ Defining \prop_map_function:cN on line ...
Defining \prop_map_function:cc on line ...
Defining \prop_map_inline:Nn on line ...
Defining \prop_map_inline:cn on line ...
+Defining \prop_map_tokens:Nn on line ...
+Defining \__prop_map_tokens:nwwn on line ...
+Defining \prop_map_tokens:cn on line ...
Defining \prop_map_break: on line ...
Defining \prop_map_break:n on line ...
Defining \prop_show:N on line ...
@@ -6392,9 +6395,6 @@ Defining \bool_set_inverse:N on line ...
Defining \bool_set_inverse:c on line ...
Defining \bool_gset_inverse:N on line ...
Defining \bool_gset_inverse:c on line ...
-Defining \prop_map_tokens:Nn on line ...
-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_item:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index c833c5210..68eefe86e 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -2709,6 +2709,9 @@ Defining \prop_map_function:cN on line ...
Defining \prop_map_function:cc on line ...
Defining \prop_map_inline:Nn on line ...
Defining \prop_map_inline:cn on line ...
+Defining \prop_map_tokens:Nn on line ...
+Defining \__prop_map_tokens:nwwn on line ...
+Defining \prop_map_tokens:cn on line ...
Defining \prop_map_break: on line ...
Defining \prop_map_break:n on line ...
Defining \prop_show:N on line ...
@@ -6386,9 +6389,6 @@ Defining \bool_set_inverse:N on line ...
Defining \bool_set_inverse:c on line ...
Defining \bool_gset_inverse:N on line ...
Defining \bool_gset_inverse:c on line ...
-Defining \prop_map_tokens:Nn on line ...
-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_item:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index a27bc3999..09e84b9d1 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -2709,6 +2709,9 @@ Defining \prop_map_function:cN on line ...
Defining \prop_map_function:cc on line ...
Defining \prop_map_inline:Nn on line ...
Defining \prop_map_inline:cn on line ...
+Defining \prop_map_tokens:Nn on line ...
+Defining \__prop_map_tokens:nwwn on line ...
+Defining \prop_map_tokens:cn on line ...
Defining \prop_map_break: on line ...
Defining \prop_map_break:n on line ...
Defining \prop_show:N on line ...
@@ -6386,9 +6389,6 @@ Defining \bool_set_inverse:N on line ...
Defining \bool_set_inverse:c on line ...
Defining \bool_gset_inverse:N on line ...
Defining \bool_gset_inverse:c on line ...
-Defining \prop_map_tokens:Nn on line ...
-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_item:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 5af7e63b4..2d59b9e78 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -2709,6 +2709,9 @@ Defining \prop_map_function:cN on line ...
Defining \prop_map_function:cc on line ...
Defining \prop_map_inline:Nn on line ...
Defining \prop_map_inline:cn on line ...
+Defining \prop_map_tokens:Nn on line ...
+Defining \__prop_map_tokens:nwwn on line ...
+Defining \prop_map_tokens:cn on line ...
Defining \prop_map_break: on line ...
Defining \prop_map_break:n on line ...
Defining \prop_show:N on line ...
@@ -6382,9 +6385,6 @@ Defining \bool_set_inverse:N on line ...
Defining \bool_set_inverse:c on line ...
Defining \bool_gset_inverse:N on line ...
Defining \bool_gset_inverse:c on line ...
-Defining \prop_map_tokens:Nn on line ...
-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_item:w on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 65c42cb8b..7347939e6 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -2453,6 +2453,9 @@ Defining \prop_map_function:cN on line ...
Defining \prop_map_function:cc on line ...
Defining \prop_map_inline:Nn on line ...
Defining \prop_map_inline:cn on line ...
+Defining \prop_map_tokens:Nn on line ...
+Defining \__prop_map_tokens:nwwn on line ...
+Defining \prop_map_tokens:cn on line ...
Defining \prop_map_break: on line ...
Defining \prop_map_break:n on line ...
Defining \prop_show:N on line ...
@@ -6390,9 +6393,6 @@ Defining \bool_set_inverse:N on line ...
Defining \bool_set_inverse:c on line ...
Defining \bool_gset_inverse:N on line ...
Defining \bool_gset_inverse:c on line ...
-Defining \prop_map_tokens:Nn on line ...
-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_item:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index c0506d0bd..7c0b70fc1 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -2455,6 +2455,9 @@ Defining \prop_map_function:cN on line ...
Defining \prop_map_function:cc on line ...
Defining \prop_map_inline:Nn on line ...
Defining \prop_map_inline:cn on line ...
+Defining \prop_map_tokens:Nn on line ...
+Defining \__prop_map_tokens:nwwn on line ...
+Defining \prop_map_tokens:cn on line ...
Defining \prop_map_break: on line ...
Defining \prop_map_break:n on line ...
Defining \prop_show:N on line ...
@@ -6392,9 +6395,6 @@ Defining \bool_set_inverse:N on line ...
Defining \bool_set_inverse:c on line ...
Defining \bool_gset_inverse:N on line ...
Defining \bool_gset_inverse:c on line ...
-Defining \prop_map_tokens:Nn on line ...
-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_item:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index c833c5210..68eefe86e 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -2709,6 +2709,9 @@ Defining \prop_map_function:cN on line ...
Defining \prop_map_function:cc on line ...
Defining \prop_map_inline:Nn on line ...
Defining \prop_map_inline:cn on line ...
+Defining \prop_map_tokens:Nn on line ...
+Defining \__prop_map_tokens:nwwn on line ...
+Defining \prop_map_tokens:cn on line ...
Defining \prop_map_break: on line ...
Defining \prop_map_break:n on line ...
Defining \prop_show:N on line ...
@@ -6386,9 +6389,6 @@ Defining \bool_set_inverse:N on line ...
Defining \bool_set_inverse:c on line ...
Defining \bool_gset_inverse:N on line ...
Defining \bool_gset_inverse:c on line ...
-Defining \prop_map_tokens:Nn on line ...
-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_item:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index a27bc3999..09e84b9d1 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -2709,6 +2709,9 @@ Defining \prop_map_function:cN on line ...
Defining \prop_map_function:cc on line ...
Defining \prop_map_inline:Nn on line ...
Defining \prop_map_inline:cn on line ...
+Defining \prop_map_tokens:Nn on line ...
+Defining \__prop_map_tokens:nwwn on line ...
+Defining \prop_map_tokens:cn on line ...
Defining \prop_map_break: on line ...
Defining \prop_map_break:n on line ...
Defining \prop_show:N on line ...
@@ -6386,9 +6389,6 @@ Defining \bool_set_inverse:N on line ...
Defining \bool_set_inverse:c on line ...
Defining \bool_gset_inverse:N on line ...
Defining \bool_gset_inverse:c on line ...
-Defining \prop_map_tokens:Nn on line ...
-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_item:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 5af7e63b4..2d59b9e78 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -2709,6 +2709,9 @@ Defining \prop_map_function:cN on line ...
Defining \prop_map_function:cc on line ...
Defining \prop_map_inline:Nn on line ...
Defining \prop_map_inline:cn on line ...
+Defining \prop_map_tokens:Nn on line ...
+Defining \__prop_map_tokens:nwwn on line ...
+Defining \prop_map_tokens:cn on line ...
Defining \prop_map_break: on line ...
Defining \prop_map_break:n on line ...
Defining \prop_show:N on line ...
@@ -6382,9 +6385,6 @@ Defining \bool_set_inverse:N on line ...
Defining \bool_set_inverse:c on line ...
Defining \bool_gset_inverse:N on line ...
Defining \bool_gset_inverse:c on line ...
-Defining \prop_map_tokens:Nn on line ...
-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_item:w on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 65c42cb8b..7347939e6 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -2453,6 +2453,9 @@ Defining \prop_map_function:cN on line ...
Defining \prop_map_function:cc on line ...
Defining \prop_map_inline:Nn on line ...
Defining \prop_map_inline:cn on line ...
+Defining \prop_map_tokens:Nn on line ...
+Defining \__prop_map_tokens:nwwn on line ...
+Defining \prop_map_tokens:cn on line ...
Defining \prop_map_break: on line ...
Defining \prop_map_break:n on line ...
Defining \prop_show:N on line ...
@@ -6390,9 +6393,6 @@ Defining \bool_set_inverse:N on line ...
Defining \bool_set_inverse:c on line ...
Defining \bool_gset_inverse:N on line ...
Defining \bool_gset_inverse:c on line ...
-Defining \prop_map_tokens:Nn on line ...
-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_item:w on line ...
More information about the latex3-commits
mailing list