diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3prop.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3prop.sty | 44 |
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 |