OK, my proposal is to:
a) add a method #obsoleteDontUseThisFetchWordOfObject, implemented as needed to return the 32bit word etc.
b) change sqVirtualMachine.[ch] to _replace_ VM->fetchWordofObject = fetchWordofObject; with VM->obsoleteDontUseThisFetchWordOfObject = obsoleteDontUseThisFetchWordOfObject;
c) add VM->fetchLong32OfObject
Thus old plugins will be expecting the fetchWord stuff at that offset into the vmproxy struct and will find something suitable. New code will probably not use this 'new' method since everyone is too (hopefully) lazy to type that lot in. An attempt to freshly compile 'old' code will fail with an error 'symbol not found' or similar.
I'm not actually too keen on modifying an old part of sqVirtualMachine but if we want to rescind a function we don't have much choice.
Does this suit people?
tim -- Tim Rowledge, tim@rowledge.org, http://www.rowledge.org/tim Strange OpCodes: MW: Multiply Work