summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3prop.dtx')
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prop.dtx47
1 files changed, 31 insertions, 16 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
index d8c7410aaa8..38acc36a4c9 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-02-18}
+% \date{Released 2021-05-07}
%
% \maketitle
%
@@ -146,16 +146,16 @@
% \begin{function}[updated = 2012-07-09]
% {
% \prop_put:Nnn, \prop_put:NnV, \prop_put:Nno, \prop_put:Nnx,
-% \prop_put:NVn, \prop_put:NVV, \prop_put:NVx, \prop_put:Nvx,
+% \prop_put:NVn, \prop_put:NVV, \prop_put:NVx, \prop_put:Nvx,
% \prop_put:Non, \prop_put:Noo,, \prop_put:Nxx,
% \prop_put:cnn, \prop_put:cnV, \prop_put:cno, \prop_put:cnx,
-% \prop_put:cVn, \prop_put:cVV, \prop_put:cVx, \prop_put:cvx,
+% \prop_put:cVn, \prop_put:cVV, \prop_put:cVx, \prop_put:cvx,
% \prop_put:con, \prop_put:coo, \prop_put:cxx,
% \prop_gput:Nnn, \prop_gput:NnV, \prop_gput:Nno, \prop_gput:Nnx,
% \prop_gput:NVn, \prop_gput:NVV, \prop_gput:NVx, \prop_gput:Nvx,
% \prop_gput:Non, \prop_gput:Noo, \prop_gput:Nxx,
% \prop_gput:cnn, \prop_gput:cnV, \prop_gput:cno, \prop_gput:cnx,
-% \prop_gput:cVn, \prop_gput:cVV, \prop_gput:cVx, \prop_gput:cvx,
+% \prop_gput:cVn, \prop_gput:cVV, \prop_gput:cVx, \prop_gput:cvx,
% \prop_gput:con, \prop_gput:coo, \prop_gput:cxx
% }
% \begin{syntax}
@@ -372,7 +372,7 @@
% \meta{token list variable} is assigned locally.
% \end{function}
%
-% \section{Mapping to property lists}
+% \section{Mapping over property lists}
%
% All mappings are done at the current group level, \emph{i.e.}~any
% local assignments made by the \meta{function} or \meta{code} discussed
@@ -480,14 +480,14 @@
%
% \section{Viewing property lists}
%
-% \begin{function}[updated = 2015-08-01]{\prop_show:N, \prop_show:c}
+% \begin{function}[updated = 2021-04-29]{\prop_show:N, \prop_show:c}
% \begin{syntax}
% \cs{prop_show:N} \meta{property list}
% \end{syntax}
% Displays the entries in the \meta{property list} in the terminal.
% \end{function}
%
-% \begin{function}[added = 2014-08-12, updated = 2015-08-01]{\prop_log:N, \prop_log:c}
+% \begin{function}[added = 2014-08-12, updated = 2021-04-29]{\prop_log:N, \prop_log:c}
% \begin{syntax}
% \cs{prop_log:N} \meta{property list}
% \end{syntax}
@@ -602,7 +602,7 @@
% error and removes its argument.
% \begin{macrocode}
\cs_new:Npn \@@_pair:wn #1 \s_@@ #2
- { \__kernel_msg_expandable_error:nn { kernel } { misused-prop } }
+ { \__kernel_msg_expandable_error:nn { prop } { misused } }
% \end{macrocode}
% \end{macro}
%
@@ -813,7 +813,7 @@
\str_if_eq:nnTF {#2} { = }
{ \prop_put:Nnn \l_@@_internal_prop {#3} {#1} }
{
- \__kernel_msg_error:nnx { kernel } { prop-keyval }
+ \__kernel_msg_error:nnx { prop } { prop-keyval }
{ \exp_not:o {#4} }
}
}
@@ -1242,7 +1242,7 @@
% \end{macrocode}
% \end{macro}
%
-% \subsection{Mapping to property lists}
+% \subsection{Mapping over property lists}
%
% \begin{macro}[tested = m3prop003]
% {
@@ -1346,27 +1346,42 @@
%
% \begin{macro}[tested = m3show001]
% {\prop_show:N, \prop_show:c, \prop_log:N, \prop_log:c}
-% Apply the general \cs{__kernel_chk_defined:NT} and
-% \cs{msg_show:nnnnnn}. Contrarily to sequences and comma lists,
+% \begin{macro}{\@@_show:NN}
+% \begin{macro}[rEXP]{\@@_show_validate:w}
+% Apply the general \cs{__kernel_chk_tl_type:NnnT}.
+% Contrarily to sequences and comma lists,
% we use \cs{msg_show_item:nn} to format both the key and the value
% for each pair.
% \begin{macrocode}
-\cs_new_protected:Npn \prop_show:N { \@@_show:NN \msg_show:nnxxxx }
+\cs_new_protected:Npn \prop_show:N { \@@_show:NN \__kernel_msg_show:nnxxxx }
\cs_generate_variant:Nn \prop_show:N { c }
-\cs_new_protected:Npn \prop_log:N { \@@_show:NN \msg_log:nnxxxx }
+\cs_new_protected:Npn \prop_log:N { \@@_show:NN \__kernel_msg_log:nnxxxx }
\cs_generate_variant:Nn \prop_log:N { c }
\cs_new_protected:Npn \@@_show:NN #1#2
{
- \__kernel_chk_defined:NT #2
+ \__kernel_chk_tl_type:NnnT #2 { prop }
+ {
+ \s_@@
+ \exp_after:wN \use_i:nn \exp_after:wN \@@_show_validate:w #2
+ \@@_pair:wn \q_recursion_tail \s_@@ { } \q_recursion_stop
+ }
{
- #1 { LaTeX/kernel } { show-prop }
+ #1 { prop } { show }
{ \token_to_str:N #2 }
{ \prop_map_function:NN #2 \msg_show_item:nn }
{ } { }
}
}
+\cs_new:Npn \@@_show_validate:w #1 \@@_pair:wn #2 \s_@@ #3
+ {
+ \quark_if_recursion_tail_stop:n {#2}
+ \exp_not:N \@@_pair:wn \tl_to_str:n {#2} \s_@@ \exp_not:n { {#3} }
+ \@@_show_validate:w
+ }
% \end{macrocode}
% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macrocode}
%</package>