% \iffalse
%% File: l3vers.dtx Copyright (C) 1990-2005 LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
%% license or (at your option) any later version.  The latest version
%% of this license is in the file
%%
%%    http://www.latex-project.org/lppl.txt
%%
%% This file is part of the ``expl3 bundle'' (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
%% The released version of this bundle is available from CTAN.
%%
%% -----------------------------------------------------------------------
%%
%% The development version of the bundle can be found at
%%
%%    http://www.latex-project.org/cgi-bin/cvsweb.cgi/
%%
%% for those people who are interested.
%%
%%%%%%%%%%%
%% NOTE: %%
%%%%%%%%%%%
%%
%%   Snapshots taken from the repository represent work in progress and may
%%   not work or may contain conflicting material!  We therefore ask
%%   people _not_ to put them into distributions, archives, etc. without
%%   prior consultation with the LaTeX Project Team.
%%
%% -----------------------------------------------------------------------
%<package>\RequirePackage{l3names}
%<*dtx>
%\fi
\def\GetIdInfo$Id: #1.dtx #2 #3-#4-#5 #6 #7$#8{%
  \def\fileversion{#2}%
  \def\filedate{#3/#4/#5}%
  \ProvidesFile{#1.dtx}[#3/#4/#5 v#2 #8]%
}
%\iffalse
%</dtx>
%\fi
\GetIdInfo$Id: l3vers.dtx 573 2006-08-21 20:59:37Z morten $
       {L3 Experimental LaTeX format version}
%
% \iffalse
%<*driver>
\documentclass{l3doc}

\begin{document}
\DocInput{l3vers.dtx}
\end{document}
%</driver>
% \fi
%
% \section{Version Identification}
% Here we identify the date and version number of this release of
% \LaTeX3, and set |\tex_everyjob:D| so that it is printed at the start of
% every \LaTeX3 run.
%
% \StopEventually{}
%
%
% \begin{macro}{\c_format_name}
% \begin{macro}{\c_format_date}
%    \begin{macrocode}
%<*initex>
\def:Npn\c_format_name{Experimental~ LaTeX3}
\def:Npn\c_format_date{2005/12/25}
%^^A\def:Npx\c_format_version{--release--date--goes--here--}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\c_fmt_too_old}
% \begin{macro}{\chk_format_age:w}
% Check that the format being made is not too old. While in development
% it should be a rather small number.
%    \begin{macrocode}
\const_new:Nn \c_fmt_too_old{12}
\def:Npn\chk_format_age:w #1/#2/#3\q_stop{
%    \end{macrocode}
%  We just calculate the age of this file in months and give a warning
%  if deemed too old.
%    \begin{macrocode}
  \num_compare:nNnT{(\tex_year:D-#1)*12+\tex_month:D-#2}>\c_fmt_too_old
  {\iow_expanded_term:n{^^J
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J
  !~~You~are~attempting~to~make~an~experimental~LaTeX3~format~from^^J
  !~~source~files~that~are~more~than~
     \num_use:N\num_eval:n{\c_fmt_too_old}~months~old.^^J
  !^^J
  !~~If~you~enter~<return>~to~scroll~past~this~message~then~the~format^^J
  !~~will~be~built,~but~please~consider~obtaining~newer~source~files^^J
  !~~before~continuing~to~build~an~experimental~LaTeX3~format.^^J
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J
  }
  \tex_errhelp:D{
    To~avoid~this~error~message,~obtain~new~Experimental~LaTeX3~sources.}
  \tex_errmessage:D{
    Experimental~LaTeX3~source~files~are~more~than~
    \num_use:N\num_eval:n{\c_fmt_too_old}~months~old!}
  }
}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% Then we execute it.
%    \begin{macrocode}
\exp_after:NN\chk_format_age:w\c_format_date\q_stop
%    \end{macrocode}
% And since it's no longer needed we remove it again.
%    \begin{macrocode}
\cs_gundefine:N \chk_format_age:w
%    \end{macrocode}
%
% This startup banner may be further modified by the code in
% |ltfinal.dtx| if a patch file is present.
%    \begin{macrocode}
\tex_everyjob:D{\io_put_term:x{\c_format_name,~<\c_format_date>}}
\io_put_term:x{\c_format_name,~<\c_format_date>}
%</initex>
%    \end{macrocode}
%
% \endinput
%
% $Log$
% Revision 1.5  2005/12/27 15:54:15  morten
% Changed RCS information retrieval
%
% Revision 1.4  2005/04/13 09:52:47  morten
% Fix spaces in messages, make fast calculation of format age, fixed \DocInput, added \endinput
%
% Revision 1.3  2005/04/12 22:42:22  braams
% Removed a few redundant lines with docstrip instructions
%
% Revision 1.2  2005/04/11 22:46:47  braams
% Translated this file into the ltx3 lingo
% This file may need further cleanup at a later stage
%
% Revision 1.1  2005/03/11 21:26:31  braams
% File copied from 2e for now, to hold the format version identification
%
