diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3keys.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3keys.dtx | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx index c2069873a77..42e32bb9ac5 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx @@ -35,7 +35,7 @@ % %<*driver|package> \RequirePackage{l3names} -\GetIdInfo$Id: l3keys.dtx 2800 2011-09-10 16:54:36Z will $ +\GetIdInfo$Id: l3keys.dtx 3086 2011-12-22 17:55:46Z bruno $ {L3 Experimental key-value interfaces} %</driver|package> %<*driver> @@ -1147,7 +1147,7 @@ % a property in the current key name, then a check to make sure it is % known before the code hands off to the next step. % \begin{macrocode} -\cs_new_protected_nopar:Npn \keys_define_elt:n #1 +\cs_new_protected:Npn \keys_define_elt:n #1 { \bool_set_true:N \l_keys_no_value_bool \keys_define_elt_aux:nn {#1} { } @@ -1177,14 +1177,14 @@ % and storing the text before and after it. Everything is turned into % strings, so there is no problem using an \texttt{x}-type expansion. % \begin{macrocode} -\cs_new_protected_nopar:Npn \keys_property_find:n #1 +\cs_new_protected:Npn \keys_property_find:n #1 { \tl_set:Nx \l_keys_path_tl { \l_keys_module_tl / } \tl_if_in:nnTF {#1} { . } { \keys_property_find_aux:w #1 \q_stop } { \msg_kernel_error:nnx { keys } { key-no-property } {#1} } } -\cs_new_protected_nopar:Npn \keys_property_find_aux:w #1 . #2 \q_stop +\cs_new_protected:Npn \keys_property_find_aux:w #1 . #2 \q_stop { \tl_set:Nx \l_keys_path_tl { \l_keys_path_tl \tl_to_str:n {#1} } \tl_if_in:nnTF {#2} { . } @@ -1234,7 +1234,7 @@ % second argument here is the scope: either empty or \texttt{g} for % global. % \begin{macrocode} -\cs_new_nopar:Npn \keys_bool_set:NN #1#2 +\cs_new:Npn \keys_bool_set:NN #1#2 { \cs_if_exist:NF #1 { \bool_new:N #1 } \keys_choice_make: @@ -1255,7 +1255,7 @@ % \begin{macro}[int]{\keys_bool_set_inverse:NN} % Inverse boolean setting is much the same. % \begin{macrocode} -\cs_new_nopar:Npn \keys_bool_set_inverse:NN #1#2 +\cs_new:Npn \keys_bool_set_inverse:NN #1#2 { \cs_if_exist:NF #1 { \bool_new:N #1 } \keys_choice_make: @@ -1332,7 +1332,7 @@ { generate-choices-before-code } { \l_keys_path_tl } } } -\cs_new_protected_nopar:Npn \keys_choices_generate_aux:n #1 +\cs_new_protected:Npn \keys_choices_generate_aux:n #1 { \keys_cmd_set:nx { \l_keys_path_tl / #1 } { @@ -1380,7 +1380,7 @@ \keys_cmd_set_aux:n {#1} \cs_set:cpx { \c_keys_code_root_tl #1 } ##1 {#2} } -\cs_new_protected_nopar:Npn \keys_cmd_set_aux:n #1 +\cs_new_protected:Npn \keys_cmd_set_aux:n #1 { \tl_clear_new:c { \c_keys_vars_root_tl #1 .default } \tl_set:cn { \c_keys_vars_root_tl #1 .default } { \q_no_value } @@ -1402,12 +1402,12 @@ % \begin{macro}{\keys_meta_make:n, \keys_meta_make:x} % To create a meta-key, simply set up to pass data through. % \begin{macrocode} -\cs_new_protected_nopar:Npn \keys_meta_make:n #1 +\cs_new_protected:Npn \keys_meta_make:n #1 { \exp_args:NNo \keys_cmd_set:nn \l_keys_path_tl { \exp_after:wN \keys_set:nn \exp_after:wN { \l_keys_module_tl } {#1} } } -\cs_new_protected_nopar:Npn \keys_meta_make:x #1 +\cs_new_protected:Npn \keys_meta_make:x #1 { \keys_cmd_set:nx { \l_keys_path_tl } { \exp_not:N \keys_set:nn { \l_keys_module_tl } {#1} } @@ -1423,7 +1423,7 @@ % map across a comma-separated list. This then requires that the appropriate % set up takes place elsewhere. % \begin{macrocode} -\cs_new_nopar:Npn \keys_multichoice_find:n #1 +\cs_new:Npn \keys_multichoice_find:n #1 { \clist_map_function:nN {#1} \keys_choice_find:n } \cs_new_protected_nopar:Npn \keys_multichoice_make: { @@ -1460,7 +1460,7 @@ % Values can be required or forbidden by having the appropriate marker % set. % \begin{macrocode} -\cs_new_protected_nopar:Npn \keys_value_requirement:n #1 +\cs_new_protected:Npn \keys_value_requirement:n #1 { \tl_set_eq:cc { \c_keys_vars_root_tl \l_keys_path_tl .req } @@ -1476,13 +1476,13 @@ % version is set up so that the use of |{ }| as an \texttt{N}-type % variable is only done once! % \begin{macrocode} -\cs_new_protected_nopar:Npn \keys_variable_set:NnNN #1#2#3#4 +\cs_new_protected:Npn \keys_variable_set:NnNN #1#2#3#4 { \cs_if_exist:NF #1 { \use:c { #2 _new:N } #1 } \keys_cmd_set:nx { \l_keys_path_tl } { \exp_not:c { #2 _ #3 set:N #4 } \exp_not:N #1 {##1} } } -\cs_new_protected_nopar:Npn \keys_variable_set:NnN #1#2#3 +\cs_new_protected:Npn \keys_variable_set:NnN #1#2#3 { \keys_variable_set:NnNN #1 {#2} { } #3 } \cs_generate_variant:Nn \keys_variable_set:NnNN { c } \cs_generate_variant:Nn \keys_variable_set:NnN { c } @@ -1499,9 +1499,9 @@ % \begin{macro}{.bool_gset:N} % One function for this. % \begin{macrocode} -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .bool_set:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .bool_set:N } #1 { \keys_bool_set:NN #1 { } } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .bool_gset:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .bool_gset:N } #1 { \keys_bool_set:NN #1 g } % \end{macrocode} % \end{macro} @@ -1511,9 +1511,9 @@ % \begin{macro}{.bool_gset_inverse:N} % One function for this. % \begin{macrocode} -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .bool_set_inverse:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .bool_set_inverse:N } #1 { \keys_bool_set_inverse:NN #1 { } } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .bool_gset_inverse:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .bool_gset_inverse:N } #1 { \keys_bool_set_inverse:NN #1 g } % \end{macrocode} % \end{macro} @@ -1563,13 +1563,13 @@ % \begin{macro}{.clist_set:N, .clist_set:c} % \begin{macro}{.clist_gset:N, .clist_gset:c} % \begin{macrocode} -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .clist_set:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .clist_set:N } #1 { \keys_variable_set:NnN #1 { clist } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .clist_set:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .clist_set:c } #1 { \keys_variable_set:cnN {#1} { clist } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .clist_gset:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .clist_gset:N } #1 { \keys_variable_set:NnNN #1 { clist } g n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .clist_gset:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .clist_gset:c } #1 { \keys_variable_set:cnNN {#1} { clist } g n } % \end{macrocode} % \end{macro} @@ -1589,13 +1589,13 @@ % \begin{macro}{.dim_gset:N, .dim_gset:c} % Setting a variable is very easy: just pass the data along. % \begin{macrocode} -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .dim_set:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .dim_set:N } #1 { \keys_variable_set:NnN #1 { dim } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .dim_set:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .dim_set:c } #1 { \keys_variable_set:cnN {#1} { dim } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .dim_gset:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .dim_gset:N } #1 { \keys_variable_set:NnNN #1 { dim } g n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .dim_gset:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .dim_gset:c } #1 { \keys_variable_set:cnNN {#1} { dim } g n } % \end{macrocode} % \end{macro} @@ -1605,13 +1605,13 @@ % \begin{macro}{.fp_gset:N, .fp_gset:c} % Setting a variable is very easy: just pass the data along. % \begin{macrocode} -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .fp_set:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .fp_set:N } #1 { \keys_variable_set:NnN #1 { fp } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .fp_set:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .fp_set:c } #1 { \keys_variable_set:cnN {#1} { fp } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .fp_gset:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .fp_gset:N } #1 { \keys_variable_set:NnNN #1 { fp } g n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .fp_gset:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .fp_gset:c } #1 { \keys_variable_set:cnNN {#1} { fp } g n } % \end{macrocode} % \end{macro} @@ -1629,13 +1629,13 @@ % \begin{macro}{.int_gset:N, .int_gset:c} % Setting a variable is very easy: just pass the data along. % \begin{macrocode} -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .int_set:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .int_set:N } #1 { \keys_variable_set:NnN #1 { int } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .int_set:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .int_set:c } #1 { \keys_variable_set:cnN {#1} { int } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .int_gset:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .int_gset:N } #1 { \keys_variable_set:NnNN #1 { int } g n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .int_gset:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .int_gset:c } #1 { \keys_variable_set:cnNN {#1} { int } g n } % \end{macrocode} % \end{macro} @@ -1668,13 +1668,13 @@ % \begin{macro}{.skip_gset:N, .skip_gset:c} % Setting a variable is very easy: just pass the data along. % \begin{macrocode} -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .skip_set:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .skip_set:N } #1 { \keys_variable_set:NnN #1 { skip } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .skip_set:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .skip_set:c } #1 { \keys_variable_set:cnN {#1} { skip } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .skip_gset:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .skip_gset:N } #1 { \keys_variable_set:NnNN #1 { skip } g n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .skip_gset:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .skip_gset:c } #1 { \keys_variable_set:cnNN {#1} { skip } g n } % \end{macrocode} % \end{macro} @@ -1687,21 +1687,21 @@ % \begin{macro}{.tl_gset_x:N, .tl_gset_x:c} % Setting a variable is very easy: just pass the data along. % \begin{macrocode} -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .tl_set:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .tl_set:N } #1 { \keys_variable_set:NnN #1 { tl } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .tl_set:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .tl_set:c } #1 { \keys_variable_set:cnN {#1} { tl } n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .tl_set_x:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .tl_set_x:N } #1 { \keys_variable_set:NnN #1 { tl } x } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .tl_set_x:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .tl_set_x:c } #1 { \keys_variable_set:cnN {#1} { tl } x } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .tl_gset:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .tl_gset:N } #1 { \keys_variable_set:NnNN #1 { tl } g n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .tl_gset:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .tl_gset:c } #1 { \keys_variable_set:cnNN {#1} { tl } g n } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .tl_gset_x:N } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .tl_gset_x:N } #1 { \keys_variable_set:NnNN #1 { tl } g x } -\cs_new_protected_nopar:cpn { \c_keys_props_root_tl .tl_gset_x:c } #1 +\cs_new_protected:cpn { \c_keys_props_root_tl .tl_gset_x:c } #1 { \keys_variable_set:cnNN {#1} { tl } g x } % \end{macrocode} % \end{macro} @@ -1773,7 +1773,7 @@ % required or forbidden. If everything passes, move on to execute the % code. % \begin{macrocode} -\cs_new_protected_nopar:Npn \keys_set_elt:n #1 +\cs_new_protected:Npn \keys_set_elt:n #1 { \bool_set_true:N \l_keys_no_value_bool \keys_set_elt_aux:nn {#1} { } @@ -1882,7 +1882,7 @@ { = { \exp_not:o \l_keys_value_tl } } } } -\cs_new_nopar:Npn \keys_execute:nn #1#2 +\cs_new:Npn \keys_execute:nn #1#2 { \cs_if_exist:cTF { \c_keys_code_root_tl #1 } { @@ -1901,7 +1901,7 @@ % if that fails call the unknown key. That will exist, as it is created % when a choice is first made. So there is no need for any escape code. % \begin{macrocode} -\cs_new_nopar:Npn \keys_choice_find:n #1 +\cs_new:Npn \keys_choice_find:n #1 { \keys_execute:nn { \l_keys_path_tl / \tl_to_str:n {#1} } { \keys_execute:nn { \l_keys_path_tl / unknown } { } } @@ -1938,7 +1938,7 @@ % \begin{macro}{\keys_show:nn} % Showing a key is just a question of using the correct name. % \begin{macrocode} -\cs_new_nopar:Npn \keys_show:nn #1#2 +\cs_new:Npn \keys_show:nn #1#2 { \cs_show:c { \c_keys_code_root_tl #1 / \tl_to_str:n {#2} } } % \end{macrocode} % \end{macro} |