[asdf-devel] Incrementally extending the source registry?

Faré fahree at gmail.com
Sat Oct 9 04:12:44 UTC 2010


On 9 October 2010 00:02, Daniel Herring <dherring at tentpost.com> wrote:
> On Fri, 8 Oct 2010, Zach Beane wrote:
>> Daniel Herring <dherring at tentpost.com> writes:
>>> On Fri, 8 Oct 2010, Zach Beane wrote:
> ...
>>>> If these are now unpacked in ~/src/fooprojects/, how can I add that tree
>>>> to my ASDF source registry by calling ASDF functions?
>>>
>>> Umm, drop a few :directory definitions or one :tree definition in
>>> ~/.config/common-lisp/source-registry.conf.d/NN-fooproject.conf
>>>
>>> See
>>> http://common-lisp.net/project/asdf/asdf/Configuring-ASDF.html
>>> http://common-lisp.net/project/asdf/asdf/Controlling-where-ASDF-searches-for-systems.html
> ...
>> Is there any way to do it in the running system only, i.e. without
>> writing out files?
>
> The old *central-registry* seemed easier in this regard (it still exists,
> but obliterates the new mechanism if used).  The new
> initialize-source-registry parameter would seem useful (it might do the
> right thing if given :inherit-configuration, not sure whether that
> preserves existing state).
>
It still exists, and won't be obsoleted unless and until a replacement is found
that gives complete satisfaction to all. It doesn't obliterate the new
mechanism;
what it does it take precedence over the new mechanism, just like the things
you used to push on it had precedence over things otherwise configured
by the system.

Don't worry, you can use both the central-registry and the new source-registry,
no problem.

If you're going to persist the changes, though, I don't see why
there's an issue with
creating new configuration files, then reloading the configuration.
This allows you
to test the configuration as if loading a fresh image (thus more
compatible with future invocations), and the computational cost is
negligible. If file system access is an issue,
1- how did you install software at all, 2- you CAN either use the
central-registry and/or
use an explicit source-registry parameter that may or may not
:ignore-inherited-configuration.

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
Your enemy is never a villain in his own eyes. Keep this in mind;
it may offer a way to make him your friend. If not, you can kill
him without hate — and quickly.
        — Robert Heinlein, "Time Enough For Love"




More information about the asdf-devel mailing list