summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-01-23 21:57:42 +0000
committerKarl Berry <karl@freefriends.org>2020-01-23 21:57:42 +0000
commitb893c0b81be7cc13062e7f6257084a1765bc91e6 (patch)
tree938b80d6441ef5a3ecbb9efc0d2747bf517ea501 /Master/texmf-dist/tex/latex/l3kernel
parent64190a7a9bd900cc15dde29c88e0fb0c9ab9b082 (diff)
l3kernel (23jan20)
git-svn-id: svn://tug.org/texlive/trunk@53518 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex95
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def28
5 files changed, 86 insertions, 43 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 4e722fd3bee..facf6aa4954 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-01-12}%
+\def\ExplFileDate{2020-01-22}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -12655,7 +12655,7 @@
{ \__keyval_def_aux:w #1 \q_stop }
\cs_new:Npn \__keyval_def_aux:w #1 \q_stop { \exp_not:n {#1} }
\__kernel_msg_new:nnnn { kernel } { misplaced-equals-sign }
- { Misplaced~equals~sign~in~key-value~input~\msg_line_number: }
+ { Misplaced~equals~sign~in~key-value~input~\msg_line_context: }
{
LaTeX~is~attempting~to~parse~some~key-value~input~but~found~
two~equals~signs~not~separated~by~a~comma.
@@ -12879,6 +12879,7 @@
\cs_set_nopar:cpx
{ \c__keys_default_root_tl \l_keys_path_tl }
{ \exp_not:n {#1} }
+ \__keys_value_requirement:nn { required } { false }
}
}
\cs_new_protected:Npn \__keys_groups_set:n #1
@@ -13003,6 +13004,12 @@
}
}
\cs_generate_variant:Nn \__keys_variable_set:NnnN { c }
+\cs_new_protected:Npn \__keys_variable_set_required:NnnN #1#2#3#4
+ {
+ \__keys_variable_set:NnnN #1 {#2} {#3} #4
+ \__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
{ \__keys_bool_set:Nn #1 { } }
\cs_new_protected:cpn { \c__keys_props_root_tl .bool_set:c } #1
@@ -13048,21 +13055,21 @@
\cs_new_protected:cpn { \c__keys_props_root_tl .default:x } #1
{ \exp_args:Nx \__keys_default_set:n {#1} }
\cs_new_protected:cpn { \c__keys_props_root_tl .dim_set:N } #1
- { \__keys_variable_set:NnnN #1 { dim } { } n }
+ { \__keys_variable_set_required:NnnN #1 { dim } { } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .dim_set:c } #1
- { \__keys_variable_set:cnnN {#1} { dim } { } n }
+ { \__keys_variable_set_required:cnnN {#1} { dim } { } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .dim_gset:N } #1
- { \__keys_variable_set:NnnN #1 { dim } { g } n }
+ { \__keys_variable_set_required:NnnN #1 { dim } { g } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .dim_gset:c } #1
- { \__keys_variable_set:cnnN {#1} { dim } { g } n }
+ { \__keys_variable_set_required:cnnN {#1} { dim } { g } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .fp_set:N } #1
- { \__keys_variable_set:NnnN #1 { fp } { } n }
+ { \__keys_variable_set_required:NnnN #1 { fp } { } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .fp_set:c } #1
- { \__keys_variable_set:cnnN {#1} { fp } { } n }
+ { \__keys_variable_set_required:cnnN {#1} { fp } { } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .fp_gset:N } #1
- { \__keys_variable_set:NnnN #1 { fp } { g } n }
+ { \__keys_variable_set_required:NnnN #1 { fp } { g } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .fp_gset:c } #1
- { \__keys_variable_set:cnnN {#1} { fp } { g } n }
+ { \__keys_variable_set_required:cnnN {#1} { fp } { g } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .groups:n } #1
{ \__keys_groups_set:n {#1} }
\cs_new_protected:cpn { \c__keys_props_root_tl .inherit:n } #1
@@ -13076,13 +13083,13 @@
\cs_new_protected:cpn { \c__keys_props_root_tl .initial:x } #1
{ \exp_args:Nx \__keys_initialise:n {#1} }
\cs_new_protected:cpn { \c__keys_props_root_tl .int_set:N } #1
- { \__keys_variable_set:NnnN #1 { int } { } n }
+ { \__keys_variable_set_required:NnnN #1 { int } { } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .int_set:c } #1
- { \__keys_variable_set:cnnN {#1} { int } { } n }
+ { \__keys_variable_set_required:cnnN {#1} { int } { } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .int_gset:N } #1
- { \__keys_variable_set:NnnN #1 { int } { g } n }
+ { \__keys_variable_set_required:NnnN #1 { int } { g } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .int_gset:c } #1
- { \__keys_variable_set:cnnN {#1} { int } { g } n }
+ { \__keys_variable_set_required:cnnN {#1} { int } { g } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .meta:n } #1
{ \__keys_meta_make:n {#1} }
\cs_new_protected:cpn { \c__keys_props_root_tl .meta:nn } #1
@@ -13098,13 +13105,13 @@
\cs_new_protected:cpn { \c__keys_props_root_tl .multichoices:xn } #1
{ \exp_args:Nx \__keys_multichoices_make:nn #1 }
\cs_new_protected:cpn { \c__keys_props_root_tl .muskip_set:N } #1
- { \__keys_variable_set:NnnN #1 { muskip } { } n }
+ { \__keys_variable_set_required:NnnN #1 { muskip } { } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .muskip_set:c } #1
- { \__keys_variable_set:cnnN {#1} { muskip } { } n }
+ { \__keys_variable_set_required:cnnN {#1} { muskip } { } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .muskip_gset:N } #1
- { \__keys_variable_set:NnnN #1 { muskip } { g } n }
+ { \__keys_variable_set_required:NnnN #1 { muskip } { g } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .muskip_gset:c } #1
- { \__keys_variable_set:cnnN {#1} { muskip } { g } n }
+ { \__keys_variable_set_required:cnnN {#1} { muskip } { g } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .prop_put:N } #1
{ \__keys_prop_put:Nn #1 { } }
\cs_new_protected:cpn { \c__keys_props_root_tl .prop_put:c } #1
@@ -13114,13 +13121,13 @@
\cs_new_protected:cpn { \c__keys_props_root_tl .prop_gput:c } #1
{ \__keys_prop_put:cn {#1} { g } }
\cs_new_protected:cpn { \c__keys_props_root_tl .skip_set:N } #1
- { \__keys_variable_set:NnnN #1 { skip } { } n }
+ { \__keys_variable_set_required:NnnN #1 { skip } { } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .skip_set:c } #1
- { \__keys_variable_set:cnnN {#1} { skip } { } n }
+ { \__keys_variable_set_required:cnnN {#1} { skip } { } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .skip_gset:N } #1
- { \__keys_variable_set:NnnN #1 { skip } { g } n }
+ { \__keys_variable_set_required:NnnN #1 { skip } { g } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .skip_gset:c } #1
- { \__keys_variable_set:cnnN {#1} { skip } { g } n }
+ { \__keys_variable_set_required:cnnN {#1} { skip } { g } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .tl_set:N } #1
{ \__keys_variable_set:NnnN #1 { tl } { } n }
\cs_new_protected:cpn { \c__keys_props_root_tl .tl_set:c } #1
@@ -13569,7 +13576,7 @@
\cs_set:Npn \__keys_trim_spaces_auxiii:w #1 /
{
\quark_if_recursion_tail_stop:n {#1}
- \tl_trim_spaces:n { / #1 }
+ / \tl_trim_spaces:n { #1 }
\__keys_trim_spaces_auxiii:w
}
\prg_new_conditional:Npnn \keys_if_exist:nn #1#2 { p , T , F , TF }
@@ -27858,7 +27865,7 @@
\TH \th
}
\tl_new:N \l_text_case_exclude_arg_tl
-\tl_set:Nn \l_text_case_exclude_arg_tl { \cite \label \ref }
+\tl_set:Nn \l_text_case_exclude_arg_tl { \begin \cite \end \label \ref }
\tl_new:N \l_text_math_arg_tl
\tl_set:Nn \l_text_math_arg_tl { \ensuremath }
\tl_new:N \l_text_math_delims_tl
@@ -28103,7 +28110,7 @@
{
\str_if_eq:nnTF {#1} { \protect }
{ \__text_expand_protect:N }
- { \__text_expand_cs_expand:N #1 }
+ { \__text_expand_replace:N #1 }
}
\cs_new:Npn \__text_expand_protect:N #1
{
@@ -28123,15 +28130,51 @@
{ \__text_expand_store:n { \protect #1 } }
\__text_expand_loop:w
}
+\cs_new:Npn \__text_expand_replace:N #1
+ {
+ \bool_lazy_and:nnTF
+ { \cs_if_exist_p:c { l__text_expand_ \token_to_str:N #1 _tl } }
+ {
+ \bool_lazy_or_p:nn
+ { \token_if_cs_p:N #1 }
+ { \token_if_active_p:N #1 }
+ }
+ {
+ \exp_args:Nv \__text_expand_replace:n
+ { l__text_expand_ \token_to_str:N #1 _tl }
+ }
+ { \__text_expand_cs_expand:N #1 }
+ }
+\cs_new:Npn \__text_expand_replace:n #1 { \__text_expand_loop:w #1 }
\cs_new:Npn \__text_expand_cs_expand:N #1
{
\__text_if_expandable:NTF #1
- { \exp_after:wN \__text_expand_loop:w #1 }
+ {
+ \str_if_eq:nnTF {#1} { \exp_not:n }
+ { \__text_expand_noexpand:n }
+ { \exp_after:wN \__text_expand_loop:w #1 }
+ }
{
\__text_expand_store:n {#1}
\__text_expand_loop:w
}
}
+\cs_new:Npn \__text_expand_noexpand:n #1
+ {
+ \__text_expand_store:n {#1}
+ \__text_expand_loop:w
+ }
+\cs_new_protected:Npn \text_declare_expand_equivalent:Nn #1#2
+ {
+ \tl_clear_new:c { l__text_expand_ \token_to_str:N #1 _tl }
+ \tl_set:cn { l__text_expand_ \token_to_str:N #1 _tl } {#2}
+ }
+\cs_generate_variant:Nn \text_declare_expand_equivalent:Nn { c }
+\cs_new:Npn \__text_expand_textcomp:NN #1#2 { \exp_not:n {#1} }
+\text_declare_expand_equivalent:cn { ?-cmd } { \__text_expand_textcomp:NN }
+\text_declare_expand_equivalent:cn { T1-cmd } { \__text_expand_textcomp:NN }
+\text_declare_expand_equivalent:cn { TS1-cmd } { \__text_expand_textcomp:NN }
+\text_declare_expand_equivalent:cn { TU-cmd } { \__text_expand_textcomp:NN }
%% File: l3text-case.dtx
\cs_new:Npn \text_lowercase:n #1
{ \__text_change_case:nnn { lower } { } {#1} }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 72090ccc347..f01ef0d9a01 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-01-12}%
+\def\ExplFileDate{2020-01-22}%
\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 80baec9c93b..3b5be14b9c0 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-01-12}%
+\def\ExplFileDate{2020-01-22}%
\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 355a6b941f1..384c674b3b7 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-01-12}%
+\def\ExplFileDate{2020-01-22}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def b/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def
index 5623aaa6117..46d71c85211 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def
@@ -179,17 +179,17 @@
\cs_gset:Npn \__prg_break: #1 \__prg_break_point: { }
\__kernel_patch_deprecation:nnNNpn { 2020-01-01 } { \prg_break:n }
\cs_gset:Npn \__prg_break:n #1#2 \__prg_break_point: {#1}
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_lower_case:n }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_lowercase:n }
\cs_gset:Npn \str_lower_case:n { \str_lowercase:n }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_lower_case:f }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_lowercase:f }
\cs_gset:Npn \str_lower_case:f { \str_lowercase:f }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_upper_case:n }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_uppercase:n }
\cs_gset:Npn \str_upper_case:n { \str_uppercase:n }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_upper_case:f }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_uppercase:f }
\cs_gset:Npn \str_upper_case:f { \str_uppercase:f }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_fold_case:n }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_foldcase:n }
\cs_gset:Npn \str_fold_case:n { \str_foldcase:n }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \str_fold_case:V }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \str_foldcase:V }
\cs_gset:Npn \str_fold_case:V { \str_foldcase:V }
\__kernel_patch_deprecation:nnNNpn { 2020-01-01 } { \str_case_e:nn }
\cs_gset:Npn \str_case_x:nn { \str_case_e:nn }
@@ -269,21 +269,21 @@
\cs_gset:Npn \token_get_arg_spec:N { \cs_argument_spec:N }
\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \cs_replacement_spec:N }
\cs_gset:Npn \token_get_replacement_spec:N { \cs_replacement_spec:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_lower_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_lowercase:N }
\cs_gset:Npn \char_lower_case:N { \char_lowercase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_upper_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_uppercase:N }
\cs_gset:Npn \char_upper_case:N { \char_uppercase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_mixed_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_titlecase:N }
\cs_gset:Npn \char_mixed_case:N { \char_titlecase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_fold_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_foldcase:N }
\cs_gset:Npn \char_fold_case:N { \char_foldcase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_str_lower_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_str_lowercase:N }
\cs_gset:Npn \char_str_lower_case:N { \char_str_lowercase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_str_upper_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_str_uppercase:N }
\cs_gset:Npn \char_str_upper_case:N { \char_str_uppercase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_str_mixed_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_str_titlecase:N }
\cs_gset:Npn \char_str_mixed_case:N { \char_str_titlecase:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \char_str_fold_case:N }
+\__kernel_patch_deprecation:nnNNpn { 2022-01-01 } { \char_str_foldcase:N }
\cs_gset:Npn \char_str_fold_case:N { \char_str_foldcase:N }
\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { -1 }
\cs_new_protected:Npn \c_term_ior { -1 \scan_stop: }