On Fri, Jun 6, 2014 at 5:46 PM, Robert P. Goldman rpgoldman@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.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Down to Gehenna or up to the Throne, He travels the fastest who travels alone. — Rudyard Kipling