[latex3-commits] [git/LaTeX3-latex3-latex2e] hotfix/gh434: I guess that'll do for #434 when rolling forward if the format is at least 2019. Earlier releases such as 2018 will not have expl3.ltx and therefore bail out, but I think that is acceptable in the roll forward case (but the error message in that case could be improved. (fd85040f)
Frank Mittelbach
frank.mittelbach at latex-project.org
Wed Nov 25 00:16:35 CET 2020
Repository : https://github.com/latex3/latex2e
On branch : hotfix/gh434
Link : https://github.com/latex3/latex2e/commit/fd85040fb6875a6d979284f614a8c0af7fde2f4f
>---------------------------------------------------------------
commit fd85040fb6875a6d979284f614a8c0af7fde2f4f
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date: Wed Nov 25 00:16:35 2020 +0100
I guess that'll do for #434 when rolling forward if the format is at least 2019. Earlier releases such as 2018 will not have expl3.ltx and therefore bail out, but I think that is acceptable in the roll forward case (but the error message in that case could be improved.
Not done: documentation and final cleanup ... but it is after midnight
>---------------------------------------------------------------
fd85040fb6875a6d979284f614a8c0af7fde2f4f
base/ltexpl.dtx | 7 ++-
base/ltfilehook.dtx | 54 ++++++++++++++++++++++
base/lthooks.dtx | 4 ++
base/ltshipout.dtx | 2 +-
.../tlb-latexrelease-rollback-003-often.luatex.tlg | 4 ++
.../tlb-latexrelease-rollback-003-often.tlg | 4 ++
.../tlb-latexrelease-rollback-003-often.xetex.tlg | 4 ++
base/testfiles/tlb-rollback-004-often.luatex.tlg | 2 +
base/testfiles/tlb-rollback-004-often.tlg | 2 +
base/testfiles/tlb-rollback-004-often.xetex.tlg | 2 +
10 files changed, 82 insertions(+), 3 deletions(-)
diff --git a/base/ltexpl.dtx b/base/ltexpl.dtx
index 88d1fd43..0cf78935 100644
--- a/base/ltexpl.dtx
+++ b/base/ltexpl.dtx
@@ -76,12 +76,15 @@
% loading \textsf{expl3}, we won't get strange \texttt{Undefined control
% sequence} errors.
% \begin{macrocode}
-%<*2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@expl at sys@load at backend@@}{Roll forward support}%
\def\@expl at sys@load at backend@@{}
\def\@expl at push@filename@@{}
\def\@expl at push@filename at aux@@{}
\def\@expl at pop@filename@@{}
-%</2ekernel>
+%<latexrelease>\EndIncludeInRelease
+%</2ekernel|latexrelease>
% \end{macrocode}
%
% \changes{v1.2d}{2020/07/08}
diff --git a/base/ltfilehook.dtx b/base/ltfilehook.dtx
index ecb499f3..93089a44 100644
--- a/base/ltfilehook.dtx
+++ b/base/ltfilehook.dtx
@@ -615,6 +615,59 @@
% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\file_parse_full_name_apply:nN}{Roll forward help}%
+%<latexrelease>
+%<latexrelease>\ExplSyntaxOn
+%<latexrelease>\cs_if_exist:NF\file_parse_full_name_apply:nN
+%<latexrelease>{
+%<latexrelease>\cs_new:Npn \file_parse_full_name_apply:nN #1
+%<latexrelease> {
+%<latexrelease> \exp_args:Ne \__file_parse_full_name_auxi:nN
+%<latexrelease> { \__kernel_file_name_sanitize:n {#1} }
+%<latexrelease> }
+%<latexrelease>\cs_new:Npn \__file_parse_full_name_auxi:nN #1
+%<latexrelease> {
+%<latexrelease> \__file_parse_full_name_area:nw { } #1
+%<latexrelease> / \s__file_stop
+%<latexrelease> }
+%<latexrelease>\cs_new:Npn \__file_parse_full_name_area:nw #1 #2 / #3 \s__file_stop
+%<latexrelease> {
+%<latexrelease> \tl_if_empty:nTF {#3}
+%<latexrelease> { \__file_parse_full_name_base:nw { } #2 . \s__file_stop {#1} }
+%<latexrelease> { \__file_parse_full_name_area:nw { #1 / #2 } #3 \s__file_stop }
+%<latexrelease> }
+%<latexrelease>\cs_new:Npn \__file_parse_full_name_base:nw #1 #2 . #3 \s__file_stop
+%<latexrelease> {
+%<latexrelease> \tl_if_empty:nTF {#3}
+%<latexrelease> {
+%<latexrelease> \tl_if_empty:nTF {#1}
+%<latexrelease> {
+%<latexrelease> \tl_if_empty:nTF {#2}
+%<latexrelease> { \__file_parse_full_name_tidy:nnnN { } { } }
+%<latexrelease> { \__file_parse_full_name_tidy:nnnN { .#2 } { } }
+%<latexrelease> }
+%<latexrelease> { \__file_parse_full_name_tidy:nnnN {#1} { .#2 } }
+%<latexrelease> }
+%<latexrelease> { \__file_parse_full_name_base:nw { #1 . #2 } #3 \s__file_stop }
+%<latexrelease> }
+%<latexrelease>\cs_new:Npn \__file_parse_full_name_tidy:nnnN #1 #2 #3 #4
+%<latexrelease> {
+%<latexrelease> \exp_args:Nee #4
+%<latexrelease> {
+%<latexrelease> \str_if_eq:nnF {#3} { / } { \use_none:n }
+%<latexrelease> #3 \prg_do_nothing:
+%<latexrelease> }
+%<latexrelease> { \use_none:n #1 \prg_do_nothing: }
+%<latexrelease> {#2}
+%<latexrelease> }
+%<latexrelease>}
+%<latexrelease>\ExplSyntaxOff
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
%
@@ -622,6 +675,7 @@
%<@@=>
% \end{macrocode}
%
+%
% \subsection{Declaring the file-related hooks}
%
% All hooks starting with \texttt{file/} \texttt{include/},
diff --git a/base/lthooks.dtx b/base/lthooks.dtx
index e4ff7dd2..a03ae785 100644
--- a/base/lthooks.dtx
+++ b/base/lthooks.dtx
@@ -1749,6 +1749,10 @@
\tl_new:N \g_@@_hook_curr_name_tl
\seq_new:N \g_@@_name_stack_seq
% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\seq_gpush:Nn \g__hook_name_stack_seq { }
+% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_tmp:w}
diff --git a/base/ltshipout.dtx b/base/ltshipout.dtx
index 8f0422c8..16dec839 100644
--- a/base/ltshipout.dtx
+++ b/base/ltshipout.dtx
@@ -1378,7 +1378,7 @@
% \begin{macro}{\AtBeginDvi}
%
% \begin{macrocode}
-\cs_new_protected:Npn \AtBeginDvi {\@@_add_firstpage_material:Nn \AtBeginDvi}
+\cs_set_protected:Npn \AtBeginDvi {\@@_add_firstpage_material:Nn \AtBeginDvi}
% \end{macrocode}
% \end{macro}
%
diff --git a/base/testfiles/tlb-latexrelease-rollback-003-often.luatex.tlg b/base/testfiles/tlb-latexrelease-rollback-003-often.luatex.tlg
index 7ed2f8de..a4c513ef 100644
--- a/base/testfiles/tlb-latexrelease-rollback-003-often.luatex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-003-often.luatex.tlg
@@ -35,6 +35,7 @@ Skipping: [....-..-..] LuaTeX on input line ....
Applying: [....-..-..] LuaTeX on input line ....
Skipping: [....-..-..] TU in everyjob on input line ....
Applying: [....-..-..] TU in everyjob on input line ....
+Skipping: [....-..-..] Roll forward support on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Emergency loading xparse on input line ....
@@ -361,6 +362,7 @@ Applying: [....-..-..] Spaces in file names + optional arg on input line ....
Skipping: [....-..-..] Hook management file on input line ....
Applying: [....-..-..] Hook management file on input line ....
Skipping: [....-..-..] File helpers on input line ....
+Skipping: [....-..-..] Roll forward help on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Applying: [....-..-..] Hook management (files) on input line ....
@@ -463,6 +465,7 @@ Applying: [....-..-..] LuaTeX on input line ....
Already applied: [....-..-..] LuaTeX on input line ....
Applying: [....-..-..] TU in everyjob on input line ....
Already applied: [....-..-..] TU in everyjob on input line ....
+Skipping: [....-..-..] Roll forward support on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Emergency loading xparse on input line ....
@@ -836,6 +839,7 @@ Already applied: [....-..-..] Spaces in file names + optional arg on input line
Skipping: [....-..-..] Hook management file on input line ....
Applying: [....-..-..] Hook management file on input line ....
Skipping: [....-..-..] File helpers on input line ....
+Skipping: [....-..-..] Roll forward help on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Applying: [....-..-..] Hook management (files) on input line ....
LaTeX Info: Redefining \InputIfFileExists on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-003-often.tlg b/base/testfiles/tlb-latexrelease-rollback-003-often.tlg
index c67832d4..d2a9850d 100644
--- a/base/testfiles/tlb-latexrelease-rollback-003-often.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-003-often.tlg
@@ -29,6 +29,7 @@ Skipping: [....-..-..] etex tracing on input line ....
Applying: [....-..-..] etex tracing on input line ....
Skipping: [....-..-..] turn off etex tracing on input line ....
Applying: [....-..-..] turn off etex tracing on input line ....
+Skipping: [....-..-..] Roll forward support on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Emergency loading xparse on input line ....
@@ -355,6 +356,7 @@ Applying: [....-..-..] Spaces in file names + optional arg on input line ....
Skipping: [....-..-..] Hook management file on input line ....
Applying: [....-..-..] Hook management file on input line ....
Skipping: [....-..-..] File helpers on input line ....
+Skipping: [....-..-..] Roll forward help on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Applying: [....-..-..] Hook management (files) on input line ....
@@ -447,6 +449,7 @@ Applying: [....-..-..] etex tracing on input line ....
Already applied: [....-..-..] etex tracing on input line ....
Applying: [....-..-..] turn off etex tracing on input line ....
Already applied: [....-..-..] turn off etex tracing on input line ....
+Skipping: [....-..-..] Roll forward support on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Emergency loading xparse on input line ....
@@ -820,6 +823,7 @@ Already applied: [....-..-..] Spaces in file names + optional arg on input line
Skipping: [....-..-..] Hook management file on input line ....
Applying: [....-..-..] Hook management file on input line ....
Skipping: [....-..-..] File helpers on input line ....
+Skipping: [....-..-..] Roll forward help on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Applying: [....-..-..] Hook management (files) on input line ....
LaTeX Info: Redefining \InputIfFileExists on input line ....
diff --git a/base/testfiles/tlb-latexrelease-rollback-003-often.xetex.tlg b/base/testfiles/tlb-latexrelease-rollback-003-often.xetex.tlg
index 3ee0b570..38b1c16a 100644
--- a/base/testfiles/tlb-latexrelease-rollback-003-often.xetex.tlg
+++ b/base/testfiles/tlb-latexrelease-rollback-003-often.xetex.tlg
@@ -29,6 +29,7 @@ Skipping: [....-..-..] etex tracing on input line ....
Applying: [....-..-..] etex tracing on input line ....
Skipping: [....-..-..] turn off etex tracing on input line ....
Applying: [....-..-..] turn off etex tracing on input line ....
+Skipping: [....-..-..] Roll forward support on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Emergency loading xparse on input line ....
@@ -355,6 +356,7 @@ Applying: [....-..-..] Spaces in file names + optional arg on input line ....
Skipping: [....-..-..] Hook management file on input line ....
Applying: [....-..-..] Hook management file on input line ....
Skipping: [....-..-..] File helpers on input line ....
+Skipping: [....-..-..] Roll forward help on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Applying: [....-..-..] Hook management (files) on input line ....
@@ -456,6 +458,7 @@ Applying: [....-..-..] etex tracing on input line ....
Already applied: [....-..-..] etex tracing on input line ....
Applying: [....-..-..] turn off etex tracing on input line ....
Already applied: [....-..-..] turn off etex tracing on input line ....
+Skipping: [....-..-..] Roll forward support on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Skipping: [....-..-..] Emergency loading xparse on input line ....
@@ -829,6 +832,7 @@ Already applied: [....-..-..] Spaces in file names + optional arg on input line
Skipping: [....-..-..] Hook management file on input line ....
Applying: [....-..-..] Hook management file on input line ....
Skipping: [....-..-..] File helpers on input line ....
+Skipping: [....-..-..] Roll forward help on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Applying: [....-..-..] Hook management (files) on input line ....
LaTeX Info: Redefining \InputIfFileExists on input line ....
diff --git a/base/testfiles/tlb-rollback-004-often.luatex.tlg b/base/testfiles/tlb-rollback-004-often.luatex.tlg
index 23876abd..b7e05337 100644
--- a/base/testfiles/tlb-rollback-004-often.luatex.tlg
+++ b/base/testfiles/tlb-rollback-004-often.luatex.tlg
@@ -37,6 +37,7 @@ Already applied: [....-..-..] LuaTeX on input line ....
Applying: [....-..-..] TU in everyjob on input line ....
luaotfload | load : Luaotfload initialization requested but is already loaded, ignoring.
Already applied: [....-..-..] TU in everyjob on input line ....
+Skipping: [....-..-..] Roll forward support on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Applying: [....-..-..] Pre-load expl3 on input line ....
(../expl3.ltx)
@@ -732,6 +733,7 @@ Already applied: [....-..-..] Spaces in file names + optional arg on input line
Skipping: [....-..-..] Hook management file on input line ....
Applying: [....-..-..] Hook management file on input line ....
Skipping: [....-..-..] File helpers on input line ....
+Skipping: [....-..-..] Roll forward help on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Applying: [....-..-..] Hook management (files) on input line ....
LaTeX Info: Redefining \InputIfFileExists on input line ....
diff --git a/base/testfiles/tlb-rollback-004-often.tlg b/base/testfiles/tlb-rollback-004-often.tlg
index a584b74d..9ad986aa 100644
--- a/base/testfiles/tlb-rollback-004-often.tlg
+++ b/base/testfiles/tlb-rollback-004-often.tlg
@@ -26,6 +26,7 @@ Applying: [....-..-..] etex tracing on input line ....
Already applied: [....-..-..] etex tracing on input line ....
Applying: [....-..-..] turn off etex tracing on input line ....
Already applied: [....-..-..] turn off etex tracing on input line ....
+Skipping: [....-..-..] Roll forward support on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Applying: [....-..-..] Pre-load expl3 on input line ....
(../expl3.ltx)
@@ -720,6 +721,7 @@ Already applied: [....-..-..] Spaces in file names + optional arg on input line
Skipping: [....-..-..] Hook management file on input line ....
Applying: [....-..-..] Hook management file on input line ....
Skipping: [....-..-..] File helpers on input line ....
+Skipping: [....-..-..] Roll forward help on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Applying: [....-..-..] Hook management (files) on input line ....
LaTeX Info: Redefining \InputIfFileExists on input line ....
diff --git a/base/testfiles/tlb-rollback-004-often.xetex.tlg b/base/testfiles/tlb-rollback-004-often.xetex.tlg
index 9025a047..47445397 100644
--- a/base/testfiles/tlb-rollback-004-often.xetex.tlg
+++ b/base/testfiles/tlb-rollback-004-often.xetex.tlg
@@ -26,6 +26,7 @@ Applying: [....-..-..] etex tracing on input line ....
Already applied: [....-..-..] etex tracing on input line ....
Applying: [....-..-..] turn off etex tracing on input line ....
Already applied: [....-..-..] turn off etex tracing on input line ....
+Skipping: [....-..-..] Roll forward support on input line ....
Skipping: [....-..-..] Pre-load expl3 on input line ....
Applying: [....-..-..] Pre-load expl3 on input line ....
(../expl3.ltx)
@@ -721,6 +722,7 @@ Already applied: [....-..-..] Spaces in file names + optional arg on input line
Skipping: [....-..-..] Hook management file on input line ....
Applying: [....-..-..] Hook management file on input line ....
Skipping: [....-..-..] File helpers on input line ....
+Skipping: [....-..-..] Roll forward help on input line ....
Skipping: [....-..-..] Hook management (files) on input line ....
Applying: [....-..-..] Hook management (files) on input line ....
LaTeX Info: Redefining \InputIfFileExists on input line ....
More information about the latex3-commits
mailing list.