Comment 11 for bug 479478

Faré (fahree) wrote :

If you don't seen details on success, signalling is fine. If you do, you can side-effect a special variable to store your test results, and then the user can locally bind this variable if he wants to contain the side-effect. But the design of ASDF, inherited from ASDF 1, which got it from earlier defsystems, is such that no value can returned without ugly kludges.

A somewhat acceptable kluge might be for perform-plan to always keep the results (single or multiple) of the last action performed, and return that as one of its many return values, but only if that action matches the one requested by the user (which it would be for test-op, which has operation-done-p nil), which itself would be indicated by a boolean returned as an additional value. Operate would return that flag and multiple-value-list as third and fourth return values. That's somewhat ugly, but oh well. Matt, would that work for you? Note that values are thus never passed from one action to the other, only from the requested action (if performed) to the user.