\gdef\@missingfileerror#1#2{%
\typeout{^^J! LaTeX Error: File `#1.#2' not found.^^J^^J%
Type X to quit or <RETURN> to proceed,^^J%
or enter new name. (Default extension: #2)^^J}%
\message{Enter file name: }%
{\endlinechar\m@ne
\global\read\m@ne to\@gtempa}%
\ifx\@gtempa\@empty
\else
\def\reserved@a{x}\ifx\reserved@a\@gtempa\batchmode\@@end\fi
\def\reserved@a{X}\ifx\reserved@a\@gtempa\batchmode\@@end\fi
\filename@parse\@gtempa
\edef\filename@ext{%
\ifx\filename@ext\relax#2\else\filename@ext\fi}%
\edef\reserved@a{%
\noexpand\InputIfFileExists
{\filename@area\filename@base.\filename@ext}%
{}%
{\noexpand\@missingfileerror
{\filename@area\filename@base}{\filename@ext}}}%
\reserved@a
\fi}