From 588be4d1b7e254f46ac3c678ef1b3f38833f6491 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Fri, 6 Apr 2018 21:33:45 +0000
Subject: latex2e (6apr18)

git-svn-id: svn://tug.org/texlive/trunk@47330 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/source/latex/base/ltvers.dtx | 63 +++++++++++++++++++++++---
 1 file changed, 56 insertions(+), 7 deletions(-)

(limited to 'Master/texmf-dist/source/latex/base/ltvers.dtx')

diff --git a/Master/texmf-dist/source/latex/base/ltvers.dtx b/Master/texmf-dist/source/latex/base/ltvers.dtx
index fb94e4c9d8f..6860fd1e3b5 100644
--- a/Master/texmf-dist/source/latex/base/ltvers.dtx
+++ b/Master/texmf-dist/source/latex/base/ltvers.dtx
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright 1993-2016
+% Copyright 1993-2018
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -11,7 +11,7 @@
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
-%    http://www.latex-project.org/lppl.txt
+%    https://www.latex-project.org/lppl.txt
 % and version 1.3c or later is part of all distributions of LaTeX
 % version 2005/12/01 or later.
 %
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltvers.dtx}
-             [2016/06/20 v1.0w LaTeX Kernel (Version Info)]
+             [2018/03/16 v1.1a LaTeX Kernel (Version Info)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltvers.dtx}
@@ -84,7 +84,27 @@
 %
 % \begin{macro}{\fmtname}
 % \begin{macro}{\fmtversion}
+% \begin{macro}{\latexreleaseversion}
 % \begin{macro}{\patch@level}
+%    A |\patch@level| of \texttt{0} or higher denotes an official
+%    public release. A negative value indicates a candidate release
+%    that is not distributed.
+%
+%    If we put code updates into the kernel that are supposed to go
+%    into the next release we set the |\patch@level| to \texttt{-1}
+%    and the |\fmtversion| / |\latexreleaseversion| to  the dated of
+%    the next release (guessed, the real value is not so important and
+%    will get corrected when we make the release official).
+%
+%    If the |\patch@level| is already at \texttt{-1} we do nothing
+%    here and use the |\fmtversion| date for  any new|\IncludeInRelease|
+%    line when we add further code.
+%
+%    Finally, if we do make a public release we either just set the
+%    |\patch@level| to zero (if our initial guess was good) or we also
+%    change the date and then have to additionally change to that date
+%    on all the |\IncludeInRelease| statements that used the
+%    ``guessed'' date.
 %    \begin{macrocode}
 %<*2ekernel>
 \def\fmtname{LaTeX2e}
@@ -92,7 +112,7 @@
 %</2ekernel>
 %<latexrelease>\edef\latexreleaseversion
 %<*2ekernel|latexrelease>
-   {2017-04-15}
+   {2018-04-01}
 %</2ekernel|latexrelease>
 %<*2ekernel>
 \def\patch@level{0}
@@ -100,6 +120,7 @@
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % Check that the format being made is not too old.
 % The error message complains about `more than 5 years'
@@ -180,7 +201,16 @@
 %
 %    \begin{macrocode}
 %<*2ekernel|latexrelease>
-\def\IncludeInRelease#1{\kernel@ifnextchar[%
+%<latexrelease>\newif\if@includeinrelease
+%<latexrelease>\@includeinreleasefalse
+%    \end{macrocode}
+%    \begin{macrocode}
+\def\IncludeInRelease#1{%
+ \if@includeinrelease
+  \PackageError{latexrelease}{mis-matched IncludeInRelease}{}%
+  \@includeinreleasefalse
+  \fi
+  \kernel@ifnextchar[%
   {\@IncludeInRelease{#1}}
   {\@IncludeInRelease{#1}[#1]}}
 %    \end{macrocode}
@@ -201,6 +231,7 @@
      \expandafter\expandafter\expandafter\@gobble@IncludeInRelease
     \else
       \GenericInfo{}{Applying: \the\toks@}%
+      \@includeinreleasetrue
       \expandafter\let\csname\string#2+\@currname+IIR\endcsname\@empty
     \fi
   \else
@@ -211,8 +242,26 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\long\def\@gobble@IncludeInRelease#1\EndIncludeInRelease{}
-\let\EndIncludeInRelease\relax
+\def\EndIncludeInRelease{%
+\if@includeinrelease
+  \@includeinreleasefalse
+\else
+  \PackageError{latexrelease}{mis-matched EndIncludeInRelease}{}%
+\fi}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\long\def\@gobble@IncludeInRelease#1\EndIncludeInRelease{%
+  \@includeinreleasefalse
+  \@check@IncludeInRelease#1\IncludeInRelease\@check@IncludeInRelease
+  \@end@check@IncludeInRelease}
+%    \end{macrocode}
+%    \begin{macrocode}
+\long\def\@check@IncludeInRelease#1\IncludeInRelease
+                                   #2#3\@end@check@IncludeInRelease{%
+  \ifx\@check@IncludeInRelease#2\else
+    \PackageError{latexrelease}{skipped IncludeInRelease}{}%
+  \fi}
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-- 
cgit v1.2.3

