[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.