[Asdf-devel] Registering preloaded systems for Quicklisp/ASDF

Faré fahree at gmail.com
Mon Aug 11 17:02:10 UTC 2014


Getting there!

More nits:
* Up until now, clear-defined-system had no declared return value; I
propose you instead
  return T if successful, NIL if unsuccessful, and just use an unless
rather than if.
* It's unclear to me what clear-system does or should do that differs
from clear-defined-system.
  I see that clear-system is documented in asdf.texinfo, but
clear-defined-system isn't;
  furthermore, clear-defined-system doesn't appear anywhere in
quicklisp, as I can tell
  grepping through ~/quicklisp/dists/quicklisp/software after I
install all of quicklisp
  (see my repo git://common-lisp.net/users/frideau/ql-test.git for the
helpers I use).
  I believe it's the fruit of some previous fumbling with a bug, and
should be deleted,
  its contents moved to clear-system.
* I would have used a nested if rather than repeat (eql version t),
but that's me.
* you shouldn't use find-system in register-immutable-system, since it
might mess things up;
  instead, consult the cdr of registered?
* don't call system-registered-p system-name twice.
* The targeted style is to usually skip one line between function,
unless tightly related (0 line) or conceptually separate (two lines).
If conceptually unrelated, a new with-upgradability clause.

A year ago, I would have fixed it all myself — today I'm just telling
you how to do it, and hoping that it helps create new ASDF developers
to replace me.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Most economic fallacies derive... from the tendency to assume that there
is a fixed pie, that one party can gain only at the expense of another.
        — Milton Friedman


On Mon, Aug 11, 2014 at 12:32 PM, Dave Cooper <david.cooper at genworks.com> wrote:
>
> Ok here is an updated patch which does a register-system as well as
> register-preloaded-system as part of register-immutable-system. It tries to
> preserve version information according to what Faré recommended.
>
> It also patches clear-system and clear-defined-system so as to prevent
> clearing any systems which occur in the *immutable-systems* table. In the
> case when a system is immutable, this also now affects the return-value of
> these clearing functions.
>
>
>
>
>
> On Mon, Aug 11, 2014 at 10:19 AM, Robert P. Goldman <rpgoldman at sift.info>
> wrote:
>>
>> Thanks to both of you for your work on this patch.
>>
>> I'm going to hold off on applying any patches, though, until there's a
>> test case.
>>
>> Dave, I understand that it might be hard to wrap your head around the
>> test script code, so let's start by brainstorming what the test should
>> do, rather than digging in and getting confused with the details of
>> implementation.
>>
>> I believe what is wanted is a test where we make an image with some
>> system preloaded, try to mark it as immutable, and then check to see if
>> it's reloaded.  Is that correct?
>>
>> Cheers,
>> r
>
>
>
>
> --
> My Best,
>
> Dave Cooper, Genworks Support
> david.cooper at genworks.com, dave.genworks.com(skype)
> USA: 248-327-3253(o), 1-248-330-2979(mobile)
> UK: 0191 645 1699




More information about the asdf-devel mailing list