On 23 Jan 2011, at 15:27, Pascal Costanza wrote:

> Hi,
> 
> I have encountered two more issues when trying to use ASDF 2 with logical 
> pathnames in Allegro and clisp. I have the following logical pathname 
> translations in Allegro and clisp respectively:
> 
> #+allegro
> (setf (logical-pathname-translations "costanza")
>      `(("**;*.fasl.*" ,(format nil "/Users/costanza/.cache/common-lisp/~A 
> ~A/**/*.fasl"
>                                (lisp-implementation-type)
>                                (read-from-string 
> (lisp-implementation-version))))
>        ("**;*.*.*" "/Users/costanza/**/*.*")))
> 
> #+clisp
> (progn
>  (setq custom:*parse-namestring-ansi* t)
> 
>  (setf (logical-pathname-translations "costanza")
>        `(("**;*.lib.*" ,(format nil "/Users/costanza/.cache/common-lisp/~A 
> ~A/**/*.lib"
>                                 (lisp-implementation-type)
>                                 (read-from-string 
> (lisp-implementation-version))))
>          ("**;*.fas.*" ,(format nil "/Users/costanza/.cache/common-lisp/~A 
> ~A/**/*.fas"
>                                 (lisp-implementation-type)
>                                 (read-from-string 
> (lisp-implementation-version))))        
>          ("**;*.*.*" "/Users/costanza/**/*.*"))))
> 
> 
> When compiling systems with ASDF, however, the fasl, lib and fas files don't 
> end up in the folders designated by these logical pathname translations, but 
> rather in the locations as specified with ASDF output translations. (In 
> CMUCL, Clozure, ECL, LispWorks, RMCL, and SBCL, similar logical pathname 
> translations work as expected.)

I have found the bug that causes this for Allegro, and am relatively sure what 
problem in clisp causes this.

For Allegro, the following patch fixes the problem:

(defun* resolve-symlinks (path)
  #-allegro (truenamize path)
  #+allegro (if (typep path 'logical-pathname)
              path
              (excl:pathname-resolve-symbolic-links path)))

In clisp, cl:load binds cl:*load-pathname* to a physical pathname, while the 
HyperSec asks for binding it to the first parameter to load. (Hard to tell 
whether that's causing the rest of the problems, but it's a start.)

I will file a bug report to the clisp maintainers.


Best,
Pascal

-- 
Pascal Costanza, mailto:[email protected], http://p-cos.net
Vrije Universiteit Brussel
Software Languages Lab
Pleinlaan 2, B-1050 Brussel, Belgium







_______________________________________________
asdf-devel mailing list
[email protected]
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel

Reply via email to