summaryrefslogtreecommitdiff
path: root/macros/latex/base/ltmiscen.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/base/ltmiscen.dtx')
-rw-r--r--macros/latex/base/ltmiscen.dtx45
1 files changed, 42 insertions, 3 deletions
diff --git a/macros/latex/base/ltmiscen.dtx b/macros/latex/base/ltmiscen.dtx
index cf7f3c836b..8bae3f9bfa 100644
--- a/macros/latex/base/ltmiscen.dtx
+++ b/macros/latex/base/ltmiscen.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2020
-% The LaTeX3 Project and any individual authors listed elsewhere
+% Copyright (C) 1993-2021
+% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
% This file is part of the LaTeX base system.
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmiscen.dtx}
- [2020/12/18 v1.1x LaTeX Kernel (Misc. Environments)]
+ [2021/02/08 v1.1y LaTeX Kernel (Misc. Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltmiscen.dtx}
@@ -214,6 +214,7 @@
% \changes{v1.1i}{2000/05/19}
% {Reset \cs{AtEndDocument} for latex/3060}
% \begin{macrocode}
+ \@kernel@before@enddocument
\UseOneTimeHook{enddocument}%
\@kernel@after@enddocument
% \end{macrocode}
@@ -390,6 +391,35 @@
%<*2ekernel>
% \end{macrocode}
%
+% \begin{macro}{\@kernel@before@enddocument}
+% The \cs{@kernel@before@enddocument} hook is slightly different
+% because we initialize it with \cs{par} so that \cs{enddocument} always
+% returns to vertical mode as its first action.
+% \changes{v1.1x}{2020/10/26}{\cs{enddocument} should always start out in
+% vmode (gh/385)}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2021/06/01}%
+%<latexrelease> {\@kernel@before@enddocument}{kernel before hook}%
+\def\@kernel@before@enddocument{\par}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% The rollback code renders it harmless.
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@kernel@before@enddocument}{kernel before hook}%
+%<latexrelease>
+%<latexrelease>\let\@kernel@before@enddocument\@empty
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
%
%
% \begin{macro}{\@testdef}
@@ -838,6 +868,15 @@
%<latexrelease> \expandafter\endgroup\if@endpe\@doendpe\fi
%<latexrelease> \if@ignore\@ignorefalse\ignorespaces\fi}
%<latexrelease>
+% \end{macrocode}
+% Also undo the internal commands as some packages unfortunately test
+% for their existence instead of using \cs{IfFormatAtLeastTF}.
+% \changes{v1.1y}{2021/02/08}{Undo the internals for robust \cs{begin}
+% and \cs{end} in rollback (gh/494)}
+% \begin{macrocode}
+%<latexrelease>\expandafter\let\csname begin \endcsname\@undefined
+%<latexrelease>\expandafter\let\csname end \endcsname\@undefined
+%<latexrelease>
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}