From fbd5be649c2cddfdcf0557bf7321b1d1bbaa39e4 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Sun, 4 Aug 2019 13:59:50 +0100 Subject: [PATCH] src/module-impl.lisp (find-file): Take a home path rather than a scanner. 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. --- doc/module.tex | 2 +- src/module-impl.lisp | 7 +++---- src/module-parse.lisp | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/module.tex b/doc/module.tex index 2568481..67bf377 100644 --- a/doc/module.tex +++ b/doc/module.tex @@ -102,7 +102,7 @@ \begin{describe}{var}{*module-dirs*} \end{describe} -\begin{describe}{fun}{find-file @ @ @ @} +\begin{describe}{fun}{find-file @ @ @ @} \end{describe} \begin{describe}{fun} diff --git a/src/module-impl.lisp b/src/module-impl.lisp index 268f4bc..44aa0b8 100644 --- a/src/module-impl.lisp +++ b/src/module-impl.lisp @@ -228,10 +228,10 @@ 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. - 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 @@ -245,8 +245,7 @@ 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 diff --git a/src/module-parse.lisp b/src/module-parse.lisp index 81a3956..df058be 100644 --- a/src/module-parse.lisp +++ b/src/module-parse.lisp @@ -141,7 +141,7 @@ (declare (ignore pset)) (flet ((common (name type what thunk) (when name - (find-file scanner + (find-file (pathname (scanner-filename scanner)) (merge-pathnames name (make-pathname :type type :case :common)) -- 2.11.0