[latex3-commits] [git/LaTeX3-latex3-latex2e] master: Update to suspicious rollback code for issue #43 (f33ab1e)
David Carlisle
d.p.carlisle at gmail.com
Tue May 8 23:24:56 CEST 2018
Repository : https://github.com/latex3/latex2e
On branch : master
Link : https://github.com/latex3/latex2e/commit/f33ab1e9f2e84b24886b8384038fbd04f77b17af
>---------------------------------------------------------------
commit f33ab1e9f2e84b24886b8384038fbd04f77b17af
Author: David Carlisle <d.p.carlisle at gmail.com>
Date: Tue May 8 22:24:56 2018 +0100
Update to suspicious rollback code for issue #43
Make the suspicious rollback message a warning not error.
Make the current and latest options to latexrelease set the
default rollback request to 0 so package rollback is disabled.
Add some documentation to dissuade package authors from loading
latexrelease in a package.
>---------------------------------------------------------------
f33ab1e9f2e84b24886b8384038fbd04f77b17af
base/latexrelease.dtx | 28 ++++++++++++++++++++++++----
base/ltclass.dtx | 19 +++++++++----------
base/ltvers.dtx | 2 +-
3 files changed, 34 insertions(+), 15 deletions(-)
diff --git a/base/latexrelease.dtx b/base/latexrelease.dtx
index 3a129e9..02194ce 100644
--- a/base/latexrelease.dtx
+++ b/base/latexrelease.dtx
@@ -40,7 +40,7 @@
%<*!fixltx2e>
% \fi
% \ProvidesFile{latexrelease.dtx}
- [2018/02/18 v1.0j LaTeX release emulation and tests
+ [2018/05/08 v1.0k LaTeX release emulation and tests
(including releases up to \latexreleaseversion)]
% \iffalse
%</!fixltx2e>
@@ -108,6 +108,12 @@
% the commands defined here to adjust their definitions to the
% specified date as described below.
%
+% Note that the \Lpack{latexrelease} package is intended for use
+% at the start of a \emph{document}. Package and class code should not
+% include this package as loading a package should not normally globally
+% reset the effective version of \LaTeX\ that is in force, so affecting all
+% other packages used in the document.
+%
%
% The bulk of this package, after some initial setup and option
% handling consists of a series of |\IncludeInRelease| commands
@@ -123,16 +129,27 @@
% package has no information will generate a warning. Dates
% earlier than 2015 will work but will roll back to some point in 2015
% when the method was introduced.
+% |\IncludeInRelease| command is defined.
+% The |\requestedLaTeXdate| is set to the normalized date argument
+% so that package rollback defaults to the specified date.
%
% \item%
% |current| This is the default behaviour, it does not change the
% effective date of the format but does ensure that the
% |\IncludeInRelease| command is defined.
+% the |\requestedLaTeXdate| is reset to 0 so that package rollback
+% does not use the implicit date.
+% |\IncludeInRelease| command is defined.
+% The |\requestedLaTeXdate| macro is reset to 0 so that package rollback
+% does not use the implicit date.
%
% \item
% |latest| sets the effective date of the format to the release date
% of this file, so in an older format applies all patches currently
% available.
+% |\IncludeInRelease| command is defined.
+% The |\requestedLaTeXdate| macro is reset to 0 so that package rollback
+% does not use the implicit date.
% \end{itemize}
%
%
@@ -379,18 +396,21 @@
% \end{macro}
%
% \changes{v1.0c}{2015/02/19}{Swap argument order}
+% \changes{v1.0k}{2018/05/08}{reset \cs{\requestedLaTeXdate} for current and latest options, gitub issue 43}
% \begin{macrocode}
\DeclareOption*{%
\def\@IncludeInRelease#1[#2]{\@IncludeInRele at se{#1}}%
\let\requestedpatchdate\CurrentOption}
\DeclareOption{latest}{%
- \let\requestedpatchdate\latexreleaseversion}
+ \let\requestedpatchdate\latexreleaseversion
+ \AtEndOfPackage{\def\requestedLaTeXdate{0}}}
\DeclareOption{current}{%
- \let\requestedpatchdate\fmtversion}
+ \let\requestedpatchdate\fmtversion
+ \AtEndOfPackage{\def\requestedLaTeXdate{0}}}
% \end{macrocode}
%
% \begin{macrocode}
-\ExecuteOptions{current}
+\let\requestedpatchdate\fmtversion
\ProcessOptions\relax
% \end{macrocode}
%
diff --git a/base/ltclass.dtx b/base/ltclass.dtx
index 63c66a1..199d839 100644
--- a/base/ltclass.dtx
+++ b/base/ltclass.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2018/04/10 v1.2h LaTeX Kernel (Class & Package Interface)]
+ [2018/05/08 v1.2i LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -2144,18 +2144,17 @@
% \end{macrocode}
% If the min-date is after the requested rollback date (if there is
% any, i.e., if it is not zero) then we have a conflict and
-% therefore issue an error.
+% therefore issue a warning.
+% \changes{v1.2i}{2018/05/08}
+% {Make suspicious rollback a warning not error: github issue 43}
% \begin{macrocode}
\ifnum \pkgcls at targetdate > \z@
\ifnum \@parse at version0#1//00\@nil > \pkgcls at targetdate
- \@latex at error{Suspicious rollback/min-date date given}%
- {There is a minimal date of #1 specified for
- \@cls at pkg\space'\pkgcls at name'.\MessageBreak
+ \@latex at warning@no at line{Suspicious rollback/min-date date given\MessageBreak
+ A minimal date of #1 has been specified for
+ \@cls at pkg\MessageBreak '\pkgcls at name'.\MessageBreak
But this is in conflict
- with a rollback request to \requestedpatchdate,
- so something\MessageBreak
- is wrong here. Continue and I
- ignore the minimal date request.}%
+ with a rollback request to \requestedpatchdate}
\fi
\fi
\fi
@@ -2295,7 +2294,7 @@
% We then set the |\pkgcls at targetdate| to zero so that any
% |\DeclareRelease| or |\DeclareCurrentRelease| in the file we
% now load are bypassed\footnote{The older release may also have
-% such declarations inside if it was a simply copy od the
+% such declarations inside if it was a simply copy of the
% \texttt{.sty} or \texttt{.cls} file current at that
% date. Removing these declarations would make the file load a tiny
% bit faster, but this way it works in any case.} and then we
diff --git a/base/ltvers.dtx b/base/ltvers.dtx
index 05f2361..351e838 100644
--- a/base/ltvers.dtx
+++ b/base/ltvers.dtx
@@ -115,7 +115,7 @@
{2018-04-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch at level{4}
+\def\patch at level{-5}
% \end{macrocode}
% \end{macro}
% \end{macro}
More information about the latex3-commits
mailing list