Interface Design
That's a good point about Setfunction(). It has been bandied about since
shortly after the Amiga appeared. One of the best solutions to the problem
I have heard suggested was to have SetFunction() keep track of all calls
to itself, and to keep a linked list of 'old function pointers' that would
take care of restoring the old pointers to only valid code.
While it's really the job of the OS to provide this service, there is
really nothing stopping some enterprising programmer from doing a
SetFunction() on SetFunction(), and making it clear that the scheme will
work. I think CBM would probably add it in 1.4, especially if it can be
shown to be workable.
Maybe I'll get the DAS people to work on it. 🙂