[asdf-devel] Directly loading "/home/etc/etc/system.asd"

Robert Goldman rpgoldman at sift.info
Tue Nov 9 19:17:08 UTC 2010


On 9/2/10 Sep 2 -6:46 AM, Theam Yong Chew wrote:
> Hi all,
> 
> Is there a way to load a system directly, leaving everything
> else (source-registry configuration, *central-registry*, or
> what not) alone?
> 
> I hacked up something to do this,
> 
> (asdf:load-system #P"c:/blah/blah/cl-ppcre-1.2.19/cl-ppcre.asd")
> 
> so that there's no need to worry about specific versions
> or setting up paths to a specific library. If the library being
> loaded depends on other modules, then we return to
> searching the source-registry as if by typing this before
> loading our system:
> 
> (asdf:load-system <lib-depended-upon>)
> 
> Does asdf already support this? Will such a feature be useful?

I don't know whether we ever returned to this.  In essence, I think it
would be great to have this incorporated.  Here's the problem I can see:
 what do we do about .asd files that contain multiple DEFSYSTEM forms.
E.g., my files that have DEFSYSTEM FOO and DEFSYSTEM FOO-TEST?  Or what
about McCLIM, whose asd file has a boatload of back-end systems?

What about tweaking this a little bit so that we support a
:system-filename keyword argument, instead of taking the primary argument?

E.g.,

(asdf:load-system 'cl-ppcre
  :system-pathname
  #P"c:/blah/blah/cl-ppcre-1.2.19/cl-ppcre.asd")

?

That would solve the problems above about many-to-one system to file
mappings.

Cheers,
r




More information about the asdf-devel mailing list