Re: ASDF bug?

Kevin Rosenberg <[email protected]>
Newsgroups gmane.lisp.cclan.general
Message-ID <[email protected]>
[email protected] wrote:
> [...] We'll see if I fixed it for this message.

Yes, looks great now. 

> I wouldn't signal a missing file error if file-write-date comes back
> nil, since there might be other reasons other than a missing file that
> file-write-date returns nil (at least that would be compatible with
> the spec). It might be worth signaling an error about being unable to
> determine the file write date, though, since you're probably out of
> luck if ASDF can't figure that out.

I was thinking of using probe-file prior to file-write-date to signal
a missing file error. Given the spec allows nil for other reasons
besides the lack of a file, your patch adds value beyond checking with
probe-file and has the virtue of being quite simple.

> This doesn't work for me because I might have mixed extensions within
> a single project. For example, the project that threw this error in
> the first place uses a file that I got from Franz that has a ".cl"
> extension, along with my own files, which I habitually give ".lisp"
> extensions. I don't really care whether what exactly the stock
> behavior is, but I think there really ought to be support for multiple
> extensions within a single project.  The modest suggestion I made
> previously seems like a small patch to allow this reasonable extension
> to the stock system. 

Yes, my response did not address mixed extensions. Personally, I think
your patch has merit and would be glad to see it in ASDF. If Dan
Barlow decides not to accept your patch, perhaps you can use the
:pathname keyword[1] for the source file:

  (defsystem mixed-sys
    :components
    ((:file "a")  ;; really a.lisp on the file system
     (:file "b" :pathname "b.cl")
     (:file "c")))

Kevin


[1]
From ASDF's README:

**** a pathname
 
This is optional and if absent will be inferred from name, type (the
subclass of source-file), and the location of parent.
 
The rules for this inference are:
 
(for source-files)
- the host is taken from the parent
- pathname type is (source-file-type component system)
- the pathname case option is :local
- the pathname is merged against the parent
 


-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.