[latex3-commits] [git/LaTeX3-latex3-latex2e] versioning: move new versioning code unconditionally also in latexrelease (without getting ito a loop :-) small test file changes, more tests (967884c)
Frank Mittelbach
frank.mittelbach at latex-project.org
Wed Feb 21 17:05:33 CET 2018
Repository : https://github.com/latex3/latex2e
On branch : versioning
Link : https://github.com/latex3/latex2e/commit/967884c1e00587bd28c8038bfacf9a4fba667534
>---------------------------------------------------------------
commit 967884c1e00587bd28c8038bfacf9a4fba667534
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date: Wed Feb 21 17:05:33 2018 +0100
move new versioning code unconditionally also in latexrelease (without getting ito a loop :-)
small test file changes, more tests
>---------------------------------------------------------------
967884c1e00587bd28c8038bfacf9a4fba667534
.gitignore | 1 +
base/latexrelease.ins | 4 +-
base/ltclass.dtx | 30 ++-
base/testfiles/tlb-rollback-001.lvt | 8 +-
base/testfiles/tlb-rollback-002.lvt | 3 -
base/testfiles/tlb-rollback-003.luatex.tlg | 215 ++++++++++++++++++++
.../{tlb-rollback-002.lvt => tlb-rollback-003.lvt} | 32 +--
base/testfiles/tlb-rollback-003.tlg | 214 +++++++++++++++++++
8 files changed, 473 insertions(+), 34 deletions(-)
diff --git a/.gitignore b/.gitignore
index f2b5da4..d864e1d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ build/
*.*~
*.*#
+*.aux
diff --git a/base/latexrelease.ins b/base/latexrelease.ins
index 3253b9f..3cab6b8 100644
--- a/base/latexrelease.ins
+++ b/base/latexrelease.ins
@@ -48,7 +48,7 @@ reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright 1993-2018
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -82,7 +82,7 @@ extension .ins) which are part of the distribution.
\usedir{tex/latex/base}
\generateFile{latexrelease.sty}{t}{%
- \from{ltclass.dtx} {isodate}%
+ \from{ltclass.dtx} {latexreleasefirst,tracerollback}%
\from{ltvers.dtx} {latexrelease}%
\from{latexrelease.dtx}{latexrelease}%
\from{ltdirchk.dtx} {latexrelease}%
diff --git a/base/ltclass.dtx b/base/ltclass.dtx
index 0b271a8..d8e1879 100644
--- a/base/ltclass.dtx
+++ b/base/ltclass.dtx
@@ -662,7 +662,7 @@
% {add \cs{@parse at version@dash} to support yyyy-mm-dd as well as yyyy/mm/dd }
% \begin{macrocode}
%</2ekernel>
-%<*2ekernel|isodate>
+%<*2ekernel|latexreleasefirst>
\def\@parse at version#1/#2/#3#4#5\@nil{%
\@parse at version@dash#1-#2-#3#4\@nil
}
@@ -672,7 +672,7 @@
% \begin{macrocode}
\def\@parse at version@dash#1-#2-#3#4#5\@nil{%
\if\relax#2\relax\else#1\fi#2#3#4 }
-%</2ekernel|isodate>
+%</2ekernel|latexreleasefirst>
%<*2ekernel>
% \end{macrocode}
% \end{macro}
@@ -1843,6 +1843,12 @@
% \section{Package/class rollback mechanism}
%
%
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexreleasefirst>
+% \end{macrocode}
+%
% \changes{v1.2d}{2018/02/18}{Introduce rollback concept}
%
% \begin{macro}{\pkgcls at debug}
@@ -1883,7 +1889,9 @@
% rollback request.
%
% \begin{macrocode}
-\newcount\pkgcls at targetdate
+\ifx\pkgcls at targetdate\@undefined
+ \newcount\pkgcls at targetdate
+\fi
\let\pkgcls at targetlabel\@empty
% \end{macrocode}
% \end{macro}
@@ -1916,11 +1924,12 @@
% To make things easy we save the old definition as
% |\load at onefilewithoptions| and then provide a new interface.
% \begin{macrocode}
-\let\load at onefilewithoptions\@onefilewithoptions
+\ifx\load at onefilewithoptions\@undefined
+ \let\load at onefilewithoptions\@onefilewithoptions
% \end{macrocode}
%
% \begin{macrocode}
-\def\@onefilewithoptions#1[#2][#3]#4{%
+ \def\@onefilewithoptions#1[#2][#3]#4{%
% \end{macrocode}
% First a bit of tracing normally disabled.
% \begin{macrocode}
@@ -1955,7 +1964,8 @@
% pass on |\pkgcls at mindate|.
% \begin{macrocode}
\load at onefilewithoptions#1[#2][\pkgcls at mindate]#4%
-}
+ }
+\fi
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2122,7 +2132,7 @@
% but this is not enforced and through this argument one can
% overwrite it.
% \begin{macrocode}
-\newcommand\DeclareOldRelease[3][]{%
+\providecommand\DeclareOldRelease[3][]{%
\ifnum\pkgcls at targetdate>\z@ % some sort of rollback request
%<*tracerollback>
\pkgcls at debug{---\string\DeclareOldRelease:}%
@@ -2244,7 +2254,7 @@
\GenericInfo
{\@spaces\@spaces\space}{Rollback for
\@cls at pkg\space'\@currname' requested ->
- \ifx\pkgcls at targetlabel\@empty
+ \ifnum\pkgcls at targetdate>\@ne
date
\ifnum\requestedLaTeXdate=\pkgcls at targetdate
\requestedpatchdate
@@ -2291,7 +2301,7 @@
% This declares the date (and possible name) of the current version
% of a package or class.
% \begin{macrocode}
-\newcommand\DeclareCurrentRelease[2][]{%
+\providecommand\DeclareCurrentRelease[2][]{%
% \end{macrocode}
% First we test if |\pkgcls at targetdate| is greater than zero,
% otherwise this code is bypassed (as there is no rollback request).
@@ -2355,7 +2365,7 @@
% \end{macro}
%
% \begin{macrocode}
-%</2ekernel>
+%</2ekernel|latexreleasefirst>
% \end{macrocode}
%
%
diff --git a/base/testfiles/tlb-rollback-001.lvt b/base/testfiles/tlb-rollback-001.lvt
index 2263868..8e6c1d6 100644
--- a/base/testfiles/tlb-rollback-001.lvt
+++ b/base/testfiles/tlb-rollback-001.lvt
@@ -19,7 +19,6 @@
\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
\ProcessOptions
\typeout{This is the current testpkg! }
-% allow repeated loading (for testing)
\end{filecontents}
\begin{filecontents}{testpkg-2014-01-01.sty}
@@ -28,7 +27,6 @@
\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
\ProcessOptions
\typeout{This is testpkg 2014-01-01!}
-% allow repeated loading (for testing)
\end{filecontents}
\begin{filecontents}{testpkg-2018-10-01.sty}
@@ -39,7 +37,6 @@
\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
\ProcessOptions
\typeout{This is testpkg 2018-10-01!}
-% allow repeated loading (for testing)
\end{filecontents}
% ======================================================
@@ -120,6 +117,11 @@
\OMIT
\RequirePackage[2018-12-24]{latexrelease}
+% latex release might have set that back to \@gobble:
+\makeatletter
+\let\pkgcls at debug\typeout % more output in the tests
+\makeatother
+
\TIMO
% no local rollback
diff --git a/base/testfiles/tlb-rollback-002.lvt b/base/testfiles/tlb-rollback-002.lvt
index 4cbb232..7b31ab2 100644
--- a/base/testfiles/tlb-rollback-002.lvt
+++ b/base/testfiles/tlb-rollback-002.lvt
@@ -20,7 +20,6 @@
\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
\ProcessOptions
\typeout{This is the current testpkg! }
-% allow repeated loading (for testing)
\end{filecontents}
\begin{filecontents}{testpkg-2014-01-01.sty}
@@ -29,7 +28,6 @@
\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
\ProcessOptions
\typeout{This is testpkg 2014-01-01!}
-% allow repeated loading (for testing)
\end{filecontents}
\begin{filecontents}{testpkg-2018-10-01.sty}
@@ -40,7 +38,6 @@
\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
\ProcessOptions
\typeout{This is testpkg 2018-10-01!}
-% allow repeated loading (for testing)
\end{filecontents}
% ======================================================
diff --git a/base/testfiles/tlb-rollback-003.luatex.tlg b/base/testfiles/tlb-rollback-003.luatex.tlg
new file mode 100644
index 0000000..a67cc47
--- /dev/null
+++ b/base/testfiles/tlb-rollback-003.luatex.tlg
@@ -0,0 +1,215 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+--- File loaded request (\usepackage or ...)
+ 1: article
+ 2:
+ 3:
+ 4: cls
+(article.cls
+(size10.clo
+)
+\c at part=\count...
+\c at section=\count...
+\c at subsection=\count...
+\c at subsubsection=\count...
+\c at paragraph=\count...
+\c at subparagraph=\count...
+\c at figure=\count...
+\c at table=\count...
+\abovecaptionskip=\skip...
+\belowcaptionskip=\skip...
+\bibindent=\dimen...
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: around 2016
+ 4: sty
+(testpkg.sty
+Package: testpkg 2019-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg!
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: what to use?
+ 4: sty
+(testpkg.sty
+Package: testpkg 2019-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg!
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: =2016
+ 4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+ 1: v1
+ 2: 2014-01-01
+ 3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+ 1: v2
+ 2: 2018/10-01
+ 3: testpkg-2018-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2019-07-01
+! LaTeX Error: Requested version '2016' for package 'testpkg' is unknown.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\DeclareCurrentRelease[v3]{2019-07-01}
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+Package: testpkg 2019-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg!
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: =some-time
+ 4: sty
+! LaTeX Error: Missing \begin{document}.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\usepackage[dvips]{testpkg}[=some-time]
+ % dies
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+(testpkg.sty
+---\DeclareOldRelease:
+ 1: v1
+ 2: 2014-01-01
+ 3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+ 1: v2
+ 2: 2018/10-01
+ 3: testpkg-2018-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2019-07-01
+! LaTeX Error: Requested version 'some-time' for package 'testpkg' is unknown.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\DeclareCurrentRelease[v3]{2019-07-01}
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+Package: testpkg 2019-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg!
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: =some/release
+ 4: sty
+! LaTeX Error: Missing \begin{document}.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\usepackage[dvips]{testpkg}[=some/release]
+ % dies too
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+(testpkg.sty
+---\DeclareOldRelease:
+ 1: v1
+ 2: 2014-01-01
+ 3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+ 1: v2
+ 2: 2018/10-01
+ 3: testpkg-2018-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2019-07-01
+! LaTeX Error: Requested version 'some/release' for package 'testpkg' is unknow
+n.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\DeclareCurrentRelease[v3]{2019-07-01}
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+Package: testpkg 2019-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg!
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: =2017-01
+ 4: sty
+! LaTeX Error: Missing \begin{document}.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\usepackage[dvips]{testpkg}[=2017-01]
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+(testpkg.sty
+---\DeclareOldRelease:
+ 1: v1
+ 2: 2014-01-01
+ 3: testpkg-2014-01-01
+! LaTeX Error: Suspicious rollback date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ......ldRelease[v1]{2014-01-01}{testpkg-2014-01-01}
+The package 'testpkg' claims that it came into existence on 2014-01-01 which
+is after your requested rollback date --- so something is wrong here.
+Continue and we use the earliest known release.
+Result: use testpkg-2014-01-01
+Rollback for package 'testpkg' requested -> date 2017-01.
+ Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: =2017/02
+ 4: sty
+! LaTeX Error: Missing \begin{document}.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\usepackage[dvips]{testpkg}[=2017/02]
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+(testpkg.sty
+---\DeclareOldRelease:
+ 1: v1
+ 2: 2014-01-01
+ 3: testpkg-2014-01-01
+! LaTeX Error: Suspicious rollback date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ......ldRelease[v1]{2014-01-01}{testpkg-2014-01-01}
+The package 'testpkg' claims that it came into existence on 2014-01-01 which
+is after your requested rollback date --- so something is wrong here.
+Continue and we use the earliest known release.
+Result: use testpkg-2014-01-01
+Rollback for package 'testpkg' requested -> date 2017/02.
+ Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
diff --git a/base/testfiles/tlb-rollback-002.lvt b/base/testfiles/tlb-rollback-003.lvt
similarity index 76%
copy from base/testfiles/tlb-rollback-002.lvt
copy to base/testfiles/tlb-rollback-003.lvt
index 4cbb232..1a39ed0 100644
--- a/base/testfiles/tlb-rollback-002.lvt
+++ b/base/testfiles/tlb-rollback-003.lvt
@@ -1,7 +1,7 @@
%
% Check that the rollback mechanism works
%
-% we pretend our package is partly in the future (as we have 2018/02 right now)
+% testing various errors
%
% in this test we request a latexrelease that doesn't know about versions ...
%
@@ -10,7 +10,7 @@
\begin{filecontents}{testpkg.sty}
% The current package ...
\DeclareOldRelease[v1]{2014-01-01}{testpkg-2014-01-01}
-\DeclareOldRelease[v2]{2018-10-01}{testpkg-2018-10-01}
+\DeclareOldRelease[v2]{2018/10-01}{testpkg-2018-10-01}
\DeclareCurrentRelease[v3]{2019-07-01}
\ProvidesPackage{testpkg}[2019-07-21 v3.5 test package] % this has a
@@ -20,7 +20,6 @@
\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
\ProcessOptions
\typeout{This is the current testpkg! }
-% allow repeated loading (for testing)
\end{filecontents}
\begin{filecontents}{testpkg-2014-01-01.sty}
@@ -29,7 +28,6 @@
\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
\ProcessOptions
\typeout{This is testpkg 2014-01-01!}
-% allow repeated loading (for testing)
\end{filecontents}
\begin{filecontents}{testpkg-2018-10-01.sty}
@@ -40,7 +38,6 @@
\DeclareOption{dvips}{\typeout{ -> option dvips executed}}
\ProcessOptions
\typeout{This is testpkg 2018-10-01!}
-% allow repeated loading (for testing)
\end{filecontents}
% ======================================================
@@ -62,27 +59,30 @@
\expandafter\let\csname ver at testpkg.sty\endcsname\relax
}
-\OMIT
-\RequirePackage[2016-01-01]{latexrelease}
-\TIMO
-
%%% TESTS %%%%
% no local rollback
\ForgetAboutTestpkg
-\usepackage[dvips]{testpkg}
+\usepackage[dvips]{testpkg}[around 2016]
+
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[what to use?]
+
+
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=2016]
+
+\ForgetAboutTestpkg
+\usepackage[dvips]{testpkg}[=some-time] % dies
-% mindate request (conflict with latexrelease)
\ForgetAboutTestpkg
-\RequirePackage[dvips]{testpkg}[2018-05-05]
+\usepackage[dvips]{testpkg}[=some/release] % dies too
-% later rollback for this package
\ForgetAboutTestpkg
-\RequirePackage[dvips]{testpkg}[=2018-11-05]
+\usepackage[dvips]{testpkg}[=2017-01]
-% name request current
\ForgetAboutTestpkg
-\usepackage[]{testpkg}[=v3]
+\usepackage[dvips]{testpkg}[=2017/02]
\END
diff --git a/base/testfiles/tlb-rollback-003.tlg b/base/testfiles/tlb-rollback-003.tlg
new file mode 100644
index 0000000..b8a2dc3
--- /dev/null
+++ b/base/testfiles/tlb-rollback-003.tlg
@@ -0,0 +1,214 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+--- File loaded request (\usepackage or ...)
+ 1: article
+ 2:
+ 3:
+ 4: cls
+(article.cls
+(size10.clo
+)
+\c at part=\count...
+\c at section=\count...
+\c at subsection=\count...
+\c at subsubsection=\count...
+\c at paragraph=\count...
+\c at subparagraph=\count...
+\c at figure=\count...
+\c at table=\count...
+\abovecaptionskip=\skip...
+\belowcaptionskip=\skip...
+\bibindent=\dimen...
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: around 2016
+ 4: sty
+(testpkg.sty
+Package: testpkg 2019-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg!
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: what to use?
+ 4: sty
+(testpkg.sty
+Package: testpkg 2019-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg!
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: =2016
+ 4: sty
+(testpkg.sty
+---\DeclareOldRelease:
+ 1: v1
+ 2: 2014-01-01
+ 3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+ 1: v2
+ 2: 2018-10-01
+ 3: testpkg-2018-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2019-07-01
+! LaTeX Error: Requested version '2016' for package 'testpkg' is unknown.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\DeclareCurrentRelease[v3]{2019-07-01}
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+Package: testpkg 2019-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg!
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: =some-time
+ 4: sty
+! LaTeX Error: Missing \begin{document}.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\usepackage[dvips]{testpkg}[=some-time]
+ % dies
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+(testpkg.sty
+---\DeclareOldRelease:
+ 1: v1
+ 2: 2014-01-01
+ 3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+ 1: v2
+ 2: 2018-10-01
+ 3: testpkg-2018-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2019-07-01
+! LaTeX Error: Requested version 'some-time' for package 'testpkg' is unknown.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\DeclareCurrentRelease[v3]{2019-07-01}
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+Package: testpkg 2019-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg!
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: =some/release
+ 4: sty
+! LaTeX Error: Missing \begin{document}.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\usepackage[dvips]{testpkg}[=some/release]
+ % dies too
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+(testpkg.sty
+---\DeclareOldRelease:
+ 1: v1
+ 2: 2014-01-01
+ 3: testpkg-2014-01-01
+Label doesn't match
+---\DeclareOldRelease:
+ 1: v2
+ 2: 2018-10-01
+ 3: testpkg-2018-10-01
+Label doesn't match
+---DeclareCurrentRelease
+ 1: v3
+ 2: 2019-07-01
+! LaTeX Error: Requested version 'some/release' for package 'testpkg' is unknown.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\DeclareCurrentRelease[v3]{2019-07-01}
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+Package: testpkg 2019-07-21 v3.5 test package
+ -> option dvips executed
+This is the current testpkg!
+)
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: =2017-01
+ 4: sty
+! LaTeX Error: Missing \begin{document}.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\usepackage[dvips]{testpkg}[=2017-01]
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+(testpkg.sty
+---\DeclareOldRelease:
+ 1: v1
+ 2: 2014-01-01
+ 3: testpkg-2014-01-01
+! LaTeX Error: Suspicious rollback date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ......Release[v1]{2014-01-01}{testpkg-2014-01-01}
+The package 'testpkg' claims that it came into existence on 2014-01-01 which
+is after your requested rollback date --- so something is wrong here.
+Continue and we use the earliest known release.
+Result: use testpkg-2014-01-01
+Rollback for package 'testpkg' requested -> date 2017-01.
+ Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
+--- File loaded request (\usepackage or ...)
+ 1: testpkg
+ 2: dvips
+ 3: =2017/02
+ 4: sty
+! LaTeX Error: Missing \begin{document}.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ...\usepackage[dvips]{testpkg}[=2017/02]
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+(testpkg.sty
+---\DeclareOldRelease:
+ 1: v1
+ 2: 2014-01-01
+ 3: testpkg-2014-01-01
+! LaTeX Error: Suspicious rollback date given.
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+l. ......Release[v1]{2014-01-01}{testpkg-2014-01-01}
+The package 'testpkg' claims that it came into existence on 2014-01-01 which
+is after your requested rollback date --- so something is wrong here.
+Continue and we use the earliest known release.
+Result: use testpkg-2014-01-01
+Rollback for package 'testpkg' requested -> date 2017/02.
+ Best approximation is the release introduced on 2014-01-01.
+(testpkg-2014-01-01.sty
+Package: testpkg 2014-01-01 v1.2 test package
+ -> option dvips executed
+This is testpkg 2014-01-01!
+))
More information about the latex3-commits
mailing list