[latex3-commits] [git/LaTeX3-latex3-latex2e] develop: Update l3kernel and l3backend to 2020-06-03 (e71289ee)
Joseph Wright
joseph.wright at morningstar2.co.uk
Thu Jun 18 14:38:29 CEST 2020
Repository : https://github.com/latex3/latex2e
On branch : develop
Link : https://github.com/latex3/latex2e/commit/e71289ee98362cd7de2f1fe0401b939423c5113d
>---------------------------------------------------------------
commit e71289ee98362cd7de2f1fe0401b939423c5113d
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Thu Jun 18 13:38:29 2020 +0100
Update l3kernel and l3backend to 2020-06-03
>---------------------------------------------------------------
e71289ee98362cd7de2f1fe0401b939423c5113d
texmf/tex/latex/l3backend/l3backend-dvipdfmx.def | 86 ++++---------
texmf/tex/latex/l3backend/l3backend-dvips.def | 90 ++++----------
texmf/tex/latex/l3backend/l3backend-dvisvgm.def | 77 ++++--------
texmf/tex/latex/l3backend/l3backend-pdfmode.def | 99 ++++-----------
texmf/tex/latex/l3backend/l3backend-xdvipdfmx.def | 86 ++++---------
texmf/tex/latex/l3kernel/expl3-code.tex | 143 +++++++++++-----------
texmf/tex/latex/l3kernel/expl3-generic.tex | 2 +-
texmf/tex/latex/l3kernel/expl3.ltx | 73 +++++++----
texmf/tex/latex/l3kernel/expl3.sty | 81 ++++++++----
texmf/tex/latex/l3kernel/l3deprecation.def | 4 +
10 files changed, 310 insertions(+), 431 deletions(-)
diff --git a/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def b/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def
index a82491c6..8f5e5c40 100644
--- a/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def
+++ b/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvipdfmx.def}{2020-06-03}{}
+ {l3backend-dvipdfmx.def}{2020-06-18}{}
{L3 backend support: dvipdfmx}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -52,8 +52,8 @@
{
\tl_set:Nx #1
{
- spot ~
- \exp_after:wN \use:n \current at color \c_space_tl 1
+ { spot }
+ { \exp_after:wN \use:n \current at color \c_space_tl 1 }
}
}
{
@@ -62,33 +62,22 @@
}
}
\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { #1 ~ #2 } }
+ { \tl_set:Nn #3 { {#1} {#2} } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- {
- \__color_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
- { \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
- {
- \__color_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
-\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_select:n { #1 } }
+\cs_new_protected:Npn \__color_backend_cmyk:n #1
+ { \__color_backend_select:n { cmyk ~ #1 } }
+\cs_new_protected:Npn \__color_backend_gray:n #1
+ { \__color_backend_select:n { gray ~ #1 } }
+\cs_new_protected:Npn \__color_backend_rgb:n #1
+ { \__color_backend_select:n { rgb ~ #1 } }
+\cs_new_protected:Npn \__color_backend_spot:n #1
+ { \__color_backend_select:n {#1} }
\cs_new_protected:Npn \__color_backend_select:n #1
{
\__kernel_backend_literal:n { color~push~ #1 }
\group_insert_after:N \__color_backend_reset:
}
-\cs_generate_variant:Nn \__color_backend_select:n { x }
\cs_new_protected:Npn \__color_backend_reset:
{ \__kernel_backend_literal:n { color~pop } }
%% File: l3backend-box.dtx
@@ -219,7 +208,7 @@
{ \dim_to_decimal_in_bp:n {#1} ~ w }
}
\cs_new_protected:Npn \__draw_backend_miterlimit:n #1
- { \__draw_backend_literal:x { \fp_eval:n {#1} ~ M } }
+ { \__draw_backend_literal:x { #1 ~ M } }
\cs_new_protected:Npn \__draw_backend_cap_butt:
{ \__draw_backend_literal:n { 0 ~ J } }
\cs_new_protected:Npn \__draw_backend_cap_round:
@@ -232,38 +221,18 @@
{ \__draw_backend_literal:n { 1 ~ j } }
\cs_new_protected:Npn \__draw_backend_join_bevel:
{ \__draw_backend_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ k } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ K } }
\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ g } }
+ { \__draw_backend_color_select:n { #1 ~ g } }
\cs_new_protected:Npn \__draw_backend_color_stroke_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ G } }
-\cs_new_protected:Npn \__draw_backend_color_fill_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG }
- }
+ { \__draw_backend_color_select:n { #1 ~ G } }
+\cs_new_protected:Npn \__draw_backend_color_fill_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ rg } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ RG } }
\cs_new_eq:NN \__draw_backend_color_select:n \__kernel_backend_literal_pdf:n
\cs_generate_variant:Nn \__draw_backend_color_select:n { x }
\cs_new_protected:Npn \__draw_backend_cm:nnnn #1#2#3#4
@@ -339,13 +308,8 @@
\cs_new_protected:Npn \__draw_backend_box_use:Nnnnn #1#2#3#4#5
{
\__kernel_backend_scope_begin:
- \__kernel_backend_literal:x
- {
- pdf:btrans~matrix~
- \fp_eval:n {#2} ~ \fp_eval:n {#3} ~
- \fp_eval:n {#4} ~ \fp_eval:n {#5} ~
- 0 ~ 0
- }
+ \__kernel_backend_literal:n
+ { pdf:btrans~matrix~ #2 ~ #3 ~ #4 ~ #5 ~ 0 ~ 0 }
\hbox_overlap_right:n { \box_use:N #1 }
\__kernel_backend_literal:n { pdf:etrans }
\__kernel_backend_scope_end:
diff --git a/texmf/tex/latex/l3backend/l3backend-dvips.def b/texmf/tex/latex/l3backend/l3backend-dvips.def
index 4c768d96..bf161ed1 100644
--- a/texmf/tex/latex/l3backend/l3backend-dvips.def
+++ b/texmf/tex/latex/l3backend/l3backend-dvips.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvips.def}{2020-06-03}{}
+ {l3backend-dvips.def}{2020-06-18}{}
{L3 backend support: dvips}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -73,8 +73,8 @@
{
\tl_set:Nx #1
{
- spot ~
- \exp_after:wN \use:n \current at color \c_space_tl 1
+ { spot }
+ { \exp_after:wN \use:n \current at color \c_space_tl 1 }
}
}
{
@@ -83,34 +83,23 @@
}
}
\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { #1 ~ #2 } }
+ { \tl_set:Nn #3 { {#1} {#2} } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- {
- \__color_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
- { \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
- {
- \__color_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
-\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_select:n { #1 } }
+\cs_new_protected:Npn \__color_backend_cmyk:n #1
+ { \__color_backend_select:n { cmyk ~ #1 } }
+\cs_new_protected:Npn \__color_backend_gray:n #1
+ { \__color_backend_select:n { gray ~ #1 } }
+\cs_new_protected:Npn \__color_backend_rgb:n #1
+ { \__color_backend_select:n { rgb ~ #1 } }
+\cs_new_protected:Npn \__color_backend_spot:n #1
+ { \__color_backend_select:n {#1} }
\cs_new_protected:Npn \__color_backend_select:n #1
{
\__kernel_backend_literal:n { color~push~ #1 }
\__kernel_backend_postscript:n { /color.fc~{ }~def }
\group_insert_after:N \__color_backend_reset:
}
-\cs_generate_variant:Nn \__color_backend_select:n { x }
\cs_new_protected:Npn \__color_backend_reset:
{ \__kernel_backend_literal:n { color~pop } }
%% File: l3backend-box.dtx
@@ -324,7 +313,7 @@
{ \dim_to_decimal_in_bp:n {#1} ~ setlinewidth }
}
\cs_new_protected:Npn \__draw_backend_miterlimit:n #1
- { \__draw_backend_literal:x { \fp_eval:n {#1} ~ setmiterlimit } }
+ { \__draw_backend_literal:n { #1 ~ setmiterlimit } }
\cs_new_protected:Npn \__draw_backend_cap_butt:
{ \__draw_backend_literal:n { 0 ~ setlinecap } }
\cs_new_protected:Npn \__draw_backend_cap_round:
@@ -337,61 +326,32 @@
{ \__draw_backend_literal:n { 1 ~ setlinejoin } }
\cs_new_protected:Npn \__draw_backend_join_bevel:
{ \__draw_backend_literal:n { 2 ~ setlinejoin } }
-\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_fill:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- setcmykcolor
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_stroke:x
- {
- cmyk ~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
- { \__draw_backend_color_fill:x { \fp_eval:n {#1} ~ setgray } }
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:n #1
+ { \__draw_backend_color_fill:n { #1 ~ setcmykcolor } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:n #1
+ { \__draw_backend_color_stroke:n { cmyk ~ #1 } }
\cs_new_protected:Npn \__draw_backend_color_stroke_gray:n #1
- { \__draw_backend_color_stroke:x { gray ~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__draw_backend_color_fill_rgb:nnn #1#2#3
- {
- \__draw_backend_color_fill:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ setrgbcolor }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:nnn #1#2#3
- {
- \__draw_backend_color_stroke:x
- { rgb ~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
+ { \__draw_backend_color_fill:n { #1 ~ setgray } }
+\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
+ { \__draw_backend_color_stroke:n { gray ~ #1 } }
+\cs_new_protected:Npn \__draw_backend_color_fill_rgb:n #1
+ { \__draw_backend_color_fill:n { #1 ~ setrgbcolor } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:n #1
+ { \__draw_backend_color_stroke:n { rgb ~ #1 } }
\cs_new_protected:Npn \__draw_backend_color_fill:n #1
{
\__kernel_backend_postscript:n
{ /color.fc ~ { #1 } ~ def }
}
-\cs_generate_variant:Nn \__draw_backend_color_fill:n { x }
\cs_new_protected:Npn \__draw_backend_color_stroke:n #1
{
\__kernel_backend_literal:n { color~push~#1 }
\group_insert_after:N \__draw_color_reset:
}
-\cs_generate_variant:Nn \__draw_backend_color_stroke:n { x }
\cs_new_protected:Npn \__draw_backend_cm:nnnn #1#2#3#4
{
\__draw_backend_literal:n
- {
- [
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- 0 ~ 0
- ] ~
- concat
- }
+ { [ #1 ~ #2 ~ #3 ~ #4 ~ 0 ~ 0 ] ~ concat }
}
\cs_new_protected:Npn \__draw_backend_box_use:Nnnnn #1#2#3#4#5
{
diff --git a/texmf/tex/latex/l3backend/l3backend-dvisvgm.def b/texmf/tex/latex/l3backend/l3backend-dvisvgm.def
index 06d084a2..a8c31ce3 100644
--- a/texmf/tex/latex/l3backend/l3backend-dvisvgm.def
+++ b/texmf/tex/latex/l3backend/l3backend-dvisvgm.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvisvgm.def}{2020-06-03}{}
+ {l3backend-dvisvgm.def}{2020-06-18}{}
{L3 backend support: dvisvgm}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -53,8 +53,8 @@
{
\tl_set:Nx #1
{
- spot ~
- \exp_after:wN \use:n \current at color \c_space_tl 1
+ { spot }
+ { \exp_after:wN \use:n \current at color \c_space_tl 1 }
}
}
{
@@ -63,33 +63,22 @@
}
}
\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { #1 ~ #2 } }
+ { \tl_set:Nn #3 { {#1} {#2} } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- {
- \__color_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
- { \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
- {
- \__color_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
-\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_select:n { #1 } }
+\cs_new_protected:Npn \__color_backend_cmyk:n #1
+ { \__color_backend_select:n { cmyk ~ #1 } }
+\cs_new_protected:Npn \__color_backend_gray:n #1
+ { \__color_backend_select:n { gray ~ #1 } }
+\cs_new_protected:Npn \__color_backend_rgb:n #1
+ { \__color_backend_select:n { rgb ~ #1 } }
+\cs_new_protected:Npn \__color_backend_spot:n #1
+ { \__color_backend_select:n {#1} }
\cs_new_protected:Npn \__color_backend_select:n #1
{
\__kernel_backend_literal:n { color~push~ #1 }
\group_insert_after:N \__color_backend_reset:
}
-\cs_generate_variant:Nn \__color_backend_select:n { x }
\cs_new_protected:Npn \__color_backend_reset:
{ \__kernel_backend_literal:n { color~pop } }
%% File: l3backend-box.dtx
@@ -353,7 +342,7 @@
\cs_new_protected:Npn \__draw_backend_linewidth:n #1
{ \__draw_backend_scope:x { stroke-width=" \dim_to_decimal:n {#1} " } }
\cs_new_protected:Npn \__draw_backend_miterlimit:n #1
- { \__draw_backend_scope:x { stroke-miterlimit=" \fp_eval:n {#1} " } }
+ { \__draw_backend_scope:x { stroke-miterlimit=" #1 " } }
\cs_new_protected:Npn \__draw_backend_cap_butt:
{ \__draw_backend_scope:n { stroke-linecap="butt" } }
\cs_new_protected:Npn \__draw_backend_cap_round:
@@ -366,25 +355,21 @@
{ \__draw_backend_scope:n { stroke-linejoin="round" } }
\cs_new_protected:Npn \__draw_backend_join_bevel:
{ \__draw_backend_scope:n { stroke-linejoin="bevel" } }
-\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:n #1
+ { \__draw_backend_color_fill_cmyk:w #1 \s__draw_stop }
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:w
+ #1 ~ #2 ~ #3 ~ #4 \s__draw_stop
{
\use:x
{
\__draw_backend_color_fill:nnn
- { \fp_eval:n { -100 * ( (#1) * ( 1 - (#4) ) - 1 ) } }
- { \fp_eval:n { -100 * ( (#2) * ( 1 - (#4) ) + #4 - 1 ) } }
- { \fp_eval:n { -100 * ( (#3) * ( 1 - (#4) ) + #4 - 1 ) } }
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
+ { \fp_eval:n { -100 * ( 1 - min ( 1 , #1 + #4 ) ) } }
+ { \fp_eval:n { -100 * ( 1 - min ( 1 , #2 + #4 ) ) } }
+ { \fp_eval:n { -100 * ( 1 - min ( 1 , #3 + #4 ) ) } }
}
}
+\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:n #1
+ { \__draw_backend_select:n { cmyk ~ #1 } }
\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
{
\use:x
@@ -397,7 +382,7 @@
{ \__draw_backend_color_fill:nnn {#1} {#1} {#1} }
\cs_new_protected:Npn \__draw_backend_color_stroke_gray:n #1
{ \__draw_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__draw_backend_color_fill_rgb:nnn #1#2#3
+\cs_new_protected:Npn \__draw_backend_color_fill_rgb:n #1
{
\use:x
{
@@ -422,24 +407,14 @@
"
}
}
-\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:nnn #1#2#3
- {
- \__draw_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
+\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:n #1
+ { \__draw_backend_select:n { rgb ~ #1 } }
\cs_new_protected:Npn \__draw_backend_cm:nnnn #1#2#3#4
{
\__draw_backend_scope:n
{
transform =
- "
- matrix
- (
- \fp_eval:n {#1} , \fp_eval:n {#2} ,
- \fp_eval:n {#3} , \fp_eval:n {#4} ,
- 0pt , 0pt
- )
- "
+ " matrix ( #1 , #2 , #3 , #4 , 0pt , 0pt ) "
}
}
\cs_new_protected:Npn \__draw_backend_box_use:Nnnnn #1#2#3#4#5#6#7
diff --git a/texmf/tex/latex/l3backend/l3backend-pdfmode.def b/texmf/tex/latex/l3backend/l3backend-pdfmode.def
index 1e89dc85..688d84b9 100644
--- a/texmf/tex/latex/l3backend/l3backend-pdfmode.def
+++ b/texmf/tex/latex/l3backend/l3backend-pdfmode.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-pdfmode.def}{2020-06-03}{}
+ {l3backend-pdfmode.def}{2020-06-18}{}
{L3 backend support: PDF mode}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -82,20 +82,20 @@
#1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \s__color_stop #7
{
\str_if_eq:nnTF {#2} { g }
- { \tl_set:Nn #7 { gray ~ #1 } }
+ { \tl_set:Nn #7 { { gray } {#1} } }
{
\str_if_eq:nnTF {#4} { rg }
- { \tl_set:Nn #7 { rgb ~ #1 ~ #2 ~ #3 } }
+ { \tl_set:Nn #7 { { rgb } { #1 ~ #2 ~ #3 } } }
{
\str_if_eq:nnTF {#5} { k }
- { \tl_set:Nn #7 { cmyk ~ #1 ~ #2 ~ #3 ~ #4 } }
+ { \tl_set:Nn #7 { { cmyk } { #1 ~ #2 ~ #3 ~ #4 } } }
{
\str_if_eq:nnTF {#2} { cs }
{
- \tl_set:Nx #7 { spot ~ \use_none:n #1 ~ #5 }
+ \tl_set:Nx #7 { { spot } { \use_none:n #1 ~ #5 } }
}
{
- \tl_set:Nn #7 { gray ~ 0 }
+ \tl_set:Nn #7 { { gray } { 0 } }
}
}
}
@@ -104,40 +104,16 @@
}
}
\int_new:N \l__kernel_color_stack_int
-\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- {
- \use:x
- {
- \__color_backend_cmyk:nnnn
- { \fp_eval:n {#1} }
- { \fp_eval:n {#2} }
- { \fp_eval:n {#3} }
- { \fp_eval:n {#4} }
- }
- }
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
- {
- \__color_backend_select:n
- { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
- }
-\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
- { \exp_args:Nx \__color_backend_gray:n { \fp_eval:n {#1} } }
+\cs_new_protected:Npn \__color_backend_cmyk:n #1
+ { \__color_backend_select:n { #1 ~ k ~ #1 ~ K } }
\cs_new_protected:Npn \__color_backend_gray:n #1
{ \__color_backend_select:n { #1 ~ g ~ #1 ~ G } }
-\cs_new_protected:Npn \__color_backend_rgb:w #1~ #2 ~ #3 \s__color_stop
- {
- \use:x
- {
- \__color_backend_rgb:nnn
- { \fp_eval:n {#1} }
- { \fp_eval:n {#2} }
- { \fp_eval:n {#3} }
- }
- }
-\cs_new_protected:Npn \__color_backend_rgb:nnn #1#2#3
- { \__color_backend_select:n { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG } }
+\cs_new_protected:Npn \__color_backend_rgb:n #1
+ { \__color_backend_select:n { #1 ~ rg ~ #1 ~ RG } }
+\cs_new_protected:Npn \__color_backend_spot:n #1
+ { \__color_backend_spot:w #1 \s__color_stop }
\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ sc ~ #2 ~ SC } }
+ { \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } }
\cs_new_protected:Npx \__color_backend_select:n #1
{
\cs_if_exist:NTF \tex_pdfextension:D
@@ -146,7 +122,6 @@
\exp_not:N \l__kernel_color_stack_int push {#1}
\group_insert_after:N \exp_not:N \__color_backend_reset:
}
-\cs_generate_variant:Nn \__color_backend_select:n { x }
\cs_new_protected:Npx \__color_backend_reset:
{
\cs_if_exist:NTF \tex_pdfextension:D
@@ -295,7 +270,7 @@
{ \dim_to_decimal_in_bp:n {#1} ~ w }
}
\cs_new_protected:Npn \__draw_backend_miterlimit:n #1
- { \__draw_backend_literal:x { \fp_eval:n {#1} ~ M } }
+ { \__draw_backend_literal:x { #1 ~ M } }
\cs_new_protected:Npn \__draw_backend_cap_butt:
{ \__draw_backend_literal:n { 0 ~ J } }
\cs_new_protected:Npn \__draw_backend_cap_round:
@@ -308,38 +283,18 @@
{ \__draw_backend_literal:n { 1 ~ j } }
\cs_new_protected:Npn \__draw_backend_join_bevel:
{ \__draw_backend_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ k } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ K } }
\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ g } }
+ { \__draw_backend_color_select:n { #1 ~ g } }
\cs_new_protected:Npn \__draw_backend_color_stroke_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ G } }
-\cs_new_protected:Npn \__draw_backend_color_fill_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG }
- }
+ { \__draw_backend_color_select:n { #1 ~ G } }
+\cs_new_protected:Npn \__draw_backend_color_fill_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ rg } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ RG } }
\cs_new_protected:Npx \__draw_backend_color_select:n #1
{
\cs_if_exist:NTF \tex_pdfextension:D
@@ -358,11 +313,7 @@
\cs_generate_variant:Nn \__draw_backend_color_select:n { x }
\cs_new_protected:Npn \__draw_backend_cm:nnnn #1#2#3#4
{
- \__kernel_backend_matrix:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
+ \__kernel_backend_matrix:n { #1 ~ #2 ~ #3 ~ #4 }
}
\cs_new_protected:Npn \__draw_backend_box_use:Nnnnn #1#2#3#4#5
{
diff --git a/texmf/tex/latex/l3backend/l3backend-xdvipdfmx.def b/texmf/tex/latex/l3backend/l3backend-xdvipdfmx.def
index e385c1bc..2a093aae 100644
--- a/texmf/tex/latex/l3backend/l3backend-xdvipdfmx.def
+++ b/texmf/tex/latex/l3backend/l3backend-xdvipdfmx.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-xdvipdfmx.def}{2020-06-03}{}
+ {l3backend-xdvipdfmx.def}{2020-06-18}{}
{L3 backend support: xdvipdfmx}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -52,8 +52,8 @@
{
\tl_set:Nx #1
{
- spot ~
- \exp_after:wN \use:n \current at color \c_space_tl 1
+ { spot }
+ { \exp_after:wN \use:n \current at color \c_space_tl 1 }
}
}
{
@@ -62,33 +62,22 @@
}
}
\cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
- { \tl_set:Nn #3 { #1 ~ #2 } }
+ { \tl_set:Nn #3 { {#1} {#2} } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- {
- \__color_backend_select:x
- {
- cmyk~
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4}
- }
- }
-\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
- { \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
- {
- \__color_backend_select:x
- { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
- }
-\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_select:n { #1 } }
+\cs_new_protected:Npn \__color_backend_cmyk:n #1
+ { \__color_backend_select:n { cmyk ~ #1 } }
+\cs_new_protected:Npn \__color_backend_gray:n #1
+ { \__color_backend_select:n { gray ~ #1 } }
+\cs_new_protected:Npn \__color_backend_rgb:n #1
+ { \__color_backend_select:n { rgb ~ #1 } }
+\cs_new_protected:Npn \__color_backend_spot:n #1
+ { \__color_backend_select:n {#1} }
\cs_new_protected:Npn \__color_backend_select:n #1
{
\__kernel_backend_literal:n { color~push~ #1 }
\group_insert_after:N \__color_backend_reset:
}
-\cs_generate_variant:Nn \__color_backend_select:n { x }
\cs_new_protected:Npn \__color_backend_reset:
{ \__kernel_backend_literal:n { color~pop } }
%% File: l3backend-box.dtx
@@ -219,7 +208,7 @@
{ \dim_to_decimal_in_bp:n {#1} ~ w }
}
\cs_new_protected:Npn \__draw_backend_miterlimit:n #1
- { \__draw_backend_literal:x { \fp_eval:n {#1} ~ M } }
+ { \__draw_backend_literal:x { #1 ~ M } }
\cs_new_protected:Npn \__draw_backend_cap_butt:
{ \__draw_backend_literal:n { 0 ~ J } }
\cs_new_protected:Npn \__draw_backend_cap_round:
@@ -232,38 +221,18 @@
{ \__draw_backend_literal:n { 1 ~ j } }
\cs_new_protected:Npn \__draw_backend_join_bevel:
{ \__draw_backend_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:nnnn #1#2#3#4
- {
- \__draw_backend_color_select:x
- {
- \fp_eval:n {#1} ~ \fp_eval:n {#2} ~
- \fp_eval:n {#3} ~ \fp_eval:n {#4} ~
- k
- }
- }
+\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ k } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:n #1
+ { \__draw_backend_color_select:n { #1 ~ K } }
\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ g } }
+ { \__draw_backend_color_select:n { #1 ~ g } }
\cs_new_protected:Npn \__draw_backend_color_stroke_gray:n #1
- { \__draw_backend_color_select:x { \fp_eval:n {#1} ~ G } }
-\cs_new_protected:Npn \__draw_backend_color_fill_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg }
- }
-\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:nnn #1#2#3
- {
- \__draw_backend_color_select:x
- { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG }
- }
+ { \__draw_backend_color_select:n { #1 ~ G } }
+\cs_new_protected:Npn \__draw_backend_color_fill_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ rg } }
+\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:n #1
+ { \__draw_backend_color_select:n { #1 ~ RG } }
\cs_new_eq:NN \__draw_backend_color_select:n \__kernel_backend_literal_pdf:n
\cs_generate_variant:Nn \__draw_backend_color_select:n { x }
\cs_new_protected:Npn \__draw_backend_cm:nnnn #1#2#3#4
@@ -339,13 +308,8 @@
\cs_new_protected:Npn \__draw_backend_box_use:Nnnnn #1#2#3#4#5
{
\__kernel_backend_scope_begin:
- \__kernel_backend_literal:x
- {
- pdf:btrans~matrix~
- \fp_eval:n {#2} ~ \fp_eval:n {#3} ~
- \fp_eval:n {#4} ~ \fp_eval:n {#5} ~
- 0 ~ 0
- }
+ \__kernel_backend_literal:n
+ { pdf:btrans~matrix~ #2 ~ #3 ~ #4 ~ #5 ~ 0 ~ 0 }
\hbox_overlap_right:n { \box_use:N #1 }
\__kernel_backend_literal:n { pdf:etrans }
\__kernel_backend_scope_end:
diff --git a/texmf/tex/latex/l3kernel/expl3-code.tex b/texmf/tex/latex/l3kernel/expl3-code.tex
index d1eab62b..c954b30d 100644
--- a/texmf/tex/latex/l3kernel/expl3-code.tex
+++ b/texmf/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-06-03}%
+\def\ExplFileDate{2020-06-18}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -6410,6 +6410,39 @@
}
\cs_generate_variant:Nn \seq_map_variable:NNn { Nc }
\cs_generate_variant:Nn \seq_map_variable:NNn { c , cc }
+\cs_new:Npn \seq_map_indexed_function:NN #1#2
+ {
+ \__seq_map_indexed:NN #1#2
+ \prg_break_point:Nn \seq_map_break: { }
+ }
+\cs_new_protected:Npn \seq_map_indexed_inline:Nn #1#2
+ {
+ \int_gincr:N \g__kernel_prg_map_int
+ \cs_gset_protected:cpn
+ { __seq_map_ \int_use:N \g__kernel_prg_map_int :w } ##1##2 {#2}
+ \exp_args:NNc \__seq_map_indexed:NN #1
+ { __seq_map_ \int_use:N \g__kernel_prg_map_int :w }
+ \prg_break_point:Nn \seq_map_break:
+ { \int_gdecr:N \g__kernel_prg_map_int }
+ }
+\cs_new:Npn \__seq_map_indexed:NN #1#2
+ {
+ \exp_after:wN \__seq_map_indexed:Nw
+ \exp_after:wN #2
+ \int_value:w 1
+ \exp_after:wN \use_i:nn
+ \exp_after:wN ;
+ #1
+ \prg_break: \__seq_item:n { } \prg_break_point:
+ }
+\cs_new:Npn \__seq_map_indexed:Nw #1#2 ; #3 \__seq_item:n #4
+ {
+ #3
+ #1 {#2} {#4}
+ \exp_after:wN \__seq_map_indexed:Nw
+ \exp_after:wN #1
+ \int_value:w \int_eval:w 1 + #2 ;
+ }
\cs_new:Npn \seq_count:N #1
{
\int_eval:n
@@ -10823,6 +10856,37 @@
\cs_generate_variant:Nn \__kernel_msg_expandable_error:nnnnn { nnfff }
\cs_generate_variant:Nn \__kernel_msg_expandable_error:nnnn { nnff }
\cs_generate_variant:Nn \__kernel_msg_expandable_error:nnn { nnf }
+\cs_new:Npn \msg_expandable_error:nnnnnn #1#2#3#4#5#6
+ {
+ \exp_args:Ne \__msg_expandable_error_module:nn
+ {
+ \exp_args:Nc \exp_args:Noooo
+ { \c__msg_text_prefix_tl #1 / #2 }
+ { \tl_to_str:n {#3} }
+ { \tl_to_str:n {#4} }
+ { \tl_to_str:n {#5} }
+ { \tl_to_str:n {#6} }
+ }
+ {#1}
+ }
+\cs_new:Npn \msg_expandable_error:nnnnn #1#2#3#4#5
+ { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} {#5} { } }
+\cs_new:Npn \msg_expandable_error:nnnn #1#2#3#4
+ { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} { } { } }
+\cs_new:Npn \msg_expandable_error:nnn #1#2#3
+ { \msg_expandable_error:nnnnnn {#1} {#2} {#3} { } { } { } }
+\cs_new:Npn \msg_expandable_error:nn #1#2
+ { \msg_expandable_error:nnnnnn {#1} {#2} { } { } { } { } }
+\cs_generate_variant:Nn \msg_expandable_error:nnnnnn { nnffff }
+\cs_generate_variant:Nn \msg_expandable_error:nnnnn { nnfff }
+\cs_generate_variant:Nn \msg_expandable_error:nnnn { nnff }
+\cs_generate_variant:Nn \msg_expandable_error:nnn { nnf }
+\cs_new:Npn \__msg_expandable_error_module:nn #1#2
+ {
+ \exp_after:wN \exp_after:wN
+ \exp_after:wN \__msg_use_none_delimit_by_s_stop:w
+ \use:n { \::error ! ~ #2 : ~ #1 } \s__msg_stop
+ }
%% File: l3file.dtx
\tl_new:N \l__ior_internal_tl
\int_const:Nn \c__ior_term_ior { 16 }
@@ -26688,16 +26752,15 @@
\cs_new_protected:Npn \color_ensure_current:
{
\__color_backend_pickup:N \l__color_current_tl
- \__color_select:V \l__color_current_tl
+ \__color_select:N \l__color_current_tl
}
\scan_new:N \s__color_stop
-\cs_new_protected:Npn \__color_select:n #1
- { \__color_select:w #1 \s__color_stop }
-\cs_generate_variant:Nn \__color_select:n { V }
-\cs_new_protected:Npn \__color_select:w #1 ~ #2 \s__color_stop
- { \use:c { __color_backend_ #1 :w } #2 \s__color_stop }
+\cs_new_protected:Npn \__color_select:N #1
+ { \exp_after:wN \__color_select:nn #1 }
+\cs_new_protected:Npn \__color_select:nn #1#2
+ { \use:c { __color_backend_ #1 :n } {#2} }
\tl_new:N \l__color_current_tl
-\tl_set:Nn \l__color_current_tl { gray~0 }
+\tl_set:Nn \l__color_current_tl { { gray } { 0 } }
%% File: l3coffins.dtx
\box_new:N \l__coffin_internal_box
\dim_new:N \l__coffin_internal_dim
@@ -30448,37 +30511,6 @@
\cs:w flag~#1 \cs_end: 0 ;
\fi:
}
-\cs_new:Npn \msg_expandable_error:nnnnnn #1#2#3#4#5#6
- {
- \exp_args:Ne \__msg_expandable_error_module:nn
- {
- \exp_args:Nc \exp_args:Noooo
- { \c__msg_text_prefix_tl #1 / #2 }
- { \tl_to_str:n {#3} }
- { \tl_to_str:n {#4} }
- { \tl_to_str:n {#5} }
- { \tl_to_str:n {#6} }
- }
- {#1}
- }
-\cs_new:Npn \msg_expandable_error:nnnnn #1#2#3#4#5
- { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} {#5} { } }
-\cs_new:Npn \msg_expandable_error:nnnn #1#2#3#4
- { \msg_expandable_error:nnnnnn {#1} {#2} {#3} {#4} { } { } }
-\cs_new:Npn \msg_expandable_error:nnn #1#2#3
- { \msg_expandable_error:nnnnnn {#1} {#2} {#3} { } { } { } }
-\cs_new:Npn \msg_expandable_error:nn #1#2
- { \msg_expandable_error:nnnnnn {#1} {#2} { } { } { } { } }
-\cs_generate_variant:Nn \msg_expandable_error:nnnnnn { nnffff }
-\cs_generate_variant:Nn \msg_expandable_error:nnnnn { nnfff }
-\cs_generate_variant:Nn \msg_expandable_error:nnnn { nnff }
-\cs_generate_variant:Nn \msg_expandable_error:nnn { nnf }
-\cs_new:Npn \__msg_expandable_error_module:nn #1#2
- {
- \exp_after:wN \exp_after:wN
- \exp_after:wN \__msg_use_none_delimit_by_s_stop:w
- \use:n { \::error ! ~ #2 : ~ #1 } \s__msg_stop
- }
\cs_new_protected:Npn \msg_show_eval:Nn #1#2
{ \exp_args:Nf \__msg_show_eval:nnN { #1 {#2} } {#2} \tl_show:n }
\cs_new_protected:Npn \msg_log_eval:Nn #1#2
@@ -30619,39 +30651,6 @@
{ \seq_set_from_inline_x:Nnn #1 {#2} { #3 {##1} } }
\cs_new_protected:Npn \seq_gset_from_function:NnN #1#2#3
{ \seq_gset_from_inline_x:Nnn #1 {#2} { #3 {##1} } }
-\cs_new:Npn \seq_indexed_map_function:NN #1#2
- {
- \__seq_indexed_map:NN #1#2
- \prg_break_point:Nn \seq_map_break: { }
- }
-\cs_new_protected:Npn \seq_indexed_map_inline:Nn #1#2
- {
- \int_gincr:N \g__kernel_prg_map_int
- \cs_gset_protected:cpn
- { __seq_map_ \int_use:N \g__kernel_prg_map_int :w } ##1##2 {#2}
- \exp_args:NNc \__seq_indexed_map:NN #1
- { __seq_map_ \int_use:N \g__kernel_prg_map_int :w }
- \prg_break_point:Nn \seq_map_break:
- { \int_gdecr:N \g__kernel_prg_map_int }
- }
-\cs_new:Npn \__seq_indexed_map:NN #1#2
- {
- \exp_after:wN \__seq_indexed_map:Nw
- \exp_after:wN #2
- \int_value:w 1
- \exp_after:wN \use_i:nn
- \exp_after:wN ;
- #1
- \prg_break: \__seq_item:n { } \prg_break_point:
- }
-\cs_new:Npn \__seq_indexed_map:Nw #1#2 ; #3 \__seq_item:n #4
- {
- #3
- #1 {#2} {#4}
- \exp_after:wN \__seq_indexed_map:Nw
- \exp_after:wN #1
- \int_value:w \int_eval:w 1 + #2 ;
- }
\str_const:Nx \c_sys_engine_version_str
{
\str_case:on \c_sys_engine_str
diff --git a/texmf/tex/latex/l3kernel/expl3-generic.tex b/texmf/tex/latex/l3kernel/expl3-generic.tex
index cb8d09c4..52f1e1ed 100644
--- a/texmf/tex/latex/l3kernel/expl3-generic.tex
+++ b/texmf/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-06-03}%
+\def\ExplFileDate{2020-06-18}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\def\tempa{LaTeX2e}%
diff --git a/texmf/tex/latex/l3kernel/expl3.ltx b/texmf/tex/latex/l3kernel/expl3.ltx
index 538c3fdd..b385a59b 100644
--- a/texmf/tex/latex/l3kernel/expl3.ltx
+++ b/texmf/tex/latex/l3kernel/expl3.ltx
@@ -19,26 +19,34 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-06-03}%
+\def\ExplFileDate{2020-06-18}%
\let\ExplLoaderFileDate\ExplFileDate
\everyjob\expandafter{\the\everyjob
\message{L3 programming layer <\ExplFileDate>}%
}
-\protected\def\ProvidesExplPackage#1#2#3#4%
+\protected\def\ProvidesExplPackage
+ {\@expl at provides@file@@Nnnnnn\ProvidesPackage{Package}}
+\protected\def\ProvidesExplClass
+ {\@expl at provides@file@@Nnnnnn\ProvidesClass{Document Class}}
+\protected\def\ProvidesExplFile
+ {\@expl at provides@file@@Nnnnnn\ProvidesFile{File}}
+\protected\long\def\@expl at provides@file@@Nnnnnn#1#2#3#4#5#6%
{%
- \ProvidesPackage{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
+ \ifnum0%
+ \ifdefined#11\fi
+ \ifx\relax#1\else1\fi
+ =11
+ \expandafter#1%
+ \else
+ \@expl at provides@generic@@wnnw{#2}%
+ \fi
+ {#3}[{#4 \ifx\relax#5\relax\else v#5\space\fi #6}]%
\ExplSyntaxOn
- }%
-\protected\def\ProvidesExplClass#1#2#3#4%
- {%
- \ProvidesClass{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
- \ExplSyntaxOn
- }%
-\protected\def\ProvidesExplFile#1#2#3#4%
+ }
+\protected\long\def\@expl at provides@generic@@wnnw#1\fi#2[#3]%
{%
- \ProvidesFile{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
- \ExplSyntaxOn
- }%
+ \immediate\write-1{#1: #2 #3}%
+ }
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname tex\string _let:D\endcsname\relax
\expandafter\@firstofone
@@ -50,10 +58,13 @@
\expandafter\ifx\csname tex\string _let:D\endcsname\relax
\expandafter\endinput
\fi
-\ifdefined\@pushfilenameaux
+\ifcsname\detokenize{g__expl_reload_bool}\endcsname
\ExplSyntaxOn
+ \bool_gset_true:N \g__expl_reload_bool
+\else
+ \bool_new:N \g__expl_reload_bool
\fi
-\cs_if_exist:NF \c__expl_def_ext_tl
+\tl_if_exist:NF \c__expl_def_ext_tl
{ \tl_const:Nn \c__expl_def_ext_tl { def } }
\cs_gset_protected:Npn \__kernel_sys_configuration_load:n #1
{
@@ -88,12 +99,19 @@
\sys_load_deprecation:
}
}
-\tl_put_left:Nn \document
+\cs_if_exist:NF \@expl at sys@load at backend@@
+ {
+ \tl_put_left:Nn \document
+ {
+ \endgroup
+ \@expl at sys@load at backend@@
+ \begingroup
+ }
+ }
+\cs_gset_protected:Npn \@expl at sys@load at backend@@
{
- \endgroup
\str_if_exist:NF \c_sys_backend_str
{ \sys_load_backend:n { } }
- \begingroup
}
\cs_if_free:cTF { ver at expl3.sty }
{
@@ -107,11 +125,16 @@
\reverse_if:N \if_cs_exist:N \s__expl_stop
\scan_new:N \s__expl_stop
\fi:
-\tl_put_left:Nn \@pushfilename
+\cs_if_exist:NF \@expl at push@filename@@
+ {
+ \tl_put_left:Nn \@pushfilename { \@expl at push@filename@@ }
+ \tl_put_right:Nn \@pushfilename { \@expl at push@filename at aux@@ }
+ }
+\cs_gset_protected:Npn \@expl at push@filename@@
{
\exp_args:Nx \__kernel_file_input_push:n
{
- \tl_to_str:N \@currname
+ \tl_to_str:N \@currname .
\tl_to_str:N \@currext
}
\tl_put_left:Nx \l__expl_status_stack_tl
@@ -122,13 +145,17 @@
}
\ExplSyntaxOff
}
-\tl_put_right:Nn \@pushfilename { \@pushfilenameaux }
-\cs_set_protected:Npn \@pushfilenameaux #1#2#3
+\cs_gset_protected:Npn \@expl at push@filename at aux@@ #1#2#3
{
\str_gset:Nn \g_file_curr_name_str {#3}
#1 #2 {#3}
}
-\tl_put_right:Nn \@popfilename
+\cs_if_exist:NF \@expl at pop@filename@@
+ {
+ \tl_put_right:Nn \@popfilename
+ { \@expl at pop@filename@@ }
+ }
+\cs_gset_protected:Npn \@expl at pop@filename@@
{
\__kernel_file_input_pop:
\tl_if_empty:NTF \l__expl_status_stack_tl
diff --git a/texmf/tex/latex/l3kernel/expl3.sty b/texmf/tex/latex/l3kernel/expl3.sty
index 4ded77ab..17df13ad 100644
--- a/texmf/tex/latex/l3kernel/expl3.sty
+++ b/texmf/tex/latex/l3kernel/expl3.sty
@@ -19,28 +19,36 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-06-03}%
+\def\ExplFileDate{2020-06-18}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
\ExplFileDate\space
L3 programming layer (loader)
]%
-\protected\def\ProvidesExplPackage#1#2#3#4%
+\protected\def\ProvidesExplPackage
+ {\@expl at provides@file@@Nnnnnn\ProvidesPackage{Package}}
+\protected\def\ProvidesExplClass
+ {\@expl at provides@file@@Nnnnnn\ProvidesClass{Document Class}}
+\protected\def\ProvidesExplFile
+ {\@expl at provides@file@@Nnnnnn\ProvidesFile{File}}
+\protected\long\def\@expl at provides@file@@Nnnnnn#1#2#3#4#5#6%
{%
- \ProvidesPackage{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
+ \ifnum0%
+ \ifdefined#11\fi
+ \ifx\relax#1\else1\fi
+ =11
+ \expandafter#1%
+ \else
+ \@expl at provides@generic@@wnnw{#2}%
+ \fi
+ {#3}[{#4 \ifx\relax#5\relax\else v#5\space\fi #6}]%
\ExplSyntaxOn
- }%
-\protected\def\ProvidesExplClass#1#2#3#4%
- {%
- \ProvidesClass{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
- \ExplSyntaxOn
- }%
-\protected\def\ProvidesExplFile#1#2#3#4%
+ }
+\protected\long\def\@expl at provides@generic@@wnnw#1\fi#2[#3]%
{%
- \ProvidesFile{#1}[#2 \ifx\relax#3\relax\else v#3\space\fi #4]%
- \ExplSyntaxOn
- }%
+ \immediate\write-1{#1: #2 #3}%
+ }
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname tex\string _let:D\endcsname\relax
\expandafter\@firstofone
@@ -52,10 +60,13 @@
\expandafter\ifx\csname tex\string _let:D\endcsname\relax
\expandafter\endinput
\fi
-\ifdefined\@pushfilenameaux
+\ifcsname\detokenize{g__expl_reload_bool}\endcsname
\ExplSyntaxOn
+ \bool_gset_true:N \g__expl_reload_bool
+\else
+ \bool_new:N \g__expl_reload_bool
\fi
-\cs_if_exist:NF \c__expl_def_ext_tl
+\tl_if_exist:NF \c__expl_def_ext_tl
{ \tl_const:Nn \c__expl_def_ext_tl { def } }
\cs_gset_protected:Npn \__kernel_sys_configuration_load:n #1
{
@@ -71,7 +82,7 @@
\@onefilewithoptions {#1} [ ] [ ]
\c__expl_def_ext_tl
}
-\cs_if_exist:NF \l__expl_options_clist
+\clist_if_exist:NF \l__expl_options_clist
{ \clist_new:N \l__expl_options_clist }
\DeclareOption*
{ \clist_put_right:NV \l__expl_options_clist \CurrentOption }
@@ -103,14 +114,29 @@
\sys_load_deprecation:
}
}
+\cs_if_exist:NF \@expl at sys@load at backend@@
+ {
+ \tl_put_left:Nn \document
+ {
+ \endgroup
+ \@expl at sys@load at backend@@
+ \begingroup
+ }
+ }
+\cs_gset_protected:Npn \@expl at sys@load at backend@@
+ {
+ \str_if_exist:NF \c_sys_backend_str
+ { \sys_load_backend:n { } }
+ }
\keys_set:nV { sys } \l__expl_options_clist
\str_if_exist:NF \c_sys_backend_str
{ \sys_load_backend:n { } }
-\cs_if_exist:NT \@pushfilenameaux
+\bool_if:NT \g__expl_reload_bool
{
\cs_gset_eq:NN \__kernel_sys_configuration_load:n
\__kernel_sys_configuration_load_std:n
- \endinput
+ \ExplSyntaxOff
+ \file_input_stop:
}
\cs_if_free:cTF { ver at expl3.sty }
{
@@ -124,11 +150,16 @@
\reverse_if:N \if_cs_exist:N \s__expl_stop
\scan_new:N \s__expl_stop
\fi:
-\tl_put_left:Nn \@pushfilename
+\cs_if_exist:NF \@expl at push@filename@@
+ {
+ \tl_put_left:Nn \@pushfilename { \@expl at push@filename@@ }
+ \tl_put_right:Nn \@pushfilename { \@expl at push@filename at aux@@ }
+ }
+\cs_gset_protected:Npn \@expl at push@filename@@
{
\exp_args:Nx \__kernel_file_input_push:n
{
- \tl_to_str:N \@currname
+ \tl_to_str:N \@currname .
\tl_to_str:N \@currext
}
\tl_put_left:Nx \l__expl_status_stack_tl
@@ -139,13 +170,17 @@
}
\ExplSyntaxOff
}
-\tl_put_right:Nn \@pushfilename { \@pushfilenameaux }
-\cs_set_protected:Npn \@pushfilenameaux #1#2#3
+\cs_gset_protected:Npn \@expl at push@filename at aux@@ #1#2#3
{
\str_gset:Nn \g_file_curr_name_str {#3}
#1 #2 {#3}
}
-\tl_put_right:Nn \@popfilename
+\cs_if_exist:NF \@expl at pop@filename@@
+ {
+ \tl_put_right:Nn \@popfilename
+ { \@expl at pop@filename@@ }
+ }
+\cs_gset_protected:Npn \@expl at pop@filename@@
{
\__kernel_file_input_pop:
\tl_if_empty:NTF \l__expl_status_stack_tl
diff --git a/texmf/tex/latex/l3kernel/l3deprecation.def b/texmf/tex/latex/l3kernel/l3deprecation.def
index 2eb91079..f088cf38 100644
--- a/texmf/tex/latex/l3kernel/l3deprecation.def
+++ b/texmf/tex/latex/l3kernel/l3deprecation.def
@@ -207,6 +207,10 @@
\cs_gset:Npn \str_if_eq_x:nnF { \str_if_eq:eeF }
\__kernel_patch_deprecation:nnNNpn { 2020-01-01 } { \str_if_eq:eeTF }
\cs_gset:Npn \str_if_eq_x:nnTF { \str_if_eq:eeTF }
+\__kernel_patch_deprecation:nnNNpn { 2022-07-01 } { \seq_map_indexed_inline:Nn }
+\cs_gset:Npn \seq_indexed_map_inline:Nn { \seq_map_indexed_inline:Nn }
+\__kernel_patch_deprecation:nnNNpn { 2022-07-01 } { \seq_map_indexed_function:NN }
+\cs_gset:Npn \seq_indexed_map_function:NN { \seq_map_indexed_function:NN }
\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \file_get:nnN }
\cs_gset_protected:Npn \tl_set_from_file:Nnn #1#2#3
{ \file_get:nnN {#3} {#2} #1 }
More information about the latex3-commits
mailing list.