summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel/l3prop.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-08-30 03:01:17 +0000
committerNorbert Preining <norbert@preining.info>2023-08-30 03:01:17 +0000
commit4fee29360f7566a474b6143951b0744fa151edc9 (patch)
tree1af77d3ca21368f054b09f30dd60e8028a91be62 /macros/latex/contrib/l3kernel/l3prop.dtx
parent64e26532c685fd24d6983508c6239e3c268b810b (diff)
CTAN sync 202308300301
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3prop.dtx')
-rw-r--r--macros/latex/contrib/l3kernel/l3prop.dtx68
1 files changed, 40 insertions, 28 deletions
diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx
index e7ef6d11f8..2d5fc3edcc 100644
--- a/macros/latex/contrib/l3kernel/l3prop.dtx
+++ b/macros/latex/contrib/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-08-11}
+% \date{Released 2023-08-29}
%
% \maketitle
%
@@ -167,16 +167,16 @@
% {
% \prop_put:Nnn, \prop_put:NnV, \prop_put:Nno, \prop_put:Nne, \prop_put:Nnx,
% \prop_put:NVn, \prop_put:NVV, \prop_put:NVx, \prop_put:Nvx,
-% \prop_put:Non, \prop_put:Noo, \prop_put:Nxx,
+% \prop_put:Non, \prop_put:Nxn, \prop_put:NxV, \prop_put:Noo, \prop_put:Nxx,
% \prop_put:cnn, \prop_put:cnV, \prop_put:cno, \prop_put:cne, \prop_put:cnx,
% \prop_put:cVn, \prop_put:cVV, \prop_put:cVx, \prop_put:cvx,
-% \prop_put:con, \prop_put:coo, \prop_put:cxx,
+% \prop_put:con, \prop_put:cxn, \prop_put:cxV, \prop_put:coo, \prop_put:cxx,
% \prop_gput:Nnn, \prop_gput:NnV, \prop_gput:Nno, \prop_gput:Nne, \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:Non, \prop_gput:Nxn, \prop_gput:NxV, \prop_gput:Noo, \prop_gput:Nxx,
% \prop_gput:cnn, \prop_gput:cnV, \prop_gput:cno, \prop_gput:cne, \prop_gput:cnx,
% \prop_gput:cVn, \prop_gput:cVV, \prop_gput:cVx, \prop_gput:cvx,
-% \prop_gput:con, \prop_gput:coo, \prop_gput:cxx
+% \prop_gput:con, \prop_gput:cxn, \prop_gput:cxV, \prop_gput:coo, \prop_gput:cxx
% }
% \begin{syntax}
% \cs{prop_put:Nnn} \meta{property list} \Arg{key} \Arg{value}
@@ -250,8 +250,9 @@
%
% \begin{function}[updated = 2011-08-28]
% {
-% \prop_get:NnN, \prop_get:NVN, \prop_get:NvN, \prop_get:NoN,
-% \prop_get:cnN, \prop_get:cVN, \prop_get:cvN, \prop_get:coN,
+% \prop_get:NnN, \prop_get:NVN, \prop_get:NvN, \prop_get:NoN, \prop_get:NxN,
+% \prop_get:cnN, \prop_get:cVN, \prop_get:cvN, \prop_get:coN, \prop_get:cxN,
+% \prop_get:cnc
% }
% \begin{syntax}
% \cs{prop_get:NnN} \meta{property list} \Arg{key} \meta{tl var}
@@ -294,7 +295,11 @@
% the \meta{token list variable} is local. See also \cs{prop_gpop:NnNTF}.
% \end{function}
%
-% \begin{function}[added = 2014-07-17, EXP]{\prop_item:Nn, \prop_item:cn}
+% \begin{function}[added = 2014-07-17, EXP]
+% {
+% \prop_item:Nn, \prop_item:NV, \prop_item:No, \prop_item:Ne,
+% \prop_item:cn, \prop_item:cV, \prop_item:co, \prop_item:ce
+% }
% \begin{syntax}
% \cs{prop_item:Nn} \meta{property list} \Arg{key}
% \end{syntax}
@@ -399,8 +404,9 @@
%
% \begin{function}[updated = 2012-05-19, TF]
% {
-% \prop_get:NnN, \prop_get:NVN, \prop_get:NvN, \prop_get:NoN,
-% \prop_get:cnN, \prop_get:cVN, \prop_get:cvN, \prop_get:coN
+% \prop_get:NnN, \prop_get:NVN, \prop_get:NvN, \prop_get:NoN, \prop_get:NxN,
+% \prop_get:cnN, \prop_get:cVN, \prop_get:cvN, \prop_get:coN, \prop_get:cxN,
+% \prop_get:cnc
% }
% \begin{syntax}
% \cs{prop_get:NnNTF} \meta{property list} \Arg{key} \meta{token list variable} \\
@@ -982,8 +988,9 @@
%
% \begin{macro}[tested = m3prop002]
% {
-% \prop_get:NnN, \prop_get:NVN, \prop_get:NoN,
-% \prop_get:cnN, \prop_get:cVN, \prop_get:coN
+% \prop_get:NnN, \prop_get:NVN, \prop_get:NvN, \prop_get:NoN, \prop_get:NxN,
+% \prop_get:cnN, \prop_get:cVN, \prop_get:cvN, \prop_get:coN, \prop_get:cxN,
+% \prop_get:cnc
% }
% Getting an item from a list is very easy: after splitting,
% if the key is in the property list, just set the token list variable
@@ -995,8 +1002,8 @@
{ \tl_set:Nn #3 {##2} }
{ \tl_set:Nn #3 { \q_no_value } }
}
-\cs_generate_variant:Nn \prop_get:NnN { NV , Nv , No }
-\cs_generate_variant:Nn \prop_get:NnN { c , cV , cv , co }
+\cs_generate_variant:Nn \prop_get:NnN { NV , Nv , No , Nx }
+\cs_generate_variant:Nn \prop_get:NnN { c , cV , cv , co , cx , cnc }
% \end{macrocode}
% \end{macro}
%
@@ -1035,7 +1042,11 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[EXP]{\prop_item:Nn, \prop_item:cn}
+% \begin{macro}[EXP]
+% {
+% \prop_item:Nn, \prop_item:NV, \prop_item:No, \prop_item:Ne,
+% \prop_item:cn, \prop_item:cV, \prop_item:co, \prop_item:ce
+% }
% \begin{macro}[EXP]{\@@_item:nnn}
% Getting the value corresponding to a key in a property list in an
% expandable fashion simply uses \cs{prop_map_tokens:Nn} to go through
@@ -1053,7 +1064,7 @@
\str_if_eq:eeT {#1} {#2}
{ \prop_map_break:n { \exp_not:n {#3} } }
}
-\cs_generate_variant:Nn \prop_item:Nn { c }
+\cs_generate_variant:Nn \prop_item:Nn { NV , No , Ne , c , cV , co , ce }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1154,19 +1165,19 @@
% {
% \prop_put:Nnn, \prop_put:NnV, \prop_put:Nno, \prop_put:Nne, \prop_put:Nnx,
% \prop_put:NVn, \prop_put:NVV, \prop_put:NVx, \prop_put:Nvx,
-% \prop_put:Non, \prop_put:Noo, \prop_put:Nxx,
+% \prop_put:Non, \prop_put:Nxn, \prop_put:NxV, \prop_put:Noo, \prop_put:Nxx,
% \prop_put:cnn, \prop_put:cnV, \prop_put:cno, \prop_put:cne, \prop_put:cnx,
% \prop_put:cVn, \prop_put:cVV, \prop_put:cVx, \prop_put:cvx,
-% \prop_put:con, \prop_put:coo, \prop_put:cxx
+% \prop_put:con, \prop_put:cxn, \prop_put:cxV, \prop_put:coo, \prop_put:cxx
% }
% \begin{macro}[tested = m3prop002]
% {
% \prop_gput:Nnn, \prop_gput:NnV, \prop_gput:Nno, \prop_gput:Nne, \prop_gput:Nnx,
-% \prop_gput:NVn, \prop_gput:NVV, \prop_hput:NVx, \prop_hput:Nvx,
-% \prop_gput:Non, \prop_gput:Noo, \prop_gput:Nxx,
+% \prop_gput:NVn, \prop_gput:NVV, \prop_gput:NVx, \prop_hput:Nvx,
+% \prop_gput:Non, \prop_gput:Nxn, \prop_pgut:NxV, \prop_gput:Noo, \prop_gput:Nxx,
% \prop_gput:cnn, \prop_gput:cnV, \prop_gput:cno, \prop_gput:cne, \prop_gput:cnx,
% \prop_gput:cVn, \prop_gput:cVV, \prop_gput:cVx, \prop_gput:cvx,
-% \prop_gput:con, \prop_gput:coo, \prop_gput:cxx
+% \prop_gput:con, \prop_gput:cxn, \prop_gput:cxV, \prop_gput:coo, \prop_gput:cxx
% }
% \begin{macro}{\@@_put:NNnn}
% Since the branches of \cs{@@_split:NnTF} are used as the replacement
@@ -1196,13 +1207,13 @@
{ #1 #2 { \exp_not:o {#2} \l_@@_internal_tl } }
}
\cs_generate_variant:Nn \prop_put:Nnn
- { NnV , Nno , Nne , Nnx , NV , NVV , NVx , Nvx , No , Noo , Nxx }
+ { NnV , Nno , Nne , Nnx , NV , NVV , NVx , Nvx , No , Nx , NxV , Noo , Nxx }
\cs_generate_variant:Nn \prop_put:Nnn
- { c , cnV , cno , cne , cnx , cV , cVV , cVx , cvx , co , coo , cxx }
+ { c , cnV , cno , cne , cnx , cV , cVV , cVx , cvx , co , cx , cxV , coo , cxx }
\cs_generate_variant:Nn \prop_gput:Nnn
- { NnV , Nno , Nne , Nnx , NV , NVV , NVx , Nvx , No , Noo , Nxx }
+ { NnV , Nno , Nne , Nnx , NV , NVV , NVx , Nvx , No , Nx , NxV , Noo , Nxx }
\cs_generate_variant:Nn \prop_gput:Nnn
- { c , cnV , cno , cne , cnx , cV , cVV , cVx , cvx , co , coo , cxx }
+ { c , cnV , cno , cne , cnx , cV , cVV , cVx , cvx , co , cx , cxV , coo , cxx }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1307,8 +1318,9 @@
%
% \begin{macro}[TF, tested = m3prop004]
% {
-% \prop_get:NnN, \prop_get:NVN, \prop_get:NoN,
-% \prop_get:cnN, \prop_get:cVN, \prop_get:coN
+% \prop_get:NnN, \prop_get:NVN, \prop_get:NvN, \prop_get:NoN, \prop_get:NxN,
+% \prop_get:cnN, \prop_get:cVN, \prop_get:cvN, \prop_get:coN, \prop_get:cxN,
+% \prop_get:cnc
% }
% Getting the value corresponding to a key, keeping track of whether
% the key was present or not, is implemented as a conditional (with
@@ -1324,7 +1336,7 @@
{ \prg_return_false: }
}
\prg_generate_conditional_variant:Nnn \prop_get:NnN
- { NV , Nv , No , c , cV , cv , co } { T , F , TF }
+ { NV , Nv , No , Nx , c , cV , cv , co , cx , cnc } { T , F , TF }
% \end{macrocode}
% \end{macro}
%