Faré wrote:
The problem is that the current change in implementation breaks unknown code in ways that quietly cause it to fail to do what the programmer expects without any visible notification of the change.
Any change in implementation will do that: if people start relying on bugs, instead of reporting them and getting them fixed, then of course their code will break when the bugs are fixed
With ASDF, no one really understood the bug (or the structure of ASDF in general), and back in the days of ASDF1, there was no incentive in figuring things out anyway, since there was no good process for getting things fixed. Many people were using kludges
With all due respect, I think you are being a little unfair to the the victims in this case.
In the past, if you assumed that subclassing OPERATION would give you the same dependency behavior as LOAD-OP, then you weren't far wrong.
But now you get no dependency propagation, and that's almost always wrong.
I am not saying there was a better solution, but I don't think it's fair to say that people who subclassed OPERATION were relying on bugs. There WERE bugs in the behavior they relied upon, but that's not the same as relying on bugs....
But this is a quibble. I'm not saying there was a better solution; I'm just saying that fixing these bugs is not without costs, and it's not fair to blame the people who had to live with buggy libraries.
Cheers, r