[Bese-devel] Re: rfc2109
Lou Vanek
vanek at acd.net
Mon Jun 26 21:54:37 UTC 2006
Attila Lendvai wrote:
> hi!
>
> here's the case with rfc2109: it conditionally reads the 5am tests in
> its single lisp file with #+5am tests.
>
> the trouble comes when a user loads rfc2109 with 5am already loaded
> (fasl gets compiled with 5am references) and later loads it when 5am
> is not loaded (fasl fails to load).
>
> this seems to be rare at first look, but still many ucw users report this.
>
> the usual solution for this is to create an rfc2109.test system in
> rfc2109.asd but it won't work with a single file project and too
> complicated for a project of this size anyway.
>
> another solution would be if we could force asdf to always load
> rfc2109 from source and leave alone fasl's. anyone knows how to do
> that?
There are several ways of doing that with asdf. The simplest is to
use :load-source-op instead of :load-op.
Example:
(asdf:oos 'asdf:load-source-op :hello)
[at least on asdf revision 1.98 it works]
Here's another (more complicated) example
(by Gary King):
(defclass load-only-file-mixin ()
())
(defclass load-only-cl-source-file (load-only-file-mixin cl-source-file)
())
(defmethod perform ((op compile-op) (component load-only-file-mixin))
nil)
(defmethod perform ((op load-op) (component load-only-cl-source-file))
(load (component-pathname component)))
(defsystem asdf-binary-locations
:version "0.1"
:author "Gary Warren King <gwking at metabang.com>"
:maintainer "Gary Warren King <gwking at metabang.com>"
:licence "MIT Style License"
:description "Put compiled Lisp files in their places."
:components ((:module
"dev"
:components ((:load-only-cl-source-file "main")
(:static-file "notes.text")))
(:module
"website"
:components ((:module "source"
:components ((:static-file
"index.lml")))))))
> until it's properly resolved i've pushed an UNDO of my patch that
> added 5am unconditionally to the dependencies. this will render the
> box-set working again except the situation described above.
>
More information about the bese-devel
mailing list