diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex | 66 |
1 files changed, 62 insertions, 4 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex b/Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex index 58fa5b0ef74..456e3b0c2db 100644 --- a/Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex @@ -44,9 +44,12 @@ \edef\pgfrcsatcode{\the\catcode`\@} \catcode`\@=11 - % not used in PGF, deprecated -\def\ProvidesFileRCS#1{% +\def\ProvidesFileRCS{% + \let\pgfrcs@final=\ProvidesFileRCS@ + \pgfrcs@parseinput +} +\def\ProvidesFileRCS@#1{% \ProvidesFile{#1}[\pgfversiondate\space v\pgfversion\space(\pgfrevision)]% } @@ -54,19 +57,74 @@ \def\pgfretval{#1}% }% -\def\ProvidesPackageRCS#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#1{% +\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.}} |