%%
%% This is file `interfaces-etoolbox.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% interfaces.dtx  (with options: `etoolbox')
%% 
%% This is a generated file.
%% 
%% interfaces : 2010/10/20 v1.1 - interfaces : interfaces with keys for other packages (FC)
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3 of this license or (at your option) any later
%% version. The latest version of this license is in
%%    http://www.latex-project.org/lppl.txt
%% 
%% This work consists of the main source file interfaces.dtx
%% and the derived files
%%     interfaces.sty, interfaces.pdf, interfaces.ins,
%%     interfaces-base.sty,
%%     interfaces-LaTeX.sty,
%%     interfaces-tikz.sty,
%%     interfaces-titlesec.sty,
%%     interfaces-hyperref.sty,
%%     interfaces-bookmark.sty,
%%     interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex,
%%     interfaces-fancyhdr.sty,
%%     interfaces-marks.sty,
%%     interfaces-tocloft.sty,
%%     interfaces-makecell.sty,
%%     interfaces-enumitem.sty,
%%     interfaces-truncate.sty,
%%     interfaces-appendix.sty,
%%     interfaces-embedfile.sty,
%%     interfaces-environ.sty,
%%     interfaces-umrand.sty,
%%     interfaces-scrlfile.sty,
%%     interfaces-pgfkeys.sty,
%%     interfaces-etoolbox.sty,
%%     interfaces-fancyvrb.sty
%% 
%% interfaces: interfaces with keys for other packages (FC)
%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%% 
\ProvidesPackage{interfaces-etoolbox}
   [2010/10/27 v1.2 some more etoolbox-like commands (FC)]
\RequirePackage{interfaces-base}
\begingroup\catcode`\&=3
   \long\gdef\etb@doitem#1&{\do{#1}}
\endgroup
\providerobustcmd\preappto[3]{%
   \edef#1{\unexpanded{#2}\ifdefined#1\expandonce#1\fi\unexpanded{#3}}%
}% \preappto
\providerobustcmd\epreappto[3]{%
   \edef#1{#2\ifdefined#1\expandonce#1\fi#3}%
}% \epreappto
\providerobustcmd*\gpreappto{\global\preappto}
\providerobustcmd*\xpreappto{\global\epreappto}
\providerobustcmd*\cspreappto[1]{%
   \csname itf@\ifcsname#1\endcsname
      preappto\else defpreapp\fi\expandafter\endcsname
                           \csname#1\endcsname
}% \cspreappto
\long\def\itf@preappto#1#2#3{\edef#1{#2\expandonce#1#3}}
\long\def\itf@defpreapp#1#2#3{\edef#1{#2#3}}
\providerobustcmd*\csepreappto[1]{%
   \csname itf@\ifcsname#1\endcsname
      preappto\else defpreapp\fi\expandafter\endcsname
                           \csname#1\endcsname
}% \csepreappto
\providerobustcmd*\csgpreappto{\global\cspreappto}
\providerobustcmd*\csxpreappto{\global\csepreappto}
%%----------------------------------------------------------------------------
\providerobustcmd\removefrom[2]{\in@false
   \long\def\itf@tp##1\itf@tp{%
      \in@true
      \edef#1{\unexpanded{##1}}%
   }\expandafter\itf@removefrom\expandafter{#1}{#2}%
}% \removefrom
\providerobustcmd\eremovefrom[2]{\begingroup
   \edef\x{\endgroup\removefrom\noexpand#1{#2}%
   }\x
}% \eremovefrom
\providerobustcmd\gremovefrom[2]{%
   \removefrom{#1}{#2}%
   \global\let#1=#1%
}% \gremovefrom
\providerobustcmd\xremovefrom[2]{%
   \eremovefrom{#1}{#2}%
   \global\let#1=#1%
}% \xremovefrom
\long\def\itf@removefrom#1#2{% removes #2 (code) from #1 (hook)
   \def\in@@##1#2##2\in@@{\itf@tp##1##2\in@@@}%
   \def\in@@@##1\in@@@##2\in@@@{%
      \ifx\in@##2\else##1\fi
   }\expandafter\in@@@\in@@#1\itf@tp\in@@@#2\in@\in@@
}% \itf@removefrom
\newrobustcmd*\removefromstart[2]{\in@false
   \def\itf@tp##1\itf@tp{%
      \in@true
      \edef#1{\unexpanded{##1}}%
   }\expandafter\itf@removefromstart\expandafter{#1}{#2}%
}% \removefromstart
\providerobustcmd*\eremovefromstart[2]{\begingroup
   \edef\x{\endgroup\removefromstart\noexpand#1{#2}%
   }\x
}% \eremovefromstart
\providerobustcmd*\gremovefromstart[2]{%
   \removefromstart{#1}{#2}%
   \global\let#1=#1%
}% \gremovefromstart
\providerobustcmd*\xremovefromstart[2]{%
   \eremovefromstart{#1}{#2}%
   \global\let#1=#1%
}% \xremovefromstart
\def\itf@removefromstart#1#2{% removes #2 (code) from #1 (hook)
   \def\in@@##1#2##2\in@@{##1\in@\itf@tp##2\in@@@}%
   \def\in@@@##1\in@@@##2\in@@@{%
      \ifx\in@##1\fi
   }\expandafter\in@@@\in@@#1\itf@tp\in@@@#2\in@@
}% \itf@removefromstart
\endinput
%%
%% End of file `interfaces-etoolbox.sty'.
