[latex3-commits] [git/LaTeX3-latex3-latex2e] develop: Update l3kernel and l3backend to 2020-06-03 (602c0d7f)
Joseph Wright
joseph.wright at morningstar2.co.uk
Wed Jun 3 09:20:44 CEST 2020
Repository : https://github.com/latex3/latex2e
On branch : develop
Link : https://github.com/latex3/latex2e/commit/602c0d7f112c002e862c0a8fbb3a4e4c61a0cea2
>---------------------------------------------------------------
commit 602c0d7f112c002e862c0a8fbb3a4e4c61a0cea2
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Wed Jun 3 08:20:44 2020 +0100
Update l3kernel and l3backend to 2020-06-03
>---------------------------------------------------------------
602c0d7f112c002e862c0a8fbb3a4e4c61a0cea2
texmf/tex/latex/l3backend/l3backend-dvipdfmx.def | 14 ++--
texmf/tex/latex/l3backend/l3backend-dvips.def | 32 +++++---
texmf/tex/latex/l3backend/l3backend-dvisvgm.def | 18 ++---
texmf/tex/latex/l3backend/l3backend-pdfmode.def | 24 +++---
texmf/tex/latex/l3backend/l3backend-xdvipdfmx.def | 18 ++---
texmf/tex/latex/l3kernel/expl3-code.tex | 93 +++++++++++++++--------
texmf/tex/latex/l3kernel/expl3-generic.tex | 2 +-
texmf/tex/latex/l3kernel/expl3.ltx | 2 +-
texmf/tex/latex/l3kernel/expl3.sty | 2 +-
9 files changed, 125 insertions(+), 80 deletions(-)
diff --git a/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def b/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def
index 2e4d20ed..a82491c6 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-05-05}{}
+ {l3backend-dvipdfmx.def}{2020-06-03}{}
{L3 backend support: dvipdfmx}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -58,14 +58,14 @@
}
{
\exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current at color } \q_stop #1
+ { \current at color } \s__color_stop #1
}
}
- \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \q_stop #3
+ \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
{ \tl_set:Nn #3 { #1 ~ #2 } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
\__color_backend_select:x
{
@@ -74,14 +74,14 @@
\fp_eval:n {#3} ~ \fp_eval:n {#4}
}
}
-\cs_new_protected:Npn \__color_backend_gray:n #1
+\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:nnn #1#2#3
+\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:nn #1#2
+\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
{ \__color_backend_select:n { #1 } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
diff --git a/texmf/tex/latex/l3backend/l3backend-dvips.def b/texmf/tex/latex/l3backend/l3backend-dvips.def
index bc6e7ba3..4c768d96 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-05-05}{}
+ {l3backend-dvips.def}{2020-06-03}{}
{L3 backend support: dvips}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -79,14 +79,14 @@
}
{
\exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current at color } \q_stop #1
+ { \current at color } \s__color_stop #1
}
}
- \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \q_stop #3
+ \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
{ \tl_set:Nn #3 { #1 ~ #2 } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
\__color_backend_select:x
{
@@ -95,14 +95,14 @@
\fp_eval:n {#3} ~ \fp_eval:n {#4}
}
}
-\cs_new_protected:Npn \__color_backend_gray:n #1
+\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:nnn #1#2#3
+\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:nn #1#2
+\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
{ \__color_backend_select:n { #1 } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
@@ -472,13 +472,28 @@
\cs_new_protected:Npn \__pdf_backend_object_write_array:nn #1#2
{
\__pdf_backend_pdfmark:x
- { #1 [ ~ \exp_not:n {#2} ~ ] ~ /PUTINTERVAL }
+ { #1 ~0~ [ ~ \exp_not:n {#2} ~ ] ~ /PUTINTERVAL }
}
\cs_new_protected:Npn \__pdf_backend_object_write_dict:nn #1#2
{
\__pdf_backend_pdfmark:x
{ #1 << \exp_not:n {#2} >> /PUT }
}
+\cs_new_protected:Npn \__pdf_backend_object_write_fstream:nn #1#2
+ {
+ \exp_args:Nx
+ \__pdf_backend_object_write_fstream:nnn {#1} #2
+ }
+\cs_new_protected:Npn \__pdf_backend_object_write_fstream:nnn #1#2#3
+ {
+ \__kernel_backend_postscript:n
+ {
+ SDict ~ begin ~
+ mark ~ #1 ~ << #2 >> /PUT ~ pdfmark ~
+ mark ~ #1 ~ ( #3 )~ ( r )~ file ~ /PUT ~ pdfmark ~
+ end
+ }
+ }
\cs_new_protected:Npn \__pdf_backend_object_write_stream:nn #1#2
{
\exp_args:Nx
@@ -488,7 +503,6 @@
{
\__kernel_backend_postscript:n
{
- [nobreak]
mark ~ #1 ~ ( #3 ) /PUT ~ pdfmark ~
mark ~ #1 ~ << #2 >> /PUT ~ pdfmark
}
diff --git a/texmf/tex/latex/l3backend/l3backend-dvisvgm.def b/texmf/tex/latex/l3backend/l3backend-dvisvgm.def
index c548b96c..06d084a2 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-05-05}{}
+ {l3backend-dvisvgm.def}{2020-06-03}{}
{L3 backend support: dvisvgm}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -59,14 +59,14 @@
}
{
\exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current at color } \q_stop #1
+ { \current at color } \s__color_stop #1
}
}
- \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \q_stop #3
+ \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
{ \tl_set:Nn #3 { #1 ~ #2 } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
\__color_backend_select:x
{
@@ -75,14 +75,14 @@
\fp_eval:n {#3} ~ \fp_eval:n {#4}
}
}
-\cs_new_protected:Npn \__color_backend_gray:n #1
+\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:nnn #1#2#3
+\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:nn #1#2
+\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
{ \__color_backend_select:n { #1 } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
@@ -498,11 +498,11 @@
dvisvgm:img~
\dim_to_decimal:n { \l_graphics_ury_dim } ~
\dim_to_decimal:n { \l_graphics_ury_dim } ~
- \__graphics_backend_include_bitmap_quote:w #1 " #1 " \q_stop
+ \__graphics_backend_include_bitmap_quote:w #1 " #1 " \s__graphics_stop
}
}
\cs_new_eq:NN \__graphics_backend_include_jpg:n \__graphics_backend_include_png:n
-\cs_new:Npn \__graphics_backend_include_bitmap_quote:w #1 " #2 " #3 \q_stop
+\cs_new:Npn \__graphics_backend_include_bitmap_quote:w #1 " #2 " #3 \s__graphics_stop
{ " #2 " }
%% File: l3backend-pdf.dtx
\box_new:N \l__pdf_internal_box
diff --git a/texmf/tex/latex/l3backend/l3backend-pdfmode.def b/texmf/tex/latex/l3backend/l3backend-pdfmode.def
index 17ebeeaf..1e89dc85 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-05-05}{}
+ {l3backend-pdfmode.def}{2020-06-03}{}
{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
@@ -76,10 +76,10 @@
\cs_set_protected:Npn \__color_backend_pickup:N #1
{
\exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current at color } ~ 0 ~ 0 ~ 0 \q_stop #1
+ { \current at color } ~ 0 ~ 0 ~ 0 \s__color_stop #1
}
\cs_new_protected:Npn \__color_backend_pickup:w
- #1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \q_stop #7
+ #1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \s__color_stop #7
{
\str_if_eq:nnTF {#2} { g }
{ \tl_set:Nn #7 { gray ~ #1 } }
@@ -104,39 +104,39 @@
}
}
\int_new:N \l__kernel_color_stack_int
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
\use:x
{
- \__color_backend_cmyk_aux:nnnn
+ \__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_aux:nnnn #1#2#3#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_gray:n #1
- { \exp_args:Nx \__color_backend_gray_aux:n { \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_gray_aux:n #1
{ \__color_backend_select:n { #1 ~ g ~ #1 ~ G } }
-\cs_new_protected:Npn \__color_backend_rgb:nnn #1#2#3
+\cs_new_protected:Npn \__color_backend_rgb:w #1~ #2 ~ #3 \s__color_stop
{
\use:x
{
- \__color_backend_rgb_aux:nnn
+ \__color_backend_rgb:nnn
{ \fp_eval:n {#1} }
{ \fp_eval:n {#2} }
{ \fp_eval:n {#3} }
}
}
-\cs_new_protected:Npn \__color_backend_rgb_aux:nnn #1#2#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_spot:nn #1#2
+\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 } }
\cs_new_protected:Npx \__color_backend_select:n #1
{
diff --git a/texmf/tex/latex/l3backend/l3backend-xdvipdfmx.def b/texmf/tex/latex/l3backend/l3backend-xdvipdfmx.def
index 8065a5ce..e385c1bc 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-05-05}{}
+ {l3backend-xdvipdfmx.def}{2020-06-03}{}
{L3 backend support: xdvipdfmx}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -58,14 +58,14 @@
}
{
\exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current at color } \q_stop #1
+ { \current at color } \s__color_stop #1
}
}
- \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \q_stop #3
+ \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
{ \tl_set:Nn #3 { #1 ~ #2 } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
\__color_backend_select:x
{
@@ -74,14 +74,14 @@
\fp_eval:n {#3} ~ \fp_eval:n {#4}
}
}
-\cs_new_protected:Npn \__color_backend_gray:n #1
+\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:nnn #1#2#3
+\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:nn #1#2
+\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
{ \__color_backend_select:n { #1 } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
@@ -480,12 +480,12 @@
\cs_new_protected:Npn \__graphics_backend_include_pdf:n #1
{
\tex_XeTeXpdffile:D
- \__graphics_backend_include_pdf_quote:w #1 "#1" \q_stop \c_space_tl
+ \__graphics_backend_include_pdf_quote:w #1 "#1" \s__graphics_stop \c_space_tl
\int_compare:nNnT \l_graphics_page_int > 0
{ page ~ \int_use:N \l_graphics_page_int \c_space_tl }
\exp_after:wN \__graphics_backend_getbb_pagebox:w \l_graphics_pagebox_tl
}
-\cs_new:Npn \__graphics_backend_include_pdf_quote:w #1 " #2 " #3 \q_stop
+\cs_new:Npn \__graphics_backend_include_pdf_quote:w #1 " #2 " #3 \s__graphics_stop
{ " #2 " }
%% File: l3backend-pdf.dtx
\box_new:N \l__pdf_internal_box
diff --git a/texmf/tex/latex/l3kernel/expl3-code.tex b/texmf/tex/latex/l3kernel/expl3-code.tex
index 5249b817..d1eab62b 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-05-15}%
+\def\ExplFileDate{2020-06-03}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -21066,25 +21066,27 @@
\bool_new:N \g__str_error_bool
\flag_new:n { str_byte }
\flag_new:n { str_error }
-\prg_new_conditional:Npnn \__str_if_contains_char:NN #1#2 { T , TF }
+\prg_new_conditional:Npnn \__str_if_contains_char:Nn #1#2 { T , TF }
{
- \exp_after:wN \__str_if_contains_char_aux:NN \exp_after:wN #2
- #1 { \prg_break:n { ? \fi: } }
+ \exp_after:wN \__str_if_contains_char_aux:nn \exp_after:wN {#1} {#2}
+ { \prg_break:n { ? \fi: } }
\prg_break_point:
\prg_return_false:
}
-\prg_new_conditional:Npnn \__str_if_contains_char:nN #1#2 { TF }
+\cs_new:Npn \__str_if_contains_char_aux:nn #1#2
+ { \__str_if_contains_char_auxi:nN {#2} #1 }
+\prg_new_conditional:Npnn \__str_if_contains_char:nn #1#2 { TF }
{
- \__str_if_contains_char_aux:NN #2 #1 { \prg_break:n { ? \fi: } }
+ \__str_if_contains_char_auxi:nN {#2} #1 { \prg_break:n { ? \fi: } }
\prg_break_point:
\prg_return_false:
}
-\cs_new:Npn \__str_if_contains_char_aux:NN #1#2
+\cs_new:Npn \__str_if_contains_char_auxi:nN #1#2
{
\if_charcode:w #1 #2
\exp_after:wN \__str_if_contains_char_true:
\fi:
- \__str_if_contains_char_aux:NN #1
+ \__str_if_contains_char_auxi:nN {#1}
}
\cs_new:Npn \__str_if_contains_char_true:
{ \prg_break:n { \prg_return_true: \use_none:n } }
@@ -21777,22 +21779,22 @@
\str_const:Nn \c__str_escape_name_not_str { ! " $ & ' } %$
\str_const:Nn \c__str_escape_name_str { {}/<>[] }
\cs_new_protected:Npn \__str_convert_escape_name:
- { \__str_convert_gmap:N \__str_escape_name_char:N }
-\cs_new:Npn \__str_escape_name_char:N #1
+ { \__str_convert_gmap:N \__str_escape_name_char:n }
+\cs_new:Npn \__str_escape_name_char:n #1
{
- \__str_if_escape_name:NTF #1 {#1}
+ \__str_if_escape_name:nTF {#1} {#1}
{ \c_hash_str \__str_output_hexadecimal:n {`#1} }
}
-\prg_new_conditional:Npnn \__str_if_escape_name:N #1 { TF }
+\prg_new_conditional:Npnn \__str_if_escape_name:n #1 { TF }
{
\if_int_compare:w `#1 < "2A \exp_stop_f:
- \__str_if_contains_char:NNTF \c__str_escape_name_not_str #1
+ \__str_if_contains_char:NnTF \c__str_escape_name_not_str {#1}
\prg_return_true: \prg_return_false:
\else:
\if_int_compare:w `#1 > "7E \exp_stop_f:
\prg_return_false:
\else:
- \__str_if_contains_char:NNTF \c__str_escape_name_str #1
+ \__str_if_contains_char:NnTF \c__str_escape_name_str {#1}
\prg_return_false: \prg_return_true:
\fi:
\fi:
@@ -21805,8 +21807,8 @@
{
\__str_if_escape_string:NTF #1
{
- \__str_if_contains_char:NNT
- \c__str_escape_string_str #1
+ \__str_if_contains_char:NnT
+ \c__str_escape_string_str {#1}
{ \c_backslash_str }
#1
}
@@ -21830,22 +21832,22 @@
\fi:
}
\cs_new_protected:Npn \__str_convert_escape_url:
- { \__str_convert_gmap:N \__str_escape_url_char:N }
-\cs_new:Npn \__str_escape_url_char:N #1
+ { \__str_convert_gmap:N \__str_escape_url_char:n }
+\cs_new:Npn \__str_escape_url_char:n #1
{
- \__str_if_escape_url:NTF #1 {#1}
+ \__str_if_escape_url:nTF {#1} {#1}
{ \c_percent_str \__str_output_hexadecimal:n { `#1 } }
}
-\prg_new_conditional:Npnn \__str_if_escape_url:N #1 { TF }
+\prg_new_conditional:Npnn \__str_if_escape_url:n #1 { TF }
{
\if_int_compare:w `#1 < "41 \exp_stop_f:
- \__str_if_contains_char:nNTF { "-.<> } #1
+ \__str_if_contains_char:nnTF { "-.<> } {#1}
\prg_return_true: \prg_return_false:
\else:
\if_int_compare:w `#1 > "7E \exp_stop_f:
\prg_return_false:
\else:
- \__str_if_contains_char:nNTF { [ ] } #1
+ \__str_if_contains_char:nnTF { [ ] } {#1}
\prg_return_false: \prg_return_true:
\fi:
\fi:
@@ -22330,6 +22332,43 @@
\prg_break:
}
\group_end:
+\cs_new:Npn \str_convert_pdfname:n #1
+ {
+ \exp_args:Ne \tl_to_str:n
+ { \str_map_function:nN {#1} \__str_convert_pdfname:n }
+ }
+\bool_lazy_or:nnTF
+ { \sys_if_engine_luatex_p: }
+ { \sys_if_engine_xetex_p: }
+ {
+ \cs_new:Npn \__str_convert_pdfname:n #1
+ {
+ \int_compare:nNnTF { `#1 } > { "7F }
+ { \__str_convert_pdfname_bytes:n {#1} }
+ { \__str_escape_name_char:n {#1} }
+ }
+ \cs_new:Npn \__str_convert_pdfname_bytes:n #1
+ {
+ \exp_args:Ne \__str_convert_pdfname_bytes_aux:n
+ { \char_to_utfviii_bytes:n {`#1} }
+ }
+ \cs_new:Npn \__str_convert_pdfname_bytes_aux:n #1
+ { \__str_convert_pdfname_bytes_aux:nnnn #1 }
+ \cs_new:Npx \__str_convert_pdfname_bytes_aux:nnnn #1#2#3#4
+ {
+ \c_hash_str \exp_not:N \__str_output_hexadecimal:n {#1}
+ \c_hash_str \exp_not:N \__str_output_hexadecimal:n {#2}
+ \exp_not:N \tl_if_blank:nF {#3}
+ {
+ \c_hash_str \exp_not:N \__str_output_hexadecimal:n {#3}
+ \exp_not:N \tl_if_blank:nF {#4}
+ {
+ \c_hash_str \exp_not:N \__str_output_hexadecimal:n {#4}
+ }
+ }
+ }
+ }
+ { \cs_new_eq:NN \__str_convert_pdfname:n \__str_escape_name_char:n }
%% File: l3tl-analysis.dtx
\scan_new:N \s__tl
\cs_new_eq:NN \l__tl_analysis_token ?
@@ -26656,15 +26695,7 @@
{ \__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_select_ #1 :w } #2 \s__color_stop }
-\cs_new_protected:Npn \__color_select_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- { \__color_backend_cmyk:nnnn {#1} {#2} {#3} {#4} }
-\cs_new_protected:Npn \__color_select_gray:w #1 \s__color_stop
- { \__color_backend_gray:n {#1} }
-\cs_new_protected:Npn \__color_select_rgb:w #1 ~ #2 ~ #3 \s__color_stop
- { \__color_backend_rgb:nnn {#1} {#2} {#3} }
-\cs_new_protected:Npn \__color_select_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_spot:nn {#1} {#2} }
+ { \use:c { __color_backend_ #1 :w } #2 \s__color_stop }
\tl_new:N \l__color_current_tl
\tl_set:Nn \l__color_current_tl { gray~0 }
%% File: l3coffins.dtx
diff --git a/texmf/tex/latex/l3kernel/expl3-generic.tex b/texmf/tex/latex/l3kernel/expl3-generic.tex
index e3eba08c..cb8d09c4 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-05-15}%
+\def\ExplFileDate{2020-06-03}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\def\tempa{LaTeX2e}%
diff --git a/texmf/tex/latex/l3kernel/expl3.ltx b/texmf/tex/latex/l3kernel/expl3.ltx
index c0cbe0e5..538c3fdd 100644
--- a/texmf/tex/latex/l3kernel/expl3.ltx
+++ b/texmf/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-15}%
+\def\ExplFileDate{2020-06-03}%
\let\ExplLoaderFileDate\ExplFileDate
\everyjob\expandafter{\the\everyjob
\message{L3 programming layer <\ExplFileDate>}%
diff --git a/texmf/tex/latex/l3kernel/expl3.sty b/texmf/tex/latex/l3kernel/expl3.sty
index 8878c82d..4ded77ab 100644
--- a/texmf/tex/latex/l3kernel/expl3.sty
+++ b/texmf/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-15}%
+\def\ExplFileDate{2020-06-03}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
More information about the latex3-commits
mailing list.