Faré wrote: > On Fri, Jun 6, 2014 at 5:46 PM, Robert P. Goldman <rpgold...@sift.info> wrote: >> Trying to identify what's breaking my system in the syntax-case branch, >> I found a bunch of around methods in ASDF. >> >> IIRC once upon a time we had removed all the :AROUND methods on exported >> generic functions, on the grounds that they could unpredictably interact >> with programmers' extensions. >> >> I think we experimented with using a bespoke method combination method >> to allow ourselves to have our own around methods and "arounder" methods >> for programmers. >> >> Even more vaguely, I think I remember that the method-combination >> extension didn't work reliably on all implementations, so it was >> stripped out. But I thought when that happened, we tried to excise the >> use of method combination in ASDF. >> >> Am I hallucinating this? >> >> I'd be grateful to anyone whose memory of this stuff is better. >> > At some point during ASDF1 days (aa52ad2 from 2008-09-09 by csr21), a > new asdf:around method combination was introduced so that ASDF's own > :around methods would override any user-provided :around method, all > the while allowing such user-provided :around method. This was removed > in the lead up to ASDF2 (826b12b0 aka 1.636 from 2010-03-15 by me), > for better portability to implementations that didn't support the > "long" method combination format (I believe CLISP and ABCL at the > time, though they added them since, possibly others). > > So we *are* using the regular :around method combination, but in one > case, I've split a gf in two: perform became perform and > perform-with-restarts.
I was wondering about the :AROUND methods for OUTPUT-FILES and INPUT-FILES, which are exported and which we invite programmers to provide methods for. I don't think this is necessarily a big deal: we explain pretty carefully the contract for these functions (I need to check on the discussion in the manual). But we *could* add a wrapper function around OUTPUT-FILES (resp. INPUT-FILES) and put the :AROUND logic in that, and have ASDF internally call the wrapper function instead of OUTPUT-FILES (resp. INPUT-FILES). Would this be a worthwhile clean-up? thanks, r _______________________________________________ Asdf-devel mailing list Asdf-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel