summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/expl3/l3keys.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/expl3/l3keys.sty')
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3keys.sty17
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.%
}