[asdf-devel] never ending component relative pathnames
james anderson
james.anderson at setf.de
Sun Mar 14 23:04:33 UTC 2010
good evening;
here is yet another update.[0]
where no string values are permitted for :pathname arguments - not
even those which i had understood should be supported, the results
are almost uniform.
20100314T224221/alisp/output.txt:
(:RESULT :TYPE "International Allegro CL Free Express Edition"
:VERSION "8.2 [Linux (x86)] (Jan 25, 2010 14:49)"
:FILE #P"output.txt"
:SYSTEM-FAILURES (0 320) :DIRECTORY-FAILURES (0
1280) :FILE-FAILURES (213 2080) :HOMOGENEOUS 85)
20100314T224221/ccl/output.txt:
(:RESULT :TYPE "Clozure Common Lisp" :VERSION "Version 1.4-r13119
(LinuxX8632)" :FILE #P"output.txt"
:SYSTEM-FAILURES (0 320) :DIRECTORY-FAILURES (0
1280) :FILE-FAILURES (0 2080) :HOMOGENEOUS 0)
20100314T224221/clisp/output.txt:
(:RESULT :TYPE "CLISP"
:VERSION "2.48+ (2009-08-24) (built on
ip-10-251-121-194.ec2.internal [10.251.121.194])"
:FILE #P"output.txt"
:SYSTEM-FAILURES (148 327) :DIRECTORY-FAILURES (0
1197) :FILE-FAILURES (43 2378) :HOMOGENEOUS 35)
20100314T224221/cmucl/output.txt:
(:RESULT :TYPE "CMU Common Lisp" :VERSION "20a (20A)" :FILE
#P"output.txt"
:SYSTEM-FAILURES (0 320) :DIRECTORY-FAILURES (0
1280) :FILE-FAILURES (0 2080) :HOMOGENEOUS 0)
20100314T224221/ecl/output.txt:
(:RESULT :TYPE "ECL" :VERSION "10.2.1" :FILE #P"output.txt"
:SYSTEM-FAILURES (0 320) :DIRECTORY-FAILURES (0
1280) :FILE-FAILURES (0 2080) :HOMOGENEOUS 0)
20100314T224221/lw/output.txt:
(:RESULT :TYPE "LispWorks Personal Edition" :VERSION "5.1.1"
:FILE #P"/ebs/test/20100314T224221/lw/output.txt"
:SYSTEM-FAILURES (0 320) :DIRECTORY-FAILURES (0
1280) :FILE-FAILURES (0 2080) :HOMOGENEOUS 0)
20100314T224221/sbcl/output.txt:
(:RESULT :TYPE "SBCL" :VERSION "1.0.36" :FILE #P"/ebs/test/
20100314T224221/sbcl/output.txt"
:SYSTEM-FAILURES (0 320) :DIRECTORY-FAILURES (0
1280) :FILE-FAILURES (0 2080) :HOMOGENEOUS 0)
- the pathname merge operator must be modified[1] to be strict with
the arguments it supplies to make-pathname
- allegro[3] fails for 213 file components. it occasionally
constructs an unintended pathname by supplying a spurious type
- clisp[4] fails to construct 148 systems and fails to find 43 files.
it occasionally constructs an unintended pathname by incorporating a
logical pathname's namestring as a file name
---
[0] : http://ec2-174-129-136-72.compute-1.amazonaws.com/test/
20100314T224221.txt
[1] : http://ec2-174-129-136-72.compute-1.amazonaws.com/test/asdf-
diff.txt
[3] : http://ec2-174-129-136-72.compute-1.amazonaws.com/test/
20100314T224221/alisp/output.txt
[4] : http://ec2-174-129-136-72.compute-1.amazonaws.com/test/
20100314T224221/clisp/output.txt
asdf.lisp diff:
diff --git a/asdf.lisp b/asdf.lisp
index 7858caa..470cbda 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -513,8 +513,13 @@ does not have an absolute directory, then the
HOST and DEVICE come from the DEFA
(values (pathname-host defaults)
(pathname-device defaults)
(append (pathname-directory defaults) (cdr
directory)))))
- (make-pathname :host host :device device :directory directory
- :name name :type type :version version))))
+
+ (apply #'make-pathname :host host :device device :directory
directory
+ `(,@(case version ((nil :unspecific)
nil) (t `(:version ,version)))
+ ,@(case name ((nil :unspecific) nil)
(t `(:name ,name)))
+ ,@(case type ((nil :unspecific) nil)
(t `(:type ,type)))))
+ #+(or) (make-pathname :host host :device device :directory
directory
+ :name name :type type :version version))))
(define-modify-macro appendf (&rest args)
append "Append onto list")
More information about the asdf-devel
mailing list