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 <[email protected]> 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 _______________________________________________ asdf-devel mailing list [email protected] http://lists.common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
