%% Copyright (C) 2011-2020 by Martin Scharrer <martin@scharrer-online.de>
%% ----------------------------------------------------------------------
%% 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
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
%%
%% The Current Maintainer of this work is Martin Scharrer.
%%
%% This work consists of the files filehook.dtx and filehook.ins
%% and the derived files filehook.sty, filehook-fink.sty,
%% filehook-listings.sty, filehook-memoir.sty, filehook-scrlfile.sty
%% and pgf-filehook.sty
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{filehook-memoir}[2020/02/02 v0.2 filehook patch for memoir class]
\RequirePackage{filehook}
\begingroup
\ifcsname InputIfFileExists\space\endcsname
  \DeclareRobustCommand \memoir@InputIfFileExists[2]{%
    \IfFileExists{#1}%
    {%
      \expandafter\@swaptwoargs\expandafter
      {\@filef@und\m@matendf{#1}\killm@matf{#1}}{%
        #2\@addtofilelist{#1}\m@matbeginf{#1}\@@input%
      }%
    }%
  }
\else
  % Old definition
\renewcommand{\memoir@InputIfFileExists}[2]{%
  \IfFileExists{#1}%
    {#2\@addtofilelist{#1}\m@matbeginf{#1}%
     \@@input \@filef@und
     \m@matendf{#1}%
     \killm@matf{#1}}%
}
\fi
\@tempswafalse
\filehook@cmp{InputIfFileExists}{filehook@InputIfFileExists}%
  {\@tempswatrue}%
  {%
    \filehook@cmp{InputIfFileExists}{memoir@InputIfFileExists}%
      {\@tempswatrue}%
      {}%
  }%

\if@tempswa
  \filehook@glet{filehook@InputIfFileExists}{filehook@default@InputIfFileExists}%
  \filehook@glet{filehook@@InputIfFileExists}{filehook@@default@InputIfFileExists}%
  \filehook@glet{InputIfFileExists}{filehook@InputIfFileExists}%
  \filehook@appendwarg\filehook@atbegin{\m@matbeginf{#1}}%
  \filehook@prefixwarg\filehook@atend{\m@matendf{#1}\killm@matf{#1}}%
  \PackageInfo{filehook}{Detected 'memoir' class: the memoir hooks will be moved to the `At...OfFiles' hooks}
\else
  \iffilehook@force
    \filehook@glet{filehook@InputIfFileExists}{filehook@default@InputIfFileExists}%
    \filehook@glet{filehook@@InputIfFileExists}{filehook@@default@InputIfFileExists}%
    \filehook@glet{InputIfFileExists}{filehook@InputIfFileExists}%
    \PackageWarning{filehook}{Detected 'memoir' class with unknown definition of \string\InputIfFileExists.^^J%
                              The 'force' option of 'filehook' is in effect. Macro is overwritten with default!}%
  \else
    \PackageError{filehook}{Detected 'memoir' class with unknown definition of \string\InputIfFileExists.^^J%
                            Use the 'force' option of 'filehook' to overwrite it.}{}%
  \fi
\fi
\endgroup
\endinput
%%
%% End of file `filehook-memoir.sty'.
