On Thu, Mar 18, 2010 at 2:55 PM, james anderson <span dir="ltr"><<a href="mailto:james.anderson@setf.de">james.anderson@setf.de</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div style="word-wrap: break-word;"><div><br><div>if asdf were to adopt an <span style="font-size: 10px;">11.1.2.1.2-rule, asdf-ecl.lisp would require a change.</span></div><div><br></div><div>it would not be supported for an extension to extend 'asdf:load-op such that load-op itself specialized an operation-done-p :around method which forced complete traversal results. it would be be necessary to specialize the load-op class as, for example, collect-op, and specialize operation-done-p on that class. in which case its own primary method could always return nil and an :around method would not be necessary.<br>
</div></div></div></blockquote></div><br>What you suggest can not be done. While load-op dependencies are automatically added to all systems by some hard-coded logic in DEFSYSTEM, if we create a collect-op, traverse will not find any dependencies that are related to it and it will refuse to, say, traverse cl-ppcre when stumpwm depends on it.<br>
<br>A potential aternative would be to remove the :around method and use *forcing* but this again does not work, because *forcing* only forces the system we act upon, and not the dependecies it has.<br><br>So right now there is no way to traverse the ASDF system tree without such a hack.<br>
<br>Juanjo<br clear="all"><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://tream.dreamhosters.com">http://tream.dreamhosters.com</a><br>