diff --git a/base/latexrelease.dtx b/base/latexrelease.dtx index 3a129e981..02194cee1 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 % @@ -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@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 63c66a16b..199d839ed 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@targetdate > \z@ \ifnum \@parse@version0#1//00\@nil > \pkgcls@targetdate - \@latex@error{Suspicious rollback/min-date date given}% - {There is a minimal date of #1 specified for - \@cls@pkg\space'\pkgcls@name'.\MessageBreak + \@latex@warning@no@line{Suspicious rollback/min-date date given\MessageBreak + A minimal date of #1 has been specified for + \@cls@pkg\MessageBreak '\pkgcls@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@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 05f2361b0..351e83801 100644 --- a/base/ltvers.dtx +++ b/base/ltvers.dtx @@ -115,7 +115,7 @@ {2018-04-01} % %<*2ekernel> -\def\patch@level{4} +\def\patch@level{-5} % \end{macrocode} % \end{macro} % \end{macro}