diff options
author | Karl Berry <karl@freefriends.org> | 2021-05-07 20:16:16 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-05-07 20:16:16 +0000 |
commit | b95d7e12e4b85cb577f3efc950cf50413dfea72b (patch) | |
tree | 8f662c3a06c148b16917d9fe40bad41f7321dcfc /Master/texmf-dist/source/latex/l3kernel/l3prop.dtx | |
parent | 3f20818aebef6486b55ca328825b002d7f87e396 (diff) |
l3 (7may21)
git-svn-id: svn://tug.org/texlive/trunk@59118 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3prop.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3prop.dtx | 47 |
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> |