Taking a look at that, there are 2 overrides in WorkingSet
PasteupMorph>>keystrokeInWorld: but the diff is the same with my default version! So it can be removed
HandMorph>>sendKeyboardEvent: which is the real conflicting method
Looking at it, there are 3 different versions, the default one, one from WorkingSet and one from Algernon. On the plus sign, it's quite easy to merge the last two and make WorkingSet works together with Algernon.
But the one from Algernon is actually the worst way to patch things, because it is all in a changeset which is encoded in binary format (see ConfigurationOfAlgernons>>multipleFocusHolderCs :(
It adds an instance variable to HandMorph and overrides two methods in HandMorph. Of course you cant see it at first since these are hidden in the binary changeset :(
what is a binary changeset
'''From Squeak3.7gamma of ''''17 July 2004'''' [latest update: #5985] on 9 August 2004 at 7:56:10 pm''! "Change Set: MultipleFocusHolder-hpt Date: 9 August 2004 Author: Hernan Tylim
This changesets does the simplest modifications to HandMorph for it to support various focus holders.
The important changes are:
* addiionalKeyboardFocuses instance variable was added with its getter and setter methods.
* HandMorph>>sendKeyboardEvent: was changed to traverse the list of keyboard focus holders and call HandMorph>>sendEvent:focus:clear: to each one of them.
* HandMorph>>sendEvent:focus:clear: was changed to preserve the ''wasHandled'' status of the event, before that info were lost because the Event instance were copied before passed to the Morph. "!
The comment itself is misleading, it overrides sendFocusEvent:to:clear:, not sendEvent:focus:clear:
I feel much less keen to include Algernon now that I have seen that.
Yes. We should pay attention because we can have a lot of hackishi code.