Honestly, picking the home path out of the scanner input was always a
bit of a stretch.
Obviously, we also need to fix up the callers, but there's only one of
them.
\begin{describe}{var}{*module-dirs*}
\end{describe}
\begin{describe}{var}{*module-dirs*}
\end{describe}
-\begin{describe}{fun}{find-file @<scanner> @<name> @<what> @<thunk>}
+\begin{describe}{fun}{find-file @<home> @<name> @<what> @<thunk>}
\end{describe}
\begin{describe}{fun}
\end{describe}
\begin{describe}{fun}
See `find-file' for the grubby details.")
(export 'find-file)
See `find-file' for the grubby details.")
(export 'find-file)
-(defun find-file (scanner name what thunk)
+(defun find-file (home name what thunk)
"Find a file called NAME on the module search path, and call THUNK on it.
"Find a file called NAME on the module search path, and call THUNK on it.
- The file is searched for relative to the SCANNER's current file, and also
+ The file is searched for relative to the HOME file or directory, and also
in the directories mentioned in the `*module-dirs*' list. If the file is
found, then THUNK is invoked with two arguments: the name we used to find
it (which might be relative to the starting directory) and the truename
in the directories mentioned in the `*module-dirs*' list. If the file is
found, then THUNK is invoked with two arguments: the name we used to find
it (which might be relative to the starting directory) and the truename
THUNK is not invoked with any additional handlers defined."
(handler-case
THUNK is not invoked with any additional handlers defined."
(handler-case
- (dolist (dir (cons (pathname (scanner-filename scanner)) *module-dirs*)
- (values nil nil))
+ (dolist (dir (cons home *module-dirs*) (values nil nil))
(let* ((path (merge-pathnames name dir))
(probe (probe-file path)))
(when probe
(let* ((path (merge-pathnames name dir))
(probe (probe-file path)))
(when probe
(declare (ignore pset))
(flet ((common (name type what thunk)
(when name
(declare (ignore pset))
(flet ((common (name type what thunk)
(when name
+ (find-file (pathname (scanner-filename scanner))
(merge-pathnames name
(make-pathname :type type
:case :common))
(merge-pathnames name
(make-pathname :type type
:case :common))