summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-05-14 21:16:02 +0000
committerKarl Berry <karl@freefriends.org>2020-05-14 21:16:02 +0000
commitbb587f3190ec7933ee6a18e994099e566c6e8009 (patch)
tree6619bbe50d37ded7861833bc580028c2a8cca64c /Master/texmf-dist/tex/latex/l3kernel
parent9e186a1e49f4a0ef3154b453e114e0e7adc6ae6c (diff)
l3 (14may20)
git-svn-id: svn://tug.org/texlive/trunk@55142 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.tex204
-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
4 files changed, 131 insertions, 79 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 4e1b9a8bdc0..d68df11175c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -68,7 +68,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-05-11}%
+\def\ExplFileDate{2020-05-14}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -12818,92 +12818,144 @@
\cs_new:Npn \__keyval_loop_active:NNw ##1 ##2 ##3 #1
{
\__keyval_if_recursion_tail:w ##3
- \__keyval_end_loop_active:w \s__keyval_mark \s__keyval_tail
+ \__keyval_end_loop_active:w \s__keyval_tail
\__keyval_loop_other:NNw ##1 ##2 ##3 , \s__keyval_tail ,
\__keyval_loop_active:NNw ##1 ##2 \s__keyval_mark
}
+ \cs_new:Npn \__keyval_split_other:w ##1 = ##2 \s__keyval_mark ##3 ##4 \s__keyval_stop
+ { ##3 ##1 \s__keyval_stop \s__keyval_mark ##2 }
+ \cs_new:Npn \__keyval_split_active:w ##1 #2 ##2 \s__keyval_mark ##3 ##4 \s__keyval_stop
+ { ##3 ##1 \s__keyval_stop \s__keyval_mark ##2 }
\cs_new:Npn \__keyval_loop_other:NNw ##1 ##2 ##3 ,
{
\__keyval_if_recursion_tail:w ##3
- \__keyval_end_loop_other:w \s__keyval_mark \s__keyval_tail
- \__keyval_if_has_equal_other:w ##3 = \s__keyval_stop
- \__keyval_has_false:w \s__keyval_mark \s__keyval_stop \use_i:nn
- {
- \__keyval_if_has_equal_active:w ##3 #2 \s__keyval_stop
- \__keyval_has_false:w \s__keyval_mark \s__keyval_stop \use_i:nn
- \__keyval_misplaced_equal_error:
- { \__keyval_split_other:w ##3 = \s__keyval_stop ##2 }
- }
- {
- \__keyval_if_has_equal_active:w ##3 #2 \s__keyval_stop
- \__keyval_has_false:w \s__keyval_mark \s__keyval_stop \use_i:nn
- { \__keyval_split_active:w ##3 #2 \s__keyval_stop ##2 }
- {
- \__keyval_if_blank:w ##3 \s__keyval_nil \s__keyval_stop
- \__keyval_blank_true:w \s__keyval_mark \s__keyval_stop \use:n
- { \__keyval_trim:nN { ##3 } \__keyval_key:nN ##1 }
- }
- }
+ \__keyval_end_loop_other:w \s__keyval_tail
+ \__keyval_split_active:w ##3 \s__keyval_nil
+ \s__keyval_mark \__keyval_split_active_auxi:w
+ #2 \s__keyval_mark \__keyval_clean_up_active:w
+ \s__keyval_stop
+ ##1 ##2
\__keyval_loop_other:NNw ##1 ##2 \s__keyval_mark
}
- \cs_new:Npn \__keyval_split_active:w ##1 #2
- { \__keyval_trim:nN { ##1 } \__keyval_split_active:nw \s__keyval_mark }
- \cs_new:Npn \__keyval_split_active:nw ##1 ##2 #2 ##3 \s__keyval_stop
+ \cs_new:Npn \__keyval_split_active_auxi:w ##1 \s__keyval_stop
+ {
+ \__keyval_split_other:w ##1 \s__keyval_nil
+ \s__keyval_mark \__keyval_misplaced_equal_after_active_error:w
+ = \s__keyval_mark \__keyval_split_active_auxii:w
+ \s__keyval_stop
+ }
+ \cs_new:Npn \__keyval_split_active_auxii:w
+ ##1 \s__keyval_nil \s__keyval_mark \__keyval_misplaced_equal_after_active_error:w
+ \s__keyval_stop \s__keyval_mark
+ { \__keyval_trim:nN { ##1 } \__keyval_split_active_auxiii:w }
+ \cs_new:Npn \__keyval_split_active_auxiii:w ##1 ##2 \s__keyval_nil
+ {
+ \__keyval_split_active:w ##2 \s__keyval_nil
+ \s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
+ #2 \s__keyval_mark \__keyval_split_active_auxiv:w
+ \s__keyval_stop
+ { ##1 }
+ }
+ \cs_new:Npn \__keyval_split_active_auxiv:w
+ ##1 \s__keyval_nil \s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
+ \s__keyval_stop \s__keyval_mark
+ {
+ \__keyval_split_other:w ##1 \s__keyval_nil
+ \s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
+ = \s__keyval_mark \__keyval_split_active_auxv:w
+ \s__keyval_stop
+ }
+ \cs_new:Npn \__keyval_split_active_auxv:w
+ ##1 \s__keyval_nil \s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
+ \s__keyval_stop \s__keyval_mark
+ { \__keyval_trim:nN { ##1 } \__keyval_pair:nnNN }
+ \cs_new:Npn \__keyval_clean_up_active:w
+ ##1 \s__keyval_nil \s__keyval_mark \__keyval_split_active_auxi:w \s__keyval_stop \s__keyval_mark
+ {
+ \__keyval_split_other:w ##1 \s__keyval_nil
+ \s__keyval_mark \__keyval_split_other_auxi:w
+ = \s__keyval_mark \__keyval_clean_up_other:w
+ \s__keyval_stop
+ }
+ \cs_new:Npn \__keyval_split_other_auxi:w ##1 \s__keyval_stop
+ { \__keyval_trim:nN { ##1 } \__keyval_split_other_auxii:w }
+ \cs_new:Npn \__keyval_split_other_auxii:w ##1 ##2 \s__keyval_nil
+ {
+ \__keyval_split_other:w ##2 \s__keyval_nil
+ \s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
+ = \s__keyval_mark \__keyval_split_other_auxiii:w
+ \s__keyval_stop
+ { ##1 }
+ }
+ \cs_new:Npn \__keyval_split_other_auxiii:w
+ ##1 \s__keyval_nil \s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
+ \s__keyval_stop \s__keyval_mark
+ { \__keyval_trim:nN { ##1 } \__keyval_pair:nnNN }
+ \cs_new:Npn \__keyval_clean_up_other:w
+ ##1 \s__keyval_nil \s__keyval_mark \__keyval_split_other_auxi:w \s__keyval_stop \s__keyval_mark
+ {
+ \__keyval_if_blank:w ##1 \s__keyval_nil \s__keyval_stop \__keyval_blank_true:w
+ \s__keyval_mark \s__keyval_stop \use:n
+ { \__keyval_trim:nN { ##1 } \__keyval_key:nNN }
+ }
+ \cs_new:Npn \__keyval_misplaced_equal_after_active_error:w
+ \s__keyval_mark ##1 \s__keyval_stop \s__keyval_mark ##2 \s__keyval_nil
+ \s__keyval_mark ##3 \s__keyval_nil ##4 ##5
+ {
+ \__kernel_msg_expandable_error:nn
+ { kernel } { misplaced-equals-sign }
+ }
+ \cs_new:Npn \__keyval_misplaced_equal_in_split_error:w
+ \s__keyval_mark ##1 \s__keyval_stop \s__keyval_mark ##2 \s__keyval_nil
+ ##3 ##4 ##5
{
- \__keyval_if_empty:w \s__keyval_mark ##3 \s__keyval_stop
- \__keyval_has_false:w \s__keyval_mark \s__keyval_stop \use_i:nn
- { \__keyval_misplaced_equal_error: \use_none:n }
- { \__keyval_trim:nN { ##2 } \__keyval_key_val:nnN { ##1 } }
+ \__kernel_msg_expandable_error:nn
+ { kernel } { misplaced-equals-sign }
}
- \cs_new:Npn \__keyval_if_has_equal_active:w ##1 #2
- { \__keyval_if_empty:w \s__keyval_mark }
+ \cs_new:Npn \__keyval_end_loop_other:w
+ \s__keyval_tail
+ \__keyval_split_active:w ##1 \s__keyval_nil
+ \s__keyval_mark \__keyval_split_active_auxi:w
+ #2 \s__keyval_mark \__keyval_clean_up_active:w
+ \s__keyval_stop
+ ##2 ##3
+ \__keyval_loop_other:NNw ##4 \s__keyval_mark
+ { }
+ \cs_new:Npn \__keyval_end_loop_active:w
+ \s__keyval_tail
+ \__keyval_loop_other:NNw ##1 , \s__keyval_tail ,
+ \__keyval_loop_active:NNw ##2 \s__keyval_mark
+ { }
}
\char_set_catcode_active:n { `\, }
\char_set_catcode_active:n { `\= }
\__keyval_tmp:NN , =
\group_end:
-\cs_new:Npn \__keyval_end_loop_active:w
- \s__keyval_mark \s__keyval_tail
- \__keyval_loop_other:NNw #1 , \s__keyval_tail ,
- \__keyval_loop_active:NNw #2 \s__keyval_mark
- { }
-\cs_new:Npn \__keyval_end_loop_other:w
- \s__keyval_mark \s__keyval_tail
- \__keyval_if_has_equal_other:w #1 = \s__keyval_stop
- \__keyval_has_false:w \s__keyval_mark \s__keyval_stop \use_i:nn
- #2
- \__keyval_loop_other:NNw #3 \s__keyval_mark
- { }
-\cs_new:Npn \__keyval_split_other:w #1 =
- { \__keyval_trim:nN { #1 } \__keyval_split_other:nw \s__keyval_mark }
-\cs_new:Npn \__keyval_split_other:nw #1 #2 = #3 \s__keyval_stop
- {
- \__keyval_if_empty:w \s__keyval_mark #3 \s__keyval_stop
- \__keyval_has_false:w \s__keyval_mark \s__keyval_stop \use_i:nn
- { \__keyval_misplaced_equal_error: \use_none:n }
- { \__keyval_trim:nN { #2 } \__keyval_key_val:nnN { #1 } }
- }
-\cs_new:Npn \__keyval_key:nN #1 #2
- { \exp_not:n { #2 { #1 } } }
-\cs_new:Npn \__keyval_key_val:nnN #1 #2 #3
- {
- \__keyval_if_empty:w \s__keyval_mark #2 \s__keyval_stop
- \__keyval_empty_key:w \s__keyval_mark \s__keyval_stop
- \exp_not:n { #3 { #2 } { #1 } }
- }
-\cs_new:Npn \__keyval_if_empty:w #1 \s__keyval_mark \s__keyval_stop {}
+\cs_new:Npn \__keyval_pair:nnNN #1 #2 #3 #4
+ {
+ \__keyval_if_blank:w \s__keyval_mark #2 \s__keyval_nil \s__keyval_stop \__keyval_blank_key_error:w
+ \s__keyval_mark \s__keyval_stop
+ \exp_not:n { #4 { #2 } { #1 } }
+ }
+\cs_new:Npn \__keyval_key:nNN #1 #2 #3
+ {
+ \__keyval_if_blank:w \s__keyval_mark #1 \s__keyval_nil \s__keyval_stop \__keyval_blank_key_error:w
+ \s__keyval_mark \s__keyval_stop
+ \exp_not:n { #2 { #1 } }
+ }
+\cs_new:Npn \__keyval_if_empty:w #1 \s__keyval_mark \s__keyval_stop { }
\cs_new:Npn \__keyval_if_blank:w \s__keyval_mark #1 { \__keyval_if_empty:w \s__keyval_mark }
-\cs_new:Npn \__keyval_if_recursion_tail:w #1 \s__keyval_mark \s__keyval_tail {}
-\cs_new:Npn \__keyval_has_false:w \s__keyval_mark \s__keyval_stop \use_i:nn #1 #2 { #2 }
-\cs_new:Npn \__keyval_blank_true:w \s__keyval_mark \s__keyval_stop \use:n #1 {}
-\cs_new:Npn \__keyval_empty_key:w \s__keyval_mark \s__keyval_stop \exp_not:n #1
- { \__keyval_misplaced_equal_error: }
-\cs_new:Npn \__keyval_if_has_equal_other:w #1 =
- { \__keyval_if_empty:w \s__keyval_mark }
-\cs_new:Npn \__keyval_misplaced_equal_error:
- { \__kernel_msg_expandable_error:nn { kernel } { misplaced-equals-sign } }
+\cs_new:Npn \__keyval_if_recursion_tail:w \s__keyval_mark #1 \s__keyval_tail { }
+\cs_new:Npn \__keyval_blank_true:w \s__keyval_mark \s__keyval_stop \use:n #1 #2 #3 { }
+\cs_new:Npn \__keyval_blank_key_error:w \s__keyval_mark \s__keyval_stop \exp_not:n #1
+ {
+ \__kernel_msg_expandable_error:nn
+ { kernel } { blank-key-name }
+ }
\__kernel_msg_new:nnn { kernel } { misplaced-equals-sign }
{ Misplaced~equals~sign~in~key-value~input~\msg_line_context: }
+\__kernel_msg_new:nnn { kernel } { blank-key-name }
+ { Blank~key~name~in~key-value~input~\msg_line_context: }
\group_begin:
\cs_set_protected:Npn \__keyval_tmp:n #1
{
@@ -12912,7 +12964,7 @@
\__keyval_trim_auxi:w
##1
\s__keyval_nil
- \s__keyval_mark #1 {}
+ \s__keyval_mark #1 { }
\s__keyval_mark \__keyval_trim_auxii:w
\__keyval_trim_auxiii:w
#1 \s__keyval_nil
@@ -13005,11 +13057,11 @@
\cs_if_exist:cTF { \c__keys_props_root_str \l__keys_property_str }
{ \__keys_define_code:n {#2} }
{
- \str_if_empty:NF \l__keys_property_str
- {
- \__kernel_msg_error:nnxx { kernel } { key-property-unknown }
- { \l__keys_property_str } { \l_keys_path_str }
- }
+ \str_if_empty:NF \l__keys_property_str
+ {
+ \__kernel_msg_error:nnxx { kernel } { key-property-unknown }
+ { \l__keys_property_str } { \l_keys_path_str }
+ }
}
}
\cs_new_protected:Npn \__keys_property_find:n #1
@@ -13772,7 +13824,7 @@
}
{
\__kernel_msg_error:nnxx { kernel } { key-unknown }
- { \l_keys_path_str } { \l__keys_module_str }
+ { \l_keys_path_str } { \l__keys_module_str }
}
}
}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index ca20bd595a7..d81e7eafb3a 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-05-11}%
+\def\ExplFileDate{2020-05-14}%
\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 0cf5f0fd3a1..e65631921ef 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-05-11}%
+\def\ExplFileDate{2020-05-14}%
\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 b962ab36e6e..ad6f7625caf 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-05-11}%
+\def\ExplFileDate{2020-05-14}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%