Update LuaTeX testfiles for ^@ change
[latex2e.git] / latex2e-20170101 / base / ltvers.dtx
blobeca641bbe4a3dc1deaaf9bef4730d78be77880d5
1 % \iffalse meta-comment
3 % Copyright 1993-2016
4 % The LaTeX3 Project and any individual authors listed elsewhere
5 % in this file.
7 % This file is part of the LaTeX base system.
8 % -------------------------------------------
10 % It may be distributed and/or modified under the
11 % conditions of the LaTeX Project Public License, either version 1.3c
12 % of this license or (at your option) any later version.
13 % The latest version of this license is in
14 %    http://www.latex-project.org/lppl.txt
15 % and version 1.3c or later is part of all distributions of LaTeX
16 % version 2005/12/01 or later.
18 % This file has the LPPL maintenance status "maintained".
20 % The list of all files belonging to the LaTeX base distribution is
21 % given in the file `manifest.txt'. See also `legal.txt' for additional
22 % information.
24 % The list of derived (unpacked) files belonging to the distribution
25 % and covered by LPPL is defined by the unpacking scripts (with
26 % extension .ins) which are part of the distribution.
28 % \fi
30 % \iffalse
31 %%% From File: ltvers.dtx
33 %<*driver>
34 % \fi
35 \ProvidesFile{ltvers.dtx}
36              [2016/06/20 v1.0w LaTeX Kernel (Version Info)]
37 % \iffalse
38 \documentclass{ltxdoc}
39 \GetFileInfo{ltvers.dtx}
40 \title{\filename}
41 \date{\filedate}
42  \author{%
43   Johannes Braams\and
44   David Carlisle\and
45   Alan Jeffrey\and
46   Leslie Lamport\and
47   Frank Mittelbach\and
48   Chris Rowley\and
49   Rainer Sch\"opf}
50 \begin{document}
51  \MaintainedByLaTeXTeam{latex}
52  \maketitle
53  \DocInput{\filename}
54 \end{document}
55 %</driver>
56 % \fi
59 % \section{Version Identification}
60 % First we identify the date and version number of this release of
61 % \LaTeX, and set |\everyjob| so that it is printed at the start of
62 % every \LaTeX\ run.
64 % \StopEventually{}
66 % \changes{v1.0g}{1996/11/28}
67 %     {Check for old format modified /2319}
68 % \changes{v1.0f}{1996/11/20}
69 %     {Check for old format modified /2319}
70 % \changes{v1.0e}{1995/05/12}
71 %     {Add autoload docstrip guards}
72 % \changes{v1.0e}{1995/05/12}
73 %     {Check for format older than 1 year}
74 % \changes{v1.0d}{1994/05/25}
75 %     {Remove PRELIMINARY TEST RELEASE from startup banner
76 %      (spring is here)}
77 % \changes{v1.0b}{1994/04/12}
78 %     {Have version info generated automatically.}
79 % \changes{v1.0a}{1994/03/04}
80 %     {Initial version, split from latex.dtx}
81 % \changes{v1.0r}{2015/02/21}{Removed autoload code}
82 % \changes{v1.0t}{2015/06/23}
83 %     {set \cs{patch@level} in ltvers rather than in ltfinal/ltpatch}
85 % \begin{macro}{\fmtname}
86 % \begin{macro}{\fmtversion}
87 % \begin{macro}{\patch@level}
88 %    \begin{macrocode}
89 %<*2ekernel>
90 \def\fmtname{LaTeX2e}
91 \edef\fmtversion
92 %</2ekernel>
93 %<latexrelease>\edef\latexreleaseversion
94 %<*2ekernel|latexrelease>
95    {2017/01/01}
96 %</2ekernel|latexrelease>
97 %<*2ekernel>
98 \def\patch@level{4}
99 %    \end{macrocode}
100 % \end{macro}
101 % \end{macro}
102 % \end{macro}
104 % Check that the format being made is not too old.
105 % The error message complains about `more than 5 years'
106 % but in fact the error is not triggered until 65 months.
108 % This code is currently not activated as we don't know if we already
109 % got to the last official 2e version (due to staff shortage or due to
110 % a successor (think positive:-)).
111 % \changes{v1.0i}{2001/06/04}{Check for old format disabled}
112 % \changes{v1.0k}{2004/01/28}{Check for old format made 5 years (pr/3601)}
113 % \changes{v1.0l}{2009/09/24}{Stop checking for old format}
114 %    \begin{macrocode}
115 \iffalse
116 \def\reserved@a#1/#2/#3\@nil{%
117   \count@\year
118   \advance\count@-#1\relax
119   \multiply\count@ by 12\relax
120   \advance\count@\month
121   \advance\count@-#2\relax}
122 \expandafter\reserved@a\fmtversion\@nil
123 %    \end{macrocode}
124 % |\count@| is now the age of this file in months. Take a generous
125 % definition of `year' so this message is not generated too often.
126 %    \begin{macrocode}
127 \ifnum\count@>65
128   \typeout{^^J%
129 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J%
130 !  You are attempting to make a LaTeX format from a source file^^J%
131 !  That is more than five years old.^^J%
132 !^^J%
133 !  If you enter <return> to scroll past this message then the format^^J%
134 !  will be built, but please consider obtaining newer source files^^J%
135 !  before continuing to build LaTeX.^^J%
136 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J%
138    \errhelp{To avoid this error message, obtain new LaTeX sources.}
139    \errmessage{LaTeX source files more than 5 years old!}
141 \let\reserved@a\relax
143 %    \end{macrocode}
145 % \changes{v1.0p}{2015/01/22}{Preserve any \cs{everyjob} material inserted
146 %   by a loader (\texttt{.ini} file)}
147 % \changes{v1.0v}{2015/08/23}{Allow negative patchlevel for pre-release}
148 %    \begin{macrocode}
149   \ifnum\patch@level=0
150     \everyjob\expandafter{\the\everyjob
151       \typeout{\fmtname \space<\fmtversion>}}
152     \immediate
153     \write16{\fmtname \space<\fmtversion>}
154   \else\ifnum\patch@level>0
155     \everyjob\expandafter{\the\everyjob
156       \typeout{\fmtname \space<\fmtversion> patch level \patch@level}}
157     \immediate
158     \write16{\fmtname \space<\fmtversion> patch level \patch@level}
159   \else
160     \everyjob\expandafter{\the\everyjob
161       \typeout{\fmtname \space<\fmtversion> pre-release\patch@level}}
162     \immediate
163     \write16{\fmtname \space<\fmtversion> pre-release\patch@level}
164     \fi
165   \fi
166 %</2ekernel>
167 %    \end{macrocode}
169 % \begin{macro}{\IncludeInRelease}
170 % \changes{v1.0w}{2015/02/21}
171 %         {set \cs{@currname} empty here (in case \cs{IncludeInRelease} input early)}
172 %    \begin{macrocode}
173 %<2ekernel>\let\@currname\@empty
174 %    \end{macrocode}
176 % \changes{v1.0n}{2015/01/07}{macro added}
177 % \changes{v1.0m}{2015/01/17}{modified with \cs{@currname}}
178 % \changes{v1.0o}{2015/01/19}{Optional argument}
179 % \changes{v1.0q}{2015/02/19}{Swap argument order}
181 %    \begin{macrocode}
182 %<*2ekernel|latexrelease>
183 \def\IncludeInRelease#1{\kernel@ifnextchar[%
184   {\@IncludeInRelease{#1}}
185   {\@IncludeInRelease{#1}[#1]}}
186 %    \end{macrocode}
188 % If a specific date has not been specified in |latexrelease|
189 % use `|#1|`. 
190 %    \begin{macrocode}
191 \def\@IncludeInRelease#1[#2]{\@IncludeInRele@se{#2}}
192 %    \end{macrocode}
194 %    \begin{macrocode}
195 \def\@IncludeInRele@se#1#2#3{%
196   \toks@{[#1] #3}%
197   \expandafter\ifx\csname\string#2+\@currname+IIR\endcsname\relax
198     \ifnum\expandafter\@parse@version#1//00\@nil
199           >\expandafter\@parse@version\fmtversion//00\@nil
200       \GenericInfo{}{Skipping: \the\toks@}%
201      \expandafter\expandafter\expandafter\@gobble@IncludeInRelease
202     \else
203       \GenericInfo{}{Applying: \the\toks@}%
204       \expandafter\let\csname\string#2+\@currname+IIR\endcsname\@empty
205     \fi
206   \else
207     \GenericInfo{}{Already applied: \the\toks@}%
208     \expandafter\@gobble@IncludeInRelease
209   \fi
211 %    \end{macrocode}
213 %    \begin{macrocode}
214 \long\def\@gobble@IncludeInRelease#1\EndIncludeInRelease{}
215 \let\EndIncludeInRelease\relax
216 %    \end{macrocode}
218 %    \begin{macrocode}
219 %</2ekernel|latexrelease>
220 %    \end{macrocode}
221 % \end{macro}
222 % \Finale
224 \endinput