diff options
author | Karl Berry <karl@freefriends.org> | 2020-02-08 22:17:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-02-08 22:17:44 +0000 |
commit | 11d5fee6b76a80c9692e53d37256704799b2ed0b (patch) | |
tree | aa60f3dd8954a6fea2a04549e1f63e9b0d287813 /Master/texmf-dist/tex/latex/l3kernel | |
parent | 49a6d81b78d45a76ba5a703cf89fa6cf1825d28a (diff) |
l3 (8feb20)
git-svn-id: svn://tug.org/texlive/trunk@53719 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
5 files changed, 200 insertions, 197 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index f416769c1db..043647b1a45 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -67,7 +67,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2020-02-03}% +\def\ExplFileDate{2020-02-08}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -12660,25 +12660,27 @@ LaTeX~is~attempting~to~parse~some~key-value~input~but~found~ two~equals~signs~not~separated~by~a~comma. } -\tl_const:Nn \c__keys_code_root_tl { key~code~>~ } -\tl_const:Nn \c__keys_default_root_tl { key~default~>~ } -\tl_const:Nn \c__keys_groups_root_tl { key~groups~>~ } -\tl_const:Nn \c__keys_inherit_root_tl { key~inherit~>~ } -\tl_const:Nn \c__keys_type_root_tl { key~type~>~ } -\tl_const:Nn \c__keys_validate_root_tl { key~validate~>~ } -\tl_const:Nn \c__keys_props_root_tl { key~prop~>~ } +\str_const:Nn \c__keys_code_root_str { key~code~>~ } +\str_const:Nn \c__keys_default_root_str { key~default~>~ } +\str_const:Nn \c__keys_groups_root_str { key~groups~>~ } +\str_const:Nn \c__keys_inherit_root_str { key~inherit~>~ } +\str_const:Nn \c__keys_type_root_str { key~type~>~ } +\str_const:Nn \c__keys_validate_root_str { key~validate~>~ } +\str_const:Nn \c__keys_props_root_str { key~prop~>~ } \int_new:N \l_keys_choice_int \tl_new:N \l_keys_choice_tl \clist_new:N \l__keys_groups_clist +\str_new:N \l_keys_key_str \tl_new:N \l_keys_key_tl -\tl_new:N \l__keys_module_tl +\str_new:N \l__keys_module_str \bool_new:N \l__keys_no_value_bool \bool_new:N \l__keys_only_known_bool +\str_new:N \l_keys_path_str \tl_new:N \l_keys_path_tl -\tl_new:N \l__keys_inherit_tl +\str_new:N \l__keys_inherit_str \tl_new:N \l__keys_relative_tl \tl_set:Nn \l__keys_relative_tl { \q_no_value } -\tl_new:N \l__keys_property_tl +\str_new:N \l__keys_property_str \bool_new:N \l__keys_selective_bool \bool_new:N \l__keys_filtered_bool \seq_new:N \l__keys_selective_seq @@ -12688,12 +12690,12 @@ \tl_new:N \l__keys_tmpa_tl \tl_new:N \l__keys_tmpb_tl \cs_new_protected:Npn \keys_define:nn - { \__keys_define:onn \l__keys_module_tl } + { \__keys_define:onn \l__keys_module_str } \cs_new_protected:Npn \__keys_define:nnn #1#2#3 { - \tl_set:Nx \l__keys_module_tl { \__keys_trim_spaces:n {#2} } + \str_set:Nx \l__keys_module_str { \__keys_trim_spaces:n {#2} } \keyval_parse:NNn \__keys_define:n \__keys_define:nn {#3} - \tl_set:Nn \l__keys_module_tl {#1} + \str_set:Nn \l__keys_module_str {#1} } \cs_generate_variant:Nn \__keys_define:nnn { o } \cs_new_protected:Npn \__keys_define:n #1 @@ -12709,56 +12711,56 @@ \cs_new_protected:Npn \__keys_define_aux:nn #1#2 { \__keys_property_find:n {#1} - \cs_if_exist:cTF { \c__keys_props_root_tl \l__keys_property_tl } - { \__keys_define_code:n {#2} - } + \cs_if_exist:cTF { \c__keys_props_root_str \l__keys_property_str } + { \__keys_define_code:n {#2} } { - \tl_if_empty:NF \l__keys_property_tl + \str_if_empty:NF \l__keys_property_str { \__kernel_msg_error:nnxx { kernel } { key-property-unknown } - { \l__keys_property_tl } { \l_keys_path_tl } + { \l__keys_property_str } { \l_keys_path_str } } } } \cs_new_protected:Npn \__keys_property_find:n #1 { - \tl_set:Nx \l__keys_property_tl { \__keys_trim_spaces:n {#1} } - \exp_after:wN \__keys_property_find:w \l__keys_property_tl . . + \str_set:Nx \l__keys_property_str { \__keys_trim_spaces:n {#1} } + \exp_after:wN \__keys_property_find:w \l__keys_property_str . . \q_stop {#1} } \cs_new_protected:Npn \__keys_property_find:w #1 . #2 . #3 \q_stop #4 { \tl_if_blank:nTF {#3} { - \tl_clear:N \l__keys_property_tl + \str_clear:N \l__keys_property_str \__kernel_msg_error:nnn { kernel } { key-no-property } {#4} } { \str_if_eq:nnTF {#3} { . } { - \tl_set:Nx \l_keys_path_tl + \str_set:Nx \l_keys_path_str { - \tl_if_empty:NF \l__keys_module_tl - { \l__keys_module_tl / } + \str_if_empty:NF \l__keys_module_str + { \l__keys_module_str / } \tl_trim_spaces:n {#1} } - \tl_set:Nn \l__keys_property_tl { . #2 } + \str_set:Nn \l__keys_property_str { . #2 } } { - \tl_set:Nx \l_keys_path_tl { \l__keys_module_tl / #1 . #2 } + \str_set:Nx \l_keys_path_str { \l__keys_module_str / #1 . #2 } \__keys_property_search:w #3 \q_stop } + \tl_set_eq:NN \l_keys_path_tl \l_keys_path_str } } \cs_new_protected:Npn \__keys_property_search:w #1 . #2 \q_stop { \str_if_eq:nnTF {#2} { . } { - \tl_set:Nx \l_keys_path_tl { \l_keys_path_tl } - \tl_set:Nn \l__keys_property_tl { . #1 } + \str_set:Nx \l_keys_path_str { \l_keys_path_str } + \str_set:Nn \l__keys_property_str { . #1 } } { - \tl_set:Nx \l_keys_path_tl { \l_keys_path_tl . #1 } + \str_set:Nx \l_keys_path_str { \l_keys_path_str . #1 } \__keys_property_search:w #2 \q_stop } } @@ -12767,15 +12769,15 @@ \bool_if:NTF \l__keys_no_value_bool { \exp_after:wN \__keys_define_code:w - \l__keys_property_tl \q_stop - { \use:c { \c__keys_props_root_tl \l__keys_property_tl } } + \l__keys_property_str \q_stop + { \use:c { \c__keys_props_root_str \l__keys_property_str } } { \__kernel_msg_error:nnxx { kernel } - { key-property-requires-value } { \l__keys_property_tl } - { \l_keys_path_tl } + { key-property-requires-value } { \l__keys_property_str } + { \l_keys_path_str } } } - { \use:c { \c__keys_props_root_tl \l__keys_property_tl } {#1} } + { \use:c { \c__keys_props_root_str \l__keys_property_str } {#1} } } \exp_last_unbraced:NNNNo \cs_new:Npn \__keys_define_code:w #1 \c_colon_str #2 \q_stop @@ -12784,14 +12786,14 @@ { \bool_if_exist:NF #1 { \bool_new:N #1 } \__keys_choice_make: - \__keys_cmd_set:nx { \l_keys_path_tl / true } + \__keys_cmd_set:nx { \l_keys_path_str / true } { \exp_not:c { bool_ #2 set_true:N } \exp_not:N #1 } - \__keys_cmd_set:nx { \l_keys_path_tl / false } + \__keys_cmd_set:nx { \l_keys_path_str / false } { \exp_not:c { bool_ #2 set_false:N } \exp_not:N #1 } - \__keys_cmd_set:nn { \l_keys_path_tl / unknown } + \__keys_cmd_set:nn { \l_keys_path_str / unknown } { \__kernel_msg_error:nnx { kernel } { boolean-values-only } - { \l_keys_key_tl } + { \l_keys_key_str } } \__keys_default_set:n { true } } @@ -12800,14 +12802,14 @@ { \bool_if_exist:NF #1 { \bool_new:N #1 } \__keys_choice_make: - \__keys_cmd_set:nx { \l_keys_path_tl / true } + \__keys_cmd_set:nx { \l_keys_path_str / true } { \exp_not:c { bool_ #2 set_false:N } \exp_not:N #1 } - \__keys_cmd_set:nx { \l_keys_path_tl / false } + \__keys_cmd_set:nx { \l_keys_path_str / false } { \exp_not:c { bool_ #2 set_true:N } \exp_not:N #1 } - \__keys_cmd_set:nn { \l_keys_path_tl / unknown } + \__keys_cmd_set:nn { \l_keys_path_str / unknown } { \__kernel_msg_error:nnx { kernel } { boolean-values-only } - { \l_keys_key_tl } + { \l_keys_key_str } } \__keys_default_set:n { true } } @@ -12819,14 +12821,14 @@ \cs_new_protected:Npn \__keys_choice_make:N #1 { \cs_if_exist:cTF - { \c__keys_type_root_tl \__keys_parent:o \l_keys_path_tl } + { \c__keys_type_root_str \__keys_parent:o \l_keys_path_str } { \str_if_eq:vnTF - { \c__keys_type_root_tl \__keys_parent:o \l_keys_path_tl } + { \c__keys_type_root_str \__keys_parent:o \l_keys_path_str } { choice } { \__kernel_msg_error:nnxx { kernel } { nested-choice-key } - { \l_keys_path_tl } { \__keys_parent:o \l_keys_path_tl } + { \l_keys_path_tl } { \__keys_parent:o \l_keys_path_str } } { \__keys_choice_make_aux:N #1 } } @@ -12834,13 +12836,13 @@ } \cs_new_protected:Npn \__keys_choice_make_aux:N #1 { - \cs_set_nopar:cpn { \c__keys_type_root_tl \l_keys_path_tl } + \cs_set_nopar:cpn { \c__keys_type_root_str \l_keys_path_str } { choice } - \__keys_cmd_set:nn { \l_keys_path_tl } { #1 {##1} } - \__keys_cmd_set:nn { \l_keys_path_tl / unknown } + \__keys_cmd_set:nn { \l_keys_path_str } { #1 {##1} } + \__keys_cmd_set:nn { \l_keys_path_str / unknown } { \__kernel_msg_error:nnxx { kernel } { key-choice-unknown } - { \l_keys_path_tl } {##1} + { \l_keys_path_str } {##1} } } \cs_new_protected:Npn \__keys_choices_make:nn @@ -12855,7 +12857,7 @@ { \int_incr:N \l_keys_choice_int \__keys_cmd_set:nx - { \l_keys_path_tl / \__keys_trim_spaces:n {##1} } + { \l_keys_path_str / \__keys_trim_spaces:n {##1} } { \tl_set:Nn \exp_not:N \l_keys_choice_tl {##1} \int_set:Nn \exp_not:N \l_keys_choice_int @@ -12865,19 +12867,19 @@ } } \cs_new_protected:Npn \__keys_cmd_set:nn #1#2 - { \cs_set_protected:cpn { \c__keys_code_root_tl #1 } ##1 {#2} } + { \cs_set_protected:cpn { \c__keys_code_root_str #1 } ##1 {#2} } \cs_generate_variant:Nn \__keys_cmd_set:nn { nx , Vn , Vo } \cs_new_protected:Npn \__keys_default_set:n #1 { \tl_if_empty:nTF {#1} { \cs_set_eq:cN - { \c__keys_default_root_tl \l_keys_path_tl } + { \c__keys_default_root_str \l_keys_path_str } \tex_undefined:D } { \cs_set_nopar:cpx - { \c__keys_default_root_tl \l_keys_path_tl } + { \c__keys_default_root_str \l_keys_path_str } { \exp_not:n {#1} } \__keys_value_requirement:nn { required } { false } } @@ -12887,47 +12889,47 @@ \clist_set:Nn \l__keys_groups_clist {#1} \clist_if_empty:NTF \l__keys_groups_clist { - \cs_set_eq:cN { \c__keys_groups_root_tl \l_keys_path_tl } + \cs_set_eq:cN { \c__keys_groups_root_str \l_keys_path_str } \tex_undefined:D } { - \cs_set_eq:cN { \c__keys_groups_root_tl \l_keys_path_tl } + \cs_set_eq:cN { \c__keys_groups_root_str \l_keys_path_str } \l__keys_groups_clist } } \cs_new_protected:Npn \__keys_inherit:n #1 { \__keys_undefine: - \cs_set_nopar:cpn { \c__keys_inherit_root_tl \l_keys_path_tl } {#1} + \cs_set_nopar:cpn { \c__keys_inherit_root_str \l_keys_path_str } {#1} } \cs_new_protected:Npn \__keys_initialise:n #1 { \cs_if_exist:cTF - { \c__keys_inherit_root_tl \__keys_parent:o \l_keys_path_tl } + { \c__keys_inherit_root_str \__keys_parent:o \l_keys_path_str } { \__keys_execute_inherit: } { - \tl_clear:N \l__keys_inherit_tl - \cs_if_exist_use:cT { \c__keys_code_root_tl \l_keys_path_tl } { {#1} } + \str_clear:N \l__keys_inherit_str + \cs_if_exist_use:cT { \c__keys_code_root_str \l_keys_path_str } { {#1} } } } \cs_new_protected:Npn \__keys_meta_make:n #1 { - \__keys_cmd_set:Vo \l_keys_path_tl + \__keys_cmd_set:Vo \l_keys_path_str { \exp_after:wN \keys_set:nn - \exp_after:wN { \l__keys_module_tl } {#1} + \exp_after:wN { \l__keys_module_str } {#1} } } \cs_new_protected:Npn \__keys_meta_make:nn #1#2 - { \__keys_cmd_set:Vn \l_keys_path_tl { \keys_set:nn {#1} {#2} } } + { \__keys_cmd_set:Vn \l_keys_path_str { \keys_set:nn {#1} {#2} } } \cs_new_protected:Npn \__keys_prop_put:Nn #1#2 { \prop_if_exist:NF #1 { \prop_new:N #1 } \exp_after:wN \__keys_find_key_module:NNw \exp_after:wN \l__keys_tmpa_tl \exp_after:wN \l__keys_tmpb_tl - \l_keys_path_tl / \q_stop - \__keys_cmd_set:nx { \l_keys_path_tl } + \l_keys_path_str / \q_stop + \__keys_cmd_set:nx { \l_keys_path_str } { \exp_not:c { prop_ #2 put:Nnn } \exp_not:N #1 @@ -12942,7 +12944,7 @@ { code , default , groups , inherit , type , validate } { \cs_set_eq:cN - { \tl_use:c { c__keys_ ##1 _root_tl } \l_keys_path_tl } + { \tl_use:c { c__keys_ ##1 _root_str } \l_keys_path_str } \tex_undefined:D } } @@ -12953,17 +12955,17 @@ { true } { \cs_set_eq:cc - { \c__keys_validate_root_tl \l_keys_path_tl } + { \c__keys_validate_root_str \l_keys_path_str } { __keys_validate_ #1 : } } { false } { \cs_if_eq:ccT - { \c__keys_validate_root_tl \l_keys_path_tl } + { \c__keys_validate_root_str \l_keys_path_str } { __keys_validate_ #1 : } { \cs_set_eq:cN - { \c__keys_validate_root_tl \l_keys_path_tl } + { \c__keys_validate_root_str \l_keys_path_str } \tex_undefined:D } } @@ -12979,7 +12981,7 @@ \bool_if:NF \l__keys_no_value_bool { \__kernel_msg_error:nnxx { kernel } { value-forbidden } - { \l_keys_path_tl } { \l_keys_value_tl } + { \l_keys_path_str } { \l_keys_value_tl } \__keys_validate_cleanup:w } } @@ -12988,7 +12990,7 @@ \bool_if:NT \l__keys_no_value_bool { \__kernel_msg_error:nnx { kernel } { value-required } - { \l_keys_path_tl } + { \l_keys_path_str } \__keys_validate_cleanup:w } } @@ -12996,7 +12998,7 @@ \cs_new_protected:Npn \__keys_variable_set:NnnN #1#2#3#4 { \use:c { #2_if_exist:NF } #1 { \use:c { #2 _new:N } #1 } - \__keys_cmd_set:nx { \l_keys_path_tl } + \__keys_cmd_set:nx { \l_keys_path_str } { \exp_not:c { #2 _ #3 set:N #4 } \exp_not:N #1 @@ -13010,145 +13012,145 @@ \__keys_value_requirement:nn { required } { true } } \cs_generate_variant:Nn \__keys_variable_set_required:NnnN { c } -\cs_new_protected:cpn { \c__keys_props_root_tl .bool_set:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .bool_set:N } #1 { \__keys_bool_set:Nn #1 { } } -\cs_new_protected:cpn { \c__keys_props_root_tl .bool_set:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .bool_set:c } #1 { \__keys_bool_set:cn {#1} { } } -\cs_new_protected:cpn { \c__keys_props_root_tl .bool_gset:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .bool_gset:N } #1 { \__keys_bool_set:Nn #1 { g } } -\cs_new_protected:cpn { \c__keys_props_root_tl .bool_gset:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .bool_gset:c } #1 { \__keys_bool_set:cn {#1} { g } } -\cs_new_protected:cpn { \c__keys_props_root_tl .bool_set_inverse:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .bool_set_inverse:N } #1 { \__keys_bool_set_inverse:Nn #1 { } } -\cs_new_protected:cpn { \c__keys_props_root_tl .bool_set_inverse:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .bool_set_inverse:c } #1 { \__keys_bool_set_inverse:cn {#1} { } } -\cs_new_protected:cpn { \c__keys_props_root_tl .bool_gset_inverse:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .bool_gset_inverse:N } #1 { \__keys_bool_set_inverse:Nn #1 { g } } -\cs_new_protected:cpn { \c__keys_props_root_tl .bool_gset_inverse:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .bool_gset_inverse:c } #1 { \__keys_bool_set_inverse:cn {#1} { g } } -\cs_new_protected:cpn { \c__keys_props_root_tl .choice: } +\cs_new_protected:cpn { \c__keys_props_root_str .choice: } { \__keys_choice_make: } -\cs_new_protected:cpn { \c__keys_props_root_tl .choices:nn } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .choices:nn } #1 { \__keys_choices_make:nn #1 } -\cs_new_protected:cpn { \c__keys_props_root_tl .choices:Vn } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .choices:Vn } #1 { \exp_args:NV \__keys_choices_make:nn #1 } -\cs_new_protected:cpn { \c__keys_props_root_tl .choices:on } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .choices:on } #1 { \exp_args:No \__keys_choices_make:nn #1 } -\cs_new_protected:cpn { \c__keys_props_root_tl .choices:xn } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .choices:xn } #1 { \exp_args:Nx \__keys_choices_make:nn #1 } -\cs_new_protected:cpn { \c__keys_props_root_tl .code:n } #1 - { \__keys_cmd_set:nn { \l_keys_path_tl } {#1} } -\cs_new_protected:cpn { \c__keys_props_root_tl .clist_set:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .code:n } #1 + { \__keys_cmd_set:nn { \l_keys_path_str } {#1} } +\cs_new_protected:cpn { \c__keys_props_root_str .clist_set:N } #1 { \__keys_variable_set:NnnN #1 { clist } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .clist_set:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .clist_set:c } #1 { \__keys_variable_set:cnnN {#1} { clist } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .clist_gset:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .clist_gset:N } #1 { \__keys_variable_set:NnnN #1 { clist } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .clist_gset:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .clist_gset:c } #1 { \__keys_variable_set:cnnN {#1} { clist } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .default:n } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .default:n } #1 { \__keys_default_set:n {#1} } -\cs_new_protected:cpn { \c__keys_props_root_tl .default:V } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .default:V } #1 { \exp_args:NV \__keys_default_set:n #1 } -\cs_new_protected:cpn { \c__keys_props_root_tl .default:o } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .default:o } #1 { \exp_args:No \__keys_default_set:n {#1} } -\cs_new_protected:cpn { \c__keys_props_root_tl .default:x } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .default:x } #1 { \exp_args:Nx \__keys_default_set:n {#1} } -\cs_new_protected:cpn { \c__keys_props_root_tl .dim_set:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .dim_set:N } #1 { \__keys_variable_set_required:NnnN #1 { dim } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .dim_set:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .dim_set:c } #1 { \__keys_variable_set_required:cnnN {#1} { dim } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .dim_gset:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .dim_gset:N } #1 { \__keys_variable_set_required:NnnN #1 { dim } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .dim_gset:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .dim_gset:c } #1 { \__keys_variable_set_required:cnnN {#1} { dim } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .fp_set:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .fp_set:N } #1 { \__keys_variable_set_required:NnnN #1 { fp } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .fp_set:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .fp_set:c } #1 { \__keys_variable_set_required:cnnN {#1} { fp } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .fp_gset:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .fp_gset:N } #1 { \__keys_variable_set_required:NnnN #1 { fp } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .fp_gset:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .fp_gset:c } #1 { \__keys_variable_set_required:cnnN {#1} { fp } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .groups:n } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .groups:n } #1 { \__keys_groups_set:n {#1} } -\cs_new_protected:cpn { \c__keys_props_root_tl .inherit:n } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .inherit:n } #1 { \__keys_inherit:n {#1} } -\cs_new_protected:cpn { \c__keys_props_root_tl .initial:n } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .initial:n } #1 { \__keys_initialise:n {#1} } -\cs_new_protected:cpn { \c__keys_props_root_tl .initial:V } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .initial:V } #1 { \exp_args:NV \__keys_initialise:n #1 } -\cs_new_protected:cpn { \c__keys_props_root_tl .initial:o } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .initial:o } #1 { \exp_args:No \__keys_initialise:n {#1} } -\cs_new_protected:cpn { \c__keys_props_root_tl .initial:x } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .initial:x } #1 { \exp_args:Nx \__keys_initialise:n {#1} } -\cs_new_protected:cpn { \c__keys_props_root_tl .int_set:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .int_set:N } #1 { \__keys_variable_set_required:NnnN #1 { int } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .int_set:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .int_set:c } #1 { \__keys_variable_set_required:cnnN {#1} { int } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .int_gset:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .int_gset:N } #1 { \__keys_variable_set_required:NnnN #1 { int } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .int_gset:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .int_gset:c } #1 { \__keys_variable_set_required:cnnN {#1} { int } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .meta:n } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .meta:n } #1 { \__keys_meta_make:n {#1} } -\cs_new_protected:cpn { \c__keys_props_root_tl .meta:nn } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .meta:nn } #1 { \__keys_meta_make:nn #1 } -\cs_new_protected:cpn { \c__keys_props_root_tl .multichoice: } +\cs_new_protected:cpn { \c__keys_props_root_str .multichoice: } { \__keys_multichoice_make: } -\cs_new_protected:cpn { \c__keys_props_root_tl .multichoices:nn } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .multichoices:nn } #1 { \__keys_multichoices_make:nn #1 } -\cs_new_protected:cpn { \c__keys_props_root_tl .multichoices:Vn } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .multichoices:Vn } #1 { \exp_args:NV \__keys_multichoices_make:nn #1 } -\cs_new_protected:cpn { \c__keys_props_root_tl .multichoices:on } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .multichoices:on } #1 { \exp_args:No \__keys_multichoices_make:nn #1 } -\cs_new_protected:cpn { \c__keys_props_root_tl .multichoices:xn } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .multichoices:xn } #1 { \exp_args:Nx \__keys_multichoices_make:nn #1 } -\cs_new_protected:cpn { \c__keys_props_root_tl .muskip_set:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .muskip_set:N } #1 { \__keys_variable_set_required:NnnN #1 { muskip } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .muskip_set:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .muskip_set:c } #1 { \__keys_variable_set_required:cnnN {#1} { muskip } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .muskip_gset:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .muskip_gset:N } #1 { \__keys_variable_set_required:NnnN #1 { muskip } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .muskip_gset:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .muskip_gset:c } #1 { \__keys_variable_set_required:cnnN {#1} { muskip } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .prop_put:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .prop_put:N } #1 { \__keys_prop_put:Nn #1 { } } -\cs_new_protected:cpn { \c__keys_props_root_tl .prop_put:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .prop_put:c } #1 { \__keys_prop_put:cn {#1} { } } -\cs_new_protected:cpn { \c__keys_props_root_tl .prop_gput:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .prop_gput:N } #1 { \__keys_prop_put:Nn #1 { g } } -\cs_new_protected:cpn { \c__keys_props_root_tl .prop_gput:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .prop_gput:c } #1 { \__keys_prop_put:cn {#1} { g } } -\cs_new_protected:cpn { \c__keys_props_root_tl .skip_set:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .skip_set:N } #1 { \__keys_variable_set_required:NnnN #1 { skip } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .skip_set:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .skip_set:c } #1 { \__keys_variable_set_required:cnnN {#1} { skip } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .skip_gset:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .skip_gset:N } #1 { \__keys_variable_set_required:NnnN #1 { skip } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .skip_gset:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .skip_gset:c } #1 { \__keys_variable_set_required:cnnN {#1} { skip } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .tl_set:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .tl_set:N } #1 { \__keys_variable_set:NnnN #1 { tl } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .tl_set:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .tl_set:c } #1 { \__keys_variable_set:cnnN {#1} { tl } { } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .tl_set_x:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .tl_set_x:N } #1 { \__keys_variable_set:NnnN #1 { tl } { } x } -\cs_new_protected:cpn { \c__keys_props_root_tl .tl_set_x:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .tl_set_x:c } #1 { \__keys_variable_set:cnnN {#1} { tl } { } x } -\cs_new_protected:cpn { \c__keys_props_root_tl .tl_gset:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .tl_gset:N } #1 { \__keys_variable_set:NnnN #1 { tl } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .tl_gset:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .tl_gset:c } #1 { \__keys_variable_set:cnnN {#1} { tl } { g } n } -\cs_new_protected:cpn { \c__keys_props_root_tl .tl_gset_x:N } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .tl_gset_x:N } #1 { \__keys_variable_set:NnnN #1 { tl } { g } x } -\cs_new_protected:cpn { \c__keys_props_root_tl .tl_gset_x:c } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .tl_gset_x:c } #1 { \__keys_variable_set:cnnN {#1} { tl } { g } x } -\cs_new_protected:cpn { \c__keys_props_root_tl .undefine: } +\cs_new_protected:cpn { \c__keys_props_root_str .undefine: } { \__keys_undefine: } -\cs_new_protected:cpn { \c__keys_props_root_tl .value_forbidden:n } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .value_forbidden:n } #1 { \__keys_value_requirement:nn { forbidden } {#1} } -\cs_new_protected:cpn { \c__keys_props_root_tl .value_required:n } #1 +\cs_new_protected:cpn { \c__keys_props_root_str .value_required:n } #1 { \__keys_value_requirement:nn { required } {#1} } \cs_new_protected:Npn \keys_set:nn #1#2 { @@ -13172,12 +13174,12 @@ } \cs_generate_variant:Nn \keys_set:nn { nV , nv , no } \cs_new_protected:Npn \__keys_set:nn #1#2 - { \exp_args:No \__keys_set:nnn \l__keys_module_tl {#1} {#2} } + { \exp_args:No \__keys_set:nnn \l__keys_module_str {#1} {#2} } \cs_new_protected:Npn \__keys_set:nnn #1#2#3 { - \tl_set:Nx \l__keys_module_tl { \__keys_trim_spaces:n {#2} } + \str_set:Nx \l__keys_module_str { \__keys_trim_spaces:n {#2} } \keyval_parse:NNn \__keys_set_keyval:n \__keys_set_keyval:nn {#3} - \tl_set:Nn \l__keys_module_tl {#1} + \str_set:Nn \l__keys_module_str {#1} } \cs_new_protected:Npn \keys_set_known:nnN #1#2#3 { @@ -13294,42 +13296,43 @@ \cs_new_protected:Npn \__keys_set_keyval:n #1 { \bool_set_true:N \l__keys_no_value_bool - \__keys_set_keyval:onn \l__keys_module_tl {#1} { } + \__keys_set_keyval:onn \l__keys_module_str {#1} { } } \cs_new_protected:Npn \__keys_set_keyval:nn #1#2 { \bool_set_false:N \l__keys_no_value_bool - \__keys_set_keyval:onn \l__keys_module_tl {#1} {#2} + \__keys_set_keyval:onn \l__keys_module_str {#1} {#2} } \cs_new_protected:Npn \__keys_set_keyval:nnn #1#2#3 { - \tl_set:Nx \l_keys_path_tl + \tl_set:Nx \l_keys_path_str { \tl_if_blank:nF {#1} { #1 / } \__keys_trim_spaces:n {#2} } - \tl_clear:N \l__keys_module_tl - \tl_clear:N \l__keys_inherit_tl + \str_clear:N \l__keys_module_str + \str_clear:N \l__keys_inherit_str \exp_after:wN \__keys_find_key_module:NNw - \exp_after:wN \l__keys_module_tl - \exp_after:wN \l_keys_key_tl - \l_keys_path_tl / \q_stop + \exp_after:wN \l__keys_module_str + \exp_after:wN \l_keys_key_str + \l_keys_path_str / \q_stop + \tl_set_eq:NN \l_keys_key_tl \l_keys_key_str \__keys_value_or_default:n {#3} \bool_if:NTF \l__keys_selective_bool { \__keys_set_selective: } { \__keys_execute: } - \tl_set:Nn \l__keys_module_tl {#1} + \str_set:Nn \l__keys_module_str {#1} } \cs_generate_variant:Nn \__keys_set_keyval:nnn { o } \cs_new_protected:Npn \__keys_find_key_module:NNw #1#2#3 / #4 \q_stop { \tl_if_blank:nTF {#4} - { \tl_set:Nn #2 {#3} } + { \str_set:Nn #2 {#3} } { - \tl_put_right:Nx #1 + \str_put_right:Nx #1 { - \tl_if_empty:NF #1 { / } + \str_if_empty:NF #1 { / } #3 } \__keys_find_key_module:NNw #1#2 #4 \q_stop @@ -13337,10 +13340,10 @@ } \cs_new_protected:Npn \__keys_set_selective: { - \cs_if_exist:cTF { \c__keys_groups_root_tl \l_keys_path_tl } + \cs_if_exist:cTF { \c__keys_groups_root_str \l_keys_path_str } { \clist_set_eq:Nc \l__keys_groups_clist - { \c__keys_groups_root_tl \l_keys_path_tl } + { \c__keys_groups_root_str \l_keys_path_str } \__keys_check_groups: } { @@ -13379,16 +13382,16 @@ { \bool_if:NTF \l__keys_no_value_bool { - \cs_if_exist:cTF { \c__keys_default_root_tl \l_keys_path_tl } + \cs_if_exist:cTF { \c__keys_default_root_str \l_keys_path_str } { \tl_set_eq:Nc \l_keys_value_tl - { \c__keys_default_root_tl \l_keys_path_tl } + { \c__keys_default_root_str \l_keys_path_str } } { \tl_clear:N \l_keys_value_tl \cs_if_exist:cT - { \c__keys_inherit_root_tl \__keys_parent:o \l_keys_path_tl } + { \c__keys_inherit_root_str \__keys_parent:o \l_keys_path_str } { \__keys_default_inherit: } } } @@ -13397,29 +13400,29 @@ \cs_new_protected:Npn \__keys_default_inherit: { \clist_map_inline:cn - { \c__keys_inherit_root_tl \__keys_parent:o \l_keys_path_tl } + { \c__keys_inherit_root_str \__keys_parent:o \l_keys_path_str } { \cs_if_exist:cT - { \c__keys_default_root_tl ##1 / \l_keys_key_tl } + { \c__keys_default_root_str ##1 / \l_keys_key_str } { \tl_set_eq:Nc \l_keys_value_tl - { \c__keys_default_root_tl ##1 / \l_keys_key_tl } + { \c__keys_default_root_str ##1 / \l_keys_key_str } \clist_map_break: } } } \cs_new_protected:Npn \__keys_execute: { - \cs_if_exist:cTF { \c__keys_code_root_tl \l_keys_path_tl } + \cs_if_exist:cTF { \c__keys_code_root_str \l_keys_path_str } { - \cs_if_exist_use:c { \c__keys_validate_root_tl \l_keys_path_tl } - \cs:w \c__keys_code_root_tl \l_keys_path_tl \exp_after:wN \cs_end: + \cs_if_exist_use:c { \c__keys_validate_root_str \l_keys_path_str } + \cs:w \c__keys_code_root_str \l_keys_path_str \exp_after:wN \cs_end: \exp_after:wN { \l_keys_value_tl } } { \cs_if_exist:cTF - { \c__keys_inherit_root_tl \__keys_parent:o \l_keys_path_tl } + { \c__keys_inherit_root_str \__keys_parent:o \l_keys_path_str } { \__keys_execute_inherit: } { \__keys_execute_unknown: } } @@ -13427,14 +13430,14 @@ \cs_new_protected:Npn \__keys_execute_inherit: { \clist_map_inline:cn - { \c__keys_inherit_root_tl \__keys_parent:o \l_keys_path_tl } + { \c__keys_inherit_root_str \__keys_parent:o \l_keys_path_str } { \cs_if_exist:cT - { \c__keys_code_root_tl ##1 / \l_keys_key_tl } + { \c__keys_code_root_str ##1 / \l_keys_key_str } { - \tl_set:Nn \l__keys_inherit_tl {##1} - \cs_if_exist_use:c { \c__keys_validate_root_tl ##1 / \l_keys_key_tl } - \cs:w \c__keys_code_root_tl ##1 / \l_keys_key_tl + \str_set:Nn \l__keys_inherit_str {##1} + \cs_if_exist_use:c { \c__keys_validate_root_str ##1 / \l_keys_key_str } + \cs:w \c__keys_code_root_str ##1 / \l_keys_key_str \exp_after:wN \cs_end: \exp_after:wN { \l_keys_value_tl } \clist_map_break:n { \use_none:n } @@ -13448,22 +13451,22 @@ { \__keys_store_unused: } { \cs_if_exist:cTF - { \c__keys_code_root_tl \l__keys_module_tl / unknown } + { \c__keys_code_root_str \l__keys_module_str / unknown } { - \cs:w \c__keys_code_root_tl \l__keys_module_tl / unknown + \cs:w \c__keys_code_root_str \l__keys_module_str / unknown \exp_after:wN \cs_end: \exp_after:wN { \l_keys_value_tl } } { \__kernel_msg_error:nnxx { kernel } { key-unknown } - { \l_keys_path_tl } { \l__keys_module_tl } + { \l_keys_path_str } { \l__keys_module_str } } } } \cs_new:Npn \__keys_execute:nn #1#2 { - \cs_if_exist:cTF { \c__keys_code_root_tl #1 } + \cs_if_exist:cTF { \c__keys_code_root_str #1 } { - \cs:w \c__keys_code_root_tl #1 \exp_after:wN \cs_end: + \cs:w \c__keys_code_root_str #1 \exp_after:wN \cs_end: \exp_after:wN { \l_keys_value_tl } } {#2} @@ -13474,7 +13477,7 @@ { \clist_put_right:Nx \l__keys_unused_clist { - \exp_not:o \l_keys_key_tl + \exp_not:o \l_keys_key_str \bool_if:NF \l__keys_no_value_bool { = { \exp_not:o \l_keys_value_tl } } } @@ -13484,7 +13487,7 @@ { \clist_put_right:Nx \l__keys_unused_clist { - \exp_not:o \l_keys_path_tl + \exp_not:o \l_keys_path_str \bool_if:NF \l__keys_no_value_bool { = { \exp_not:o \l_keys_value_tl } } } @@ -13507,7 +13510,7 @@ \tl_if_blank:nF {##1} { \__kernel_msg_error:nnxx { kernel } { bad-relative-key-path } - \l_keys_path_tl + \l_keys_path_str \l__keys_relative_tl } \clist_put_right:Nx \l__keys_unused_clist @@ -13519,7 +13522,7 @@ } \use:x { - \__keys_store_unused:w \l_keys_path_tl + \__keys_store_unused:w \l_keys_path_str \l__keys_relative_tl / \l__keys_relative_tl / \exp_not:N \q_stop } @@ -13527,18 +13530,18 @@ \cs_new_protected:Npn \__keys_store_unused:w { } \cs_new:Npn \__keys_choice_find:n #1 { - \tl_if_empty:NTF \l__keys_inherit_tl - { \__keys_choice_find:nn { \l_keys_path_tl } {#1} } + \str_if_empty:NTF \l__keys_inherit_str + { \__keys_choice_find:nn { \l_keys_path_str } {#1} } { \__keys_choice_find:nn - { \l__keys_inherit_tl / \l_keys_key_tl } {#1} + { \l__keys_inherit_str / \l_keys_key_str } {#1} } } \cs_new:Npn \__keys_choice_find:nn #1#2 { - \cs_if_exist:cTF { \c__keys_code_root_tl #1 / \__keys_trim_spaces:n {#2} } - { \use:c { \c__keys_code_root_tl #1 / \__keys_trim_spaces:n {#2} } {#2} } - { \use:c { \c__keys_code_root_tl #1 / unknown } {#2} } + \cs_if_exist:cTF { \c__keys_code_root_str #1 / \__keys_trim_spaces:n {#2} } + { \use:c { \c__keys_code_root_str #1 / \__keys_trim_spaces:n {#2} } {#2} } + { \use:c { \c__keys_code_root_str #1 / unknown } {#2} } } \cs_new:Npn \__keys_multichoice_find:n #1 { \clist_map_function:nN {#1} \__keys_choice_find:n } @@ -13582,7 +13585,7 @@ \prg_new_conditional:Npnn \keys_if_exist:nn #1#2 { p , T , F , TF } { \cs_if_exist:cTF - { \c__keys_code_root_tl \__keys_trim_spaces:n { #1 / #2 } } + { \c__keys_code_root_str \__keys_trim_spaces:n { #1 / #2 } } { \prg_return_true: } { \prg_return_false: } } @@ -13590,7 +13593,7 @@ { p , T , F , TF } { \cs_if_exist:cTF - { \c__keys_code_root_tl \__keys_trim_spaces:n { #1 / #2 / #3 } } + { \c__keys_code_root_str \__keys_trim_spaces:n { #1 / #2 / #3 } } { \prg_return_true: } { \prg_return_false: } } @@ -13609,7 +13612,7 @@ { \exp_args:Nc \cs_replacement_spec:N { - \c__keys_code_root_tl + \c__keys_code_root_str \__keys_trim_spaces:n { #2 / #3 } } } diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index 7bad8ed4589..8fa72ac8795 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2020-02-03}% +\def\ExplFileDate{2020-02-08}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \def\tempa{LaTeX2e}% diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx index 30aca55eb9a..ffd8f808985 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2020-02-03}% +\def\ExplFileDate{2020-02-08}% \let\ExplLoaderFileDate\ExplFileDate \everyjob\expandafter{\the\everyjob \message{L3 programming layer <\ExplFileDate>}% diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index 46ead0078bf..ac5465681ca 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2020-02-03}% +\def\ExplFileDate{2020-02-08}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def index 604332530cf..cfe9bcf7de7 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def @@ -605,7 +605,7 @@ { \__cs_generate_variant:wwNN } \__kernel_patch:nnn { - \cs_if_exist:cF { \c__keys_code_root_tl #1 } + \cs_if_exist:cF { \c__keys_code_root_str #1 } { \__kernel_debug_log:x { Defining~key~#1~\msg_line_context: } } } { } |