summaryrefslogtreecommitdiff
path: root/macros/latex/base/ltshipout.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/base/ltshipout.dtx')
-rw-r--r--macros/latex/base/ltshipout.dtx22
1 files changed, 17 insertions, 5 deletions
diff --git a/macros/latex/base/ltshipout.dtx b/macros/latex/base/ltshipout.dtx
index 8f0422c887..e226f753f3 100644
--- a/macros/latex/base/ltshipout.dtx
+++ b/macros/latex/base/ltshipout.dtx
@@ -31,8 +31,8 @@
%%% From File: ltshipout.dtx
%
% \begin{macrocode}
-\providecommand\ltshipoutversion{v1.0c}
-\providecommand\ltshipoutdate{2020/09/27}
+\providecommand\ltshipoutversion{v1.0d}
+\providecommand\ltshipoutdate{2020/11/24}
% \end{macrocode}
%
%<*driver>
@@ -1376,9 +1376,11 @@
%
%
% \begin{macro}{\AtBeginDvi}
-%
+% If we roll forward from an earlier kernel \cs{AtBeginDvi} is
+% defined so we better not use \cs{cs_new_protected:Npn} here.
+% \changes{v1.0d}{2020/11/24}{Support for roll forward (gh/434)}
% \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}
%
@@ -1448,7 +1450,17 @@
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{0000/00/00}%
%<latexrelease> {\shipout}{The hook management (shipout)}%
-%<latexrelease>\expandafter\let\expandafter\shipout\csname tex_shipout:D\endcsname
+%<latexrelease>
+% \end{macrocode}
+% If we roll forward then \cs{tex\_shipout:D} may not be defined in
+% which case \cs{shipout} does have it original definition and so
+% we must not \cs{let} it to something else which is \cs{relax}!
+% \changes{v1.0d}{2020/11/24}{Support for roll forward (gh/434)}
+% \begin{macrocode}
+%<latexrelease>\ifcsname tex_shipout:D\endcsname
+%<latexrelease>\expandafter\let\expandafter\shipout
+%<latexrelease> \csname tex_shipout:D\endcsname
+%<latexrelease>\fi
%<latexrelease>
%<latexrelease>\let \ShipoutBox\@undefined
%<latexrelease>\let \ReadonlyShipoutCounter \@undefined