[Daniel Barlow <[email protected]>] [Daniel Barlow <[email protected]>] Re: Re: [Portableaserve-discuss] ASDF system for portable allegroserve on CMUCL

Daniel Barlow <[email protected]>
Newsgroups gmane.lisp.cclan.general
Message-ID <[email protected]>
[ week-old mail that got bounced by the smtp filter at LSM.  Sorry ]

I replied on this subject (at more length than I'm about to write
here) yesterday morning, but my laptop crashed before I could get
internet access to send it :-(

David Lichteblau <[email protected]> writes:

> Are compilers obliged to signal an error if there are errors in the
> sources?  

No.  According to 3.2.5, COMPILE-FILE may or may not catch errors
signalled during the compilation process.  And for your real-life
example, CMUCL does, SBCL doesn't.

There are a couple of points worth making in connection with asdf.
Neither solves your problem, but either may at least ameliorate it
slightly.

1) you can set ``:on-failure :warn'' on individual components, instead
   of having to use the same *compile-file-failure-behaviour* across
   the whole system.  This will work with CMUCL because it stops on
   compile errors anyway.  It doesn't help with SBCL

2) for interactive development, the (badly named, I now realise)
   SKIP-COMPONENT restart can be used to carry on after an error that
   the user knows was not important.

For a proper fix there are three things I'd like to look at

a) COMPILE-FILE returns NIL if "if the file could not be created".
Do implementors interpret this as "compilation went so badly wrong
that it was not worth creating a file" (which would be nice) or is
this just for the cases where the fielsystem permissions were wrong,
or the disk was full, or suchlike?

b) if the COMPILE-FILE return value is not helpful, I guess I need to
wrap the compile-file operation in something that tests the dates of
input vs output files to determine if the compilation succeeded.  This
would be slightly sucky, frankly: given that the modification times
have only a one second resolution, given small files and fast machines
it's not actually guaranteed to work

c) It may be worth handler-casing around compile-file anyway, for
those impementations that do signal errors from it


-dan

-- 

  http://ww.telent.net/cliki/ - Link farm for free CL-on-Unix resources 


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
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.