Fwd: Introspecting source registry

Robert Goldman rpgoldman at sift.net
Mon Jun 8 03:09:59 UTC 2015


On 6/7/15 Jun 7 -10:44 AM, Faré wrote:
> 1- Look for asdf::*source-registry-parameter* which will tell you what
> ultimate overrides were used, if any.
> 2- Follow the trail of items in asdf::*default-source-registries*.
>   So first, an environment variable CL_SOURCE_REGISTRY, then a
> configuration file ~/.config/common-lisp/source-registry.conf (beware:
> may be relocated via XDG, and will be somewhere else on Windows), and
> the corresponding .conf.d/ directory, then a hierarchy of system
> directories. It can be somewhat convoluted, so everyone gets a chance
> to tweak the configuration (lisp implementation packager, system
> administrator, local administrator, user). But usually, no one uses
> any of these mechanisms except the user.

This might help:

(mapc #'(lambda (x) (eval `(trace ,x))) asdf::*default-source-registries*)

and

(trace asdf/source-registry:flatten-source-registry)

before you do the call to INITIALIZE-SOURCE-REGISTRY.

IIUC, that will show you what configuration elements are where.  But it
doesn't trace the actual search of the directories.

There's a bunch of collector functions in here, but there's also a lot
of unnamed functions and a lot of second-order programming, which makes
tracing it pretty complicated.

If I get a chance tomorrow, I'll set up an example and try to figure out
how to see ASDF actually probing directories.

Cheers,
r




More information about the asdf-devel mailing list