diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/expl3/l3keys.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/expl3/l3keys.sty | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/l3keys.sty b/Master/texmf-dist/tex/latex/expl3/l3keys.sty index 7af3a864b83..0029aedf9b4 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3keys.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3keys.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3keys.dtx 1441 2009-08-05 19:23:23Z joseph $ +\GetIdInfo$Id: l3keys.dtx 1504 2009-09-03 20:29:00Z joseph $ {L3 Experimental key-value support} \ProvidesExplPackage {\filename}{\filedate}{\fileversion}{\filedescription} @@ -226,6 +226,13 @@ #2 } } +\prg_set_conditional:Nnn \keys_if_exist:nn {TF,T,F} { + \cs_if_exist:cTF { \c_keys_root_tl #1 / #2 .cmd:w } { + \prg_return_true: + }{ + \prg_return_false: + } +} \cs_new_nopar:Npn \keys_if_value_requirement:nTF #1 { \tl_if_eq:ccTF { c_keys_value_ #1 _tl } { \c_keys_root_tl \l_keys_path_tl .req_tl @@ -244,6 +251,7 @@ \exp_not:N \keys_set:nn { \l_keys_module_tl } {#1} } } +\cs_generate_variant:Nn \keys_meta_make:n { x } \cs_new_nopar:Nn \keys_property_find:n { \tl_set:Nx \l_keys_path_tl { \l_keys_module_tl / } \tl_if_in:nnTF {#1} {.} { @@ -301,7 +309,7 @@ \keys_value_or_default:n {#2} \keys_if_value_requirement:nTF { required } { \bool_if:NTF \l_keys_no_value_bool { - \msg_kernel_error:nx { key~value~required } { \l_keys_path_tl } + \msg_kernel_error:nx { key-value-required } { \l_keys_path_tl } }{ \keys_set_elt_aux: } @@ -438,6 +446,9 @@ \keys_property_new:nn { .meta:n } { \keys_meta_make:n {#1} } +\keys_property_new:nn { .meta:x } { + \keys_meta_make:x {#1} +} \keys_property_new:nn { .set:N } { \keys_variable_set:NN n #1 } @@ -465,7 +476,7 @@ The key `#1' cannot taken a value:\\% the given input `#2' is being ignored.% } -\msg_kernel_new:nn { key~value~required } {% +\msg_kernel_new:nn { key-value-required } {% The key `#1' requires a value\\% and is being ignored.% } |