summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx')
-rw-r--r--Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx62
1 files changed, 21 insertions, 41 deletions
diff --git a/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx b/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx
index 7783d57cf0c..a6b89a01cc0 100644
--- a/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx
+++ b/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx
@@ -1,5 +1,5 @@
% \iffalse meta-comment
-% Copyright (C) 2006-2009 by Martin Scharrer <martin@scharrer-online.de>
+% Copyright (C) 2006-2011 by Martin Scharrer <martin@scharrer-online.de>
% http://latex.scharrer-online.de/svn-multi/
% -----------------------------------------------------------------
%
@@ -24,13 +24,13 @@
% \fi
% \iffalse
%<*package|driver>
-% $Id: svn-multi.dtx 1914 2010-12-08 19:43:23Z martin $
+% $Id: svn-multi.dtx 2010 2011-01-03 23:11:47Z martin $
%
-\def\svnmulti@version{v2.4}
+\def\svnmulti@version{v2.4a}
\RequirePackage{svn-prov}[2010/04/14]
%</package|driver>
%<*driver>
-\ProvidesFileSVN{$Id: svn-multi.dtx 1914 2010-12-08 19:43:23Z martin $}
+\ProvidesFileSVN{$Id: svn-multi.dtx 2010 2011-01-03 23:11:47Z martin $}
[\svnmulti@version\space SVN Keywords for multi-file LaTeX documents]
\DefineFileInfoSVN[svnmulti]
\GetFileInfoSVN*
@@ -282,7 +282,7 @@
%<*package>
% \fi
%
-% \CheckSum{2849}
+% \CheckSum{2840}
%
% {\makeatother
% \CharacterTable
@@ -348,6 +348,9 @@
% Persistent data is now written to the '.aux' file, not to the '.svn' file to save a file handle.
% The 'fink' package usage got replaced by the 'currfile' and 'filehook' packages.
% }
+% \changes{v2.4a}{2011/01/03}{
+% Update for new version of the 'currfile' package.
+% }
%
% ^^A \GetFileInfo{svn-multi.dtx}
%
@@ -1391,13 +1394,13 @@
% \begin{DepPackage}{currfile}
% The file name and path information are taken from the macros of this package.
% It is from the same author and with the same license as \svnmulti\ itself.
-% \infoline{Version used:} 2010/12/06 v0.2
+% \infoline{Version used:} 2011/01/03 v0.3
% \end{DepPackage}
%
% \begin{DepPackage}{filehook}
% This package is used to install file hooks to update subversion macros for subfiles etc.
% It is from the same author and with the same license as \svnmulti\ itself.
-% \infoline{Version used:} 2010/12/06 v0.2
+% \infoline{Version used:} 2011/01/03 v0.4
% \end{DepPackage}
%
% \section{Further Reading}
@@ -1424,7 +1427,7 @@
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackageSVN
- {$Id: svn-multi.dtx 1914 2010-12-08 19:43:23Z martin $}
+ {$Id: svn-multi.dtx 2010 2011-01-03 23:11:47Z martin $}
[\svnmulti@version\space SVN Keywords for multi-file LaTeX documents]
% \end{macrocode}
@@ -1539,7 +1542,7 @@
\else
\PackageError{svn-multi}%
{Invalid value for 'autoload' option: '\@svnmulti@autoload'^^J%
- ! Only 'true','false' or empty (='true') are allowed!}
+ ! Only 'true','false' or empty (='true') are allowed!}{}%
\fi\fi\fi\fi
% \end{macrocode}
@@ -2898,11 +2901,11 @@
% Load \pkg{filehook} and \pkg{currfile} packages.
% \begin{macrocode}
-\RequirePackage{filehook}[2010/12/08]
-\RequirePackage{currfile}[2010/12/08]
+\RequirePackage{filehook}[2011/01/03]
+\RequirePackage{currfile}[2011/01/03]
% \end{macrocode}
-% The following code installs the necessary hooks for input files.
+% The following code installs the necessary hooks for subfiles.
% It installs an own file stack \pkg{currfile} does.
% The macro \cs{svn@pg} for the parent group needs to be set before
% \cs{currfilepath} etc. is updated, so the internal \pkg{filehook}
@@ -2911,7 +2914,7 @@
% parent file.
%
% \begin{macrocode}
-\filehook@prefixwarg\filehook@atbegin{%
+\filehook@prefixwarg\filehook@every@atbegin{%
\svn@pushfilestack
\if@svnmulti@groups
\svn@ifequal{\currfilepath}{\jobname.\currfile@mainext}%
@@ -2919,39 +2922,16 @@
{\xdef\svn@pg{\currfiledir\currfilebase}}%
\fi
}
-\AtEndOfFiles{%
- \svn@popfilestack
-}
% \end{macrocode}
-% Special care is taken for include files, where the svn file macros
-% must be kept valid until the implied \cs{clearpage}, so that they can
-% be used in page headers and footers. Please note that \cs{include} uses
-% \cs{InputIfFileExists} internally where the normal filehooks are
-% installed.
-%
-% There is no simple way to exclude this hooks for \cs{include} files,
-% so the stack is pushed and popped twice for these files.
-% This causes an issue for subgroups because then that files are
-% declared to be there own parent group.
-% To fix this the current subgroup is added to correct
-% parent group explicitly and the \cs{svn@addfiletogroup} macro was updated
-% to not add (sub-)groups to themselves.
%
-% Please note that this hook is executed \emph{after} the \pkg{currfile}
-% macros are updated and therefore hold the file macros of the include
-% file, not the parent file.
+% The file stack is popped at the end of the file hook to keep the macros valid
+% for normal hook code.
% \begin{macrocode}
-\AtBeginOfIncludes{%
- \svn@pushfilestack
- \if@svnmulti@groups
- \svn@addfiletogroup{\currfiledir\currfilebase}{\svn@pg}%
- \fi
-}
-\AtEndOfIncludes{%
+\filehook@appendwarg\filehook@every@atend{%
\svn@popfilestack
}
% \end{macrocode}
-
+%
% \begin{macrocode}
\def\svn@filestack{{}}
@@ -3047,7 +3027,7 @@
\def\svngroup#1{%
\svn@ifequal{#1}{*}%
{\PackageError{svn-multi}%
- {The group name '*' is invalid for '\string\svngroup'}{}{}%
+ {The group name '*' is invalid for '\string\svngroup'}{}%
}{}%
\xdef\svn@g{#1}%
\let\svn@pg\svn@g