[asdf-devel] A shot at fixing the module dependency bug

Robert Goldman rpgoldman at sift.info
Mon Feb 8 04:08:41 UTC 2010


OK, I have committed a first shot at fixing this.

However, there is no easy way to have a module update its components
upon dependency change but not have a system update its components upon
dependency change, because a system is a subclass of module.

So my path may not be desirable, or at any rate the community may want
to think about it a bit before adopting it.

Furthermore, I did the patch as a minimal perturbation to TRAVERSE,
which has a structure which I, at least, find somewhat difficult to
follow.  The structure is one large function with a FORCED variable
which holds the plan (sequence of OP . COMPONENT pairs).  This large
function contains three sub-functions in LABELS that destructively
modify the FORCED variable.

I think a good case could be made for breaking those sub-functions out
(for easier tracing, if nothing else), and having them return values
that are appended onto the list, instead of side-effecting.

But this is an aesthetic matter, and would also create many problems for
understanding the modifications I made, so I did NOT do this.

Since these changes seem to me controversial, I did not push my changes
into the main repository, but instead added a "module-depends" branch to
the common-lisp.net git repository.  I hope that this will make the
changes easier to assess.

Cheers,
r




More information about the asdf-devel mailing list