Current File : //usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex |
% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
\ifx\eTeXrevision\undefined%
\pgfutil@packageerror{PGF}{PGF requires etex in extended mode}{}%
\csname @@end\expandafter\endcsname\expandafter\end%
\fi
\ifnum\eTeXversion<2
\pgfutil@packageerror{PGF}{PGF requires etex version 2}{}%
\csname @@end\expandafter\endcsname\expandafter\end%
\fi
% The purpose of this file is to define the command
% \ProvidesPackageRCS, which should be followed by an RCS id
% string. This command will also be available in plain TeX, where it
% prints out a message to the log.
\pgfutil@IfFileExists{pgf.revision.tex}{\input pgf.revision.tex } {%
\def\pgfrevision{0}%
\def\pgfversion{0.0}%
\def\pgfversiondatetime{2014-07-01 00:00:00 +100}%
\def\pgfrevisiondatetime{2014-07-01 00:00:00 +100}%
\def\pgfversiondate{2014/07/01}%
\def\pgfrevisiondate{2014/07/01}%
}
\begingroup
\catcode`\"=12
\pgfutil@IfUndefined{directlua}{}{%
\directlua{pgf = {}; pgf.pgfversion = "\pgfversion"}%
}%
\endgroup
% \def\pgftypesetversion{\oldstylenums{3}.\oldstylenums{0}.\oldstylenums{1}}
% XXX : implement pretty-printing:
% which is better? 'version' is something like 3.0.1 . revision is
% 3.0.1-151-g62184b3 which might be better for instable builds
%\let\pgftypesetversion=\pgfversion
\let\pgftypesetversion=\pgfrevision
\ifx\pgfrcsloaded\undefined
\def\pgfrcsloaded{}
\edef\pgfrcsatcode{\the\catcode`\@}
\catcode`\@=11
% not used in PGF, deprecated
\def\ProvidesFileRCS{%
\let\pgfrcs@final=\ProvidesFileRCS@
\pgfrcs@parseinput
}
\def\ProvidesFileRCS@#1{%
\ProvidesFile{#1}[\pgfversiondate\space v\pgfversion\space(\pgfrevision)]%
}
\def\pgf@remove@ext#1.#2\relax{%
\def\pgfretval{#1}%
}%
\def\ProvidesPackageRCS{%
\let\pgfrcs@final=\ProvidesPackageRCS@
\pgfrcs@parseinput
}
\def\ProvidesPackageRCS@#1{%
\pgf@remove@ext#1.\relax
\edef\pgfrcs@marshal{{\pgfretval}[\pgfversiondate\space v\pgfversion\space(\pgfrevision)]}%
\expandafter\ProvidesPackage\pgfrcs@marshal
}
% not used in PGF, deprecated
\def\ProvidesClassRCS{%
\let\pgfrcs@final=\ProvidesClassRCS@
\pgfrcs@parseinput
}
\def\ProvidesClassRCS@#1{%
\pgf@remove@ext#1.\relax
\edef\pgfrcs@marshal{{\pgfretval}[\pgfversiondate\space v\pgfversion\space(\pgfrevision)]}%
\expandafter\ProvidesClass\pgfrcs@marshal
}
\def\pgfrcs@parseinput@bracket{[}%
\def\pgfrcs@parseinput@dollarsign{$}%
\def\pgfrcs@parseinput#1{%
\def\pgfrcs@parseinput@{#1}%
\ifx\pgfrcs@parseinput@\pgfrcs@parseinput@bracket%
% still accept it if someone has written his own pgfrcs files with headers of sorts
% \ProvidesPackageRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcore.code.tex,v 1.7 2010/04/11 07:09:19 username Exp $
\let\next=\pgfrcs@parseinput@opt
\else
\ifx\pgfrcs@parseinput@\pgfrcs@parseinput@dollarsign
% still accept it if someone has written his own pgfrcs files with headers of sorts
% \ProvidesPackageRCS $Header: /cvsroot/pgf/pgf/generic/pgf/basiclayer/pgfcore.code.tex,v 1.7 2010/04/11 07:09:19 username Exp $
\let\next\pgfrcs@parseinput@dollar
\else
% the new, normal pgf-way is \ProvidesPackageRCS{pgfcore.code.tex}
\def\next{\pgfrcs@final{#1}}%
\fi
\fi
\next
}
\def\pgfrcs@parseinput@opt#1] ${%
% just backwards compatibility -- ignore the information, but parse the input tokens:
\pgfrcs@parseinput@dollar
}%
\def\pgfrcs@parseinput@dollar#1${%
\pgf@parseid $#1$%
% we ignore pretty much everything except for the file name:
\edef\pgfrcs@parseinput@{\pgf@rcsfile.\pgf@rcssuffix}%
\expandafter\pgfrcs@final\expandafter{\pgfrcs@parseinput@}%
}%
% Get date and version from RCS Ids
\def\pgf@parseid $#1: #2.#3,v #4 #5/#6/#7 #8${%
\pgf@parsercsfile$#2/$
\def\pgf@rcssuffix{#3}
\def\pgf@rcsrevision{#4}
\def\pgf@rcsdate{#5/#6/#7}
}
\def\pgf@parsercsfile$#1/#2${
\def\pgf@temp{#2}
\ifx\pgf@temp\pgfutil@empty
\def\pgf@rcsfile{#1}
\else
\pgf@parsercsfile$#2$
\fi}
\ifx\ProvidesPackage\@undefined
% plain tex
\def\ProvidesPackage#1[#2]{\wlog{Loading package #1 version #2.}}
\fi
\ifx\ProvidesFile\@undefined
% plain tex
\def\ProvidesFile#1[#2]{\wlog{Loading file #1 version #2.}}
\fi
\ProvidesPackageRCS{pgfrcs.code.tex}
\catcode`\@=\pgfrcsatcode
\fi
% Local Variables:
% coding: undecided-unix
% End: