[asdf-devel] Bizarre consequences of FIND-SYSTEM in ASDF.

Robert Goldman rpgoldman at sift.info
Mon Nov 30 19:04:50 UTC 2009


dherring at tentpost.com wrote:
> Robert Goldman wrote:
>> Daniel Herring wrote:
>>> On Sun, 29 Nov 2009, Robert Goldman wrote:
....
> 
> There would be several benefits if FIND-SYSTEM were to simply PROBE-FILE
> for a system definition in each of the configured paths (e.g.
> path1/system.asd, path2/system.asd) until one is found.  Better
> efficiency, no pollution from unrelated packages, etc.

I still don't get it.  I'm looking at asdf.lisp, and it's basically
doing what you say:

1.  call system-definition-pathname to find the system definition file.

2.  if there's a previously-loaded system definition, check to see if
it's stale.  If so, reload.

3.  If there's no previously-loaded system definition, load

4.  return the system definition.

In stock (upstream) asdf, there's no loading in
sysdef-central-registry-search, so I still don't see what's going wrong
here.  Is this SBCL-specific?

As for the fact that people can put code like

(asdf:oos 'asdf:load-op <system I need at read time>)

in their .asd files, that seems to me to be a feature, not a bug.

r




More information about the asdf-devel mailing list