summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-06-18 21:08:59 +0000
committerKarl Berry <karl@freefriends.org>2020-06-18 21:08:59 +0000
commit700211024849d94938004ff91e0a3928b1578e98 (patch)
treea577e99bdf389f5e3a443561cb0162e4a13cd8ad /Master/texmf-dist/tex/latex/l3kernel/expl3.sty
parent0e574a322aeab7e91f801eec35e961965f597e7a (diff)
l3 (18jun20)
git-svn-id: svn://tug.org/texlive/trunk@55586 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/expl3.sty')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty81
1 files changed, 58 insertions, 23 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index 4ded77abe6b..17df13adb3f 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/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@provides@file@@Nnnnnn\ProvidesPackage{Package}}
+\protected\def\ProvidesExplClass
+ {\@expl@provides@file@@Nnnnnn\ProvidesClass{Document Class}}
+\protected\def\ProvidesExplFile
+ {\@expl@provides@file@@Nnnnnn\ProvidesFile{File}}
+\protected\long\def\@expl@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@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@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@sys@load@backend@@
+ {
+ \tl_put_left:Nn \document
+ {
+ \endgroup
+ \@expl@sys@load@backend@@
+ \begingroup
+ }
+ }
+\cs_gset_protected:Npn \@expl@sys@load@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@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@push@filename@@
+ {
+ \tl_put_left:Nn \@pushfilename { \@expl@push@filename@@ }
+ \tl_put_right:Nn \@pushfilename { \@expl@push@filename@aux@@ }
+ }
+\cs_gset_protected:Npn \@expl@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@push@filename@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@pop@filename@@
+ {
+ \tl_put_right:Nn \@popfilename
+ { \@expl@pop@filename@@ }
+ }
+\cs_gset_protected:Npn \@expl@pop@filename@@
{
\__kernel_file_input_pop:
\tl_if_empty:NTF \l__expl_status_stack_tl