summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/import/import.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/import/import.sty')
-rw-r--r--macros/latex/contrib/import/import.sty40
1 files changed, 32 insertions, 8 deletions
diff --git a/macros/latex/contrib/import/import.sty b/macros/latex/contrib/import/import.sty
index e22e32a790..69bc86215e 100644
--- a/macros/latex/contrib/import/import.sty
+++ b/macros/latex/contrib/import/import.sty
@@ -1,4 +1,4 @@
-% import.sty Ver 6.0 22-Jan-2020 Donald Arseneau (asnd@triumf.ca)
+% import.sty Ver 6.2 01-Apr-2020 Donald Arseneau (asnd@triumf.ca)
%
% This software is in the public domain; free of any restrictions.
%
@@ -38,11 +38,11 @@
% definition ensures paths end with "/" on most systems, but removes
% "][" from within sub-import directory paths on VMS systems.
%
-% Presently, the paths are defined ``locally'' so input files must have
-% balanced grouping.
+% Presently, the paths are defined `locally' (not globally) so input
+% files must have balanced grouping.
%====================== END INSTRUCTIONS ===========================
-\ProvidesPackage{import}[2020/01/22 \space v 6.0]
+\ProvidesPackage{import}[2020/04/01 \space v 6.2]
\ProcessOptions
\@ifundefined{import}{%
@@ -84,7 +84,7 @@
\protected@edef\input@path{{\import@path}#2}%
\protected@edef\Ginput@path{{\import@path}#3}%
\protected@edef\import@path@file{% use full path/file for non-*
- \ifx\IfFileExists\@iffileonpath\else \import@path\fi #7}%
+ \import@path #7}%
%
\expandafter#1\expandafter{\import@path@file}%
%
@@ -96,6 +96,8 @@
% Our version of \IfFileExists that gives priority to files on \input@path,
% #1 = file name, #2 = action when exists, #3 = action when not exists
+% In 2020 LaTeX redefines \IfFileExists, so I need two variants.
+\@ifundefined{IfFileExists@}{% pre-2020
\long\def \im@iffileexists#1#2#3{%
\let\@filef@und\@undefined
\ifx\input@path\@undefined\else
@@ -112,10 +114,31 @@
\edef\@filef@und{#1 }%
\def\reserved@a{#2}%
\fi\fi
- \reserved@a
-}
+ \reserved@a}
+}{% ca 2020
+\DeclareRobustCommand\im@iffileexists[1]{%
+ \set@curr@file{#1}%
+ \expandafter\im@iffileexists@\expandafter{\@curr@file}}
+\long\def \im@iffileexists@#1#2#3{%
+ \let\@filef@und\@undefined
+ \ifx\input@path\@undefined\else
+ \@iffileonpath{#1}{% (also defines \@filef@und)
+ \def\reserved@a{#2}%
+ }{}% no action yet for not found
+ \fi
+ \ifx\@filef@und\@undefined % not found on \input@path
+ \openin\@inputcheck"#1" %
+ \ifeof\@inputcheck
+ \def\reserved@a{#3}%
+ \else
+ \closein\@inputcheck
+ \edef\@filef@und{"#1" }%
+ \def\reserved@a{#2}%
+ \fi\fi
+ \reserved@a}
+ }
-\let\im@@IfFileExists\IfFileExists
+\let\im@@IfFileExists\IfFileExists % remember original
\gdef\import@path{}
\let\import@path@fix\@firstofone % default
@@ -129,6 +152,7 @@
\fi
% Check for "[]" currdir (VMS file names) and set \import@path@fix appropriately
+% \subimport{[.subdir]}{file}
\gdef\@gtempa{[]}
\ifx\@gtempa\@currdir % VMS directory syntax
\gdef\import@path@fix#1{\@gobbleVMSbrack#1][>}