Skip to content
Browse files

Handle relative pathnames in manifest files.

Relative pathnames are resolved relative to the manifest file, not
*default-pathname-defaults*.
  • Loading branch information...
1 parent 4d17eed commit 1a0c63780f8836fe39290b4dfc7ba3d9da19452b @xach committed
Showing with 9 additions and 3 deletions.
  1. +9 −3 asdf-files.lisp
View
12 asdf-files.lisp
@@ -3,9 +3,15 @@
(in-package #:buildapp)
(defun manifest-file-files (file)
- (remove-if #'null
- (mapcar #'probe-file
- (file-lines file))))
+ "Return a list of all system files contained in FILE. The syntax is
+one namestring per line. Relative namestrings are resolved relative to
+the truename of FILE."
+ (let ((truename (truename file)))
+ (remove-if #'null
+ (mapcar (lambda (namestring)
+ (probe-file (merge-pathnames namestring
+ truename)))
+ (file-lines file)))))
(defun asdf-path-files (pathname)
(directory (merge-pathnames "*.asd" pathname)))

0 comments on commit 1a0c637

Please sign in to comment.
Something went wrong with that request. Please try again.