<div dir="ltr">1- The requirement to always use make-operation currently only applies to code within ASDF itself and well-behaved extensions. Before you enforce it more widely, you have to make sure no one in Quicklisp does it. You could have shared initialize check that: a) no instance of that class with given initargs exists yet in *operations* and hopefully b) there initargs are always null (goodbye, make-build!)</div><span>
</span><p dir="ltr">2- No, there was never a requirement that defsystem should only be used within a .asd. Actually, the test system relies heavily on the opposite. The requirement is that .asd files be loaded in the correct context, by load-asd -- notably, the correct *package* must be bound, the correct readtable, etc.</p><p dir="ltr"><br></p><span>
</span><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 23, 2016, 09:49 Robert Goldman <<a href="mailto:rpgoldman@sift.net" target="_blank">rpgoldman@sift.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have been working on enforcing assumptions recently added to the ASDF<br>
docs.  Specifically, that OPERATION instances only be created by<br>
MAKE-OPERATION and SYSTEMs only be parsed inside LOAD-ASD.<br>
<br>
I should have a merge request up for review soon, but find that it's<br>
more tricky than I expected, because we don't even play by the rules<br>
ourselves!  Specifically, there are calls to MAKE-INSTANCE on OPERATIONs<br>
in the ASDF codebase itself.<br>
<br>
Cheers,<br>
r<br>
<br>
</blockquote></div>