[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