summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3prop.sty')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prop.sty44
1 files changed, 28 insertions, 16 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
index 5d2a1ff69d0..222170544df 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
@@ -46,8 +46,9 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3prop.dtx 2478 2011-06-19 21:34:23Z joseph $
+\GetIdInfo$Id: l3prop.dtx 2665 2011-08-25 22:15:27Z joseph $
{L3 Experimental property lists}
+%%
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
\package_check_loaded_expl:
@@ -208,6 +209,20 @@
\cs_generate_variant:Nn \prop_if_in:NnF { c , cV , co }
\cs_generate_variant:Nn \prop_if_in:NnTF { NV , No }
\cs_generate_variant:Nn \prop_if_in:NnTF { c , cV , co }
+\prg_new_protected_conditional:Npnn \prop_get:NnN #1#2#3 { T , F , TF }
+ {
+ \prop_split:NnTF #1 {#2}
+ { \prop_get_aux_true:Nnnn #3 }
+ { \prg_return_false: }
+ }
+\cs_new_protected:Npn \prop_get_aux_true:Nnnn #1#2#3#4
+ {
+ \tl_set:Nn #1 {#3}
+ \prg_return_true:
+ }
+\cs_generate_variant:Nn \prop_get:NnNT { c }
+\cs_generate_variant:Nn \prop_get:NnNF { c }
+\cs_generate_variant:Nn \prop_get:NnNTF { c }
\cs_new_nopar:Npn \prop_map_function:NN #1#2
{
\exp_last_unbraced:NNo \prop_map_function_aux:Nwn #2
@@ -265,24 +280,13 @@
}
\cs_new:Npn \prop_show_aux:w #1 > ~ { }
\cs_generate_variant:Nn \prop_show:N { c }
-\prg_new_protected_conditional:Npnn \prop_get:NnN #1#2#3 { T , F , TF }
- {
- \prop_split:NnTF #1 {#2}
- { \prop_get_aux_true:Nnnn #3 }
- { \prg_return_false: }
- }
-\cs_new_protected:Npn \prop_get_aux_true:Nnnn #1#2#3#4
- {
- \tl_set:Nn #1 {#3}
- \prg_return_true:
- }
-\prg_new_protected_conditional:Npnn \prop_pop:NnN #1#2#3 {T,F,TF}
+\prg_new_protected_conditional:Npnn \prop_pop:NnN #1#2#3 { T , F , TF }
{
\prop_split:NnTF #1 {#2}
{ \prop_pop_aux_true:NNNnnn \tl_set:Nn #1 #3 }
{ \prg_return_false: }
}
-\prg_new_protected_conditional:Npnn \prop_gpop:NnN #1#2#3 {T,F,TF}
+\prg_new_protected_conditional:Npnn \prop_gpop:NnN #1#2#3 { T , F , TF }
{
\prop_split:NnTF #1 {#2}
{ \prop_pop_aux_true:NNNnnn \tl_gset:Nn #1 #3 }
@@ -294,6 +298,12 @@
#1 #2 { #4 #6 }
\prg_return_true:
}
+\cs_generate_variant:Nn \prop_pop:NnNT { c }
+\cs_generate_variant:Nn \prop_pop:NnNF { c }
+\cs_generate_variant:Nn \prop_pop:NnNTF { c }
+\cs_generate_variant:Nn \prop_gpop:NnNT { c }
+\cs_generate_variant:Nn \prop_gpop:NnNF { c }
+\cs_generate_variant:Nn \prop_gpop:NnNTF { c }
\cs_new:Npn \prop_map_tokens:Nn #1#2
{
\exp_last_unbraced:Nno \prop_map_tokens_aux:nwn {#2} #1
@@ -307,10 +317,12 @@
\use:n {#1} {#2} {#3}
\prop_map_tokens_aux:nwn {#1}
}
-\cs_new:Npn \prop_get:Nn #1 #2
+\cs_generate_variant:Nn \prop_map_tokens:Nn { c }
+\cs_new:Npn \prop_get:Nn #1#2
{ \prop_map_tokens:Nn #1 { \prop_get_aux:nnn {#2} } }
-\cs_new:Npn \prop_get_aux:nnn #1 #2 #3
+\cs_new:Npn \prop_get_aux:nnn #1#2#3
{ \str_if_eq:nnT {#1} {#2} { \prop_map_break:n {#3} } }
+\cs_generate_variant:Nn \prop_get:Nn { c }
\cs_new_eq:NN \prop_display:N \prop_show:N
\cs_new_eq:NN \prop_display:c \prop_show:c
\cs_new_protected:Npn \prop_gget:NnN #1#2#3