[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