[asdf-devel] New features in ASDF 2.27

Faré fahree at gmail.com
Fri Jan 25 01:35:20 UTC 2013


I'm in the opinion that if you want W-C-U, you should do it yourself explicitly.
However, for the sake of backward compatibility,
and since you have a strong opinion otherwise,
I'll restore the W-C-U :around perform-plan.

The deferred-warning feature (currently on CCL and SBCL only)
will continue working because it uses W-C-U (:override t).

Now, if you would contribute deferred-warning support of ACL,
that would be great.

My apologies for the breakage.
That's one big reason why I ask people to test before release.
Thank you for testing.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
"I think sex is better than logic, but I can't prove it." — Monty Python


On Thu, Jan 24, 2013 at 7:50 PM, Robert Goldman <rpgoldman at sift.info> wrote:
> I am heartened to see the many fixes to long-deferred bugs, particularly
> the system dependency fail.
>
> However, this ASDF is not ready for prime time, at least for use with
> ACL.  Its behavior with ACL, because of getting rid of the
> WITH-COMPILATION-UNIT, is simply unacceptable.
>
> On all our well-formed ASDF systems, compilation now spews out huge
> numbers of false-positive undefined function warnings that used to be
> handled acceptably by the WITH-COMPILATION-UNIT.
>
> I really don't like the removal of W-C-U: it takes the normal ASDF
> use-case of single-process compilation and loading, and deprecates
> correct behavior there in order to achieve some improvements in a
> non-standard case of compiling lisp files in different processes, and to
> fix a problem with the less often used TEST-OP.
>
> So far, the fix here is worse than the disease, since it fails any
> number of good ACL systems.  For example, I believe every one of my
> company's systems would fail its continuous integration testing using
> the new ASDF, because of the spurious warnings.
>
> At this point, I would have to advise implementations other than CCL and
> SBCL to decline to adopt 2.27, or to restore the WITH-COMPILATION-UNIT
> with some :AROUND methods.
>
> I don't like to see divergence among implementations like this, so I can
> think of two short-term expedients
>
> 1. push the WITH-COMPILATION-UNIT removal out onto a topic branch until
> the community can ensure that all supported implementations defer the
> warnings correctly, or
> 2. keep a single ASDF, and restore the WITH-COMPILATION-UNIT in a #-(or
> sbcl ccl) block.  Add more implementations to the #- as we can support them.
>
> The advantage of 2 is that we can continue to test the new behavior on
> systems where it is implemented, and we have a single ASDF version; no
> forking.
>
> The advantage of 1 is that it better handles the situation if there are
> implementations where warning throttling *cannot* be made to work
> properly.  In that case, I believe it's better to have a single
> behavior, even if suboptimal, instead of having a divergence in ASDF
> semantics between different implementations.  Another reason we might
> prefer alternative 1 is that it is robust to finding other behaviors
> that require W-C-U.  I don't understand the semantics thoroughly enough
> to know whether undefined entity warnings are all that we need to worry
> about.
>
> I will try to make a test that shows the bad behavior on ACL.  Then we
> could see if this behavior happens on other CL implementations, and
> would have a criterion for good performance.
>
> Best,
> r




More information about the asdf-devel mailing list