Re: GDL2 EOFault.m patch to fix -[EOFault forward::] on MacOS 10.4
On Mar 6, 2008, at 7:39 AM, David Ayers wrote: Is this patch too evil, or can we do something like this? Hehe... actually, it's not evil enough. ;-) I've committed a patch that should replace the runtime implementation pointer of EOFault's forward:: method with the one of NSObject. This should also save us a level of indirection at the price of not being able to set a breakpoint in gdb for EOFault'S forward::. For gnu-gnu-gnu (i.e. the GNU runtime) forward:: is actually not called anymore so I can't really test it. Could you please let me know if this works for you? Thanks! It works with the new patch below, i.e., check for NULL. I forgot to mention that it appears that forward:: is neither called nor implemented by NSObject under 10.5. It is implemented and called under 10.4. It allows -[EOFault forward::] to work on MacOS 10.4, gets rid of some code duplicated from NSObject.m, and allows the following unimplemented methods to be deleted from GSCategories.h and GSCompatibility.m in base: // Used only in EOFault.m, -[EOFault forward::], for Object compatibility @interface NSInvocation(GSCompatibility) - (retval_t) returnFrame:(arglist_t)args; - (id) initWithArgframe:(arglist_t)args selector:(SEL)selector; @end Indeed, if this works (and if that was really the last place these methods were used) then I'm fine with having this removed from -base. The comment shown above is from the actual code in SVN, though I don't know if it is true. I deleted these methods in my copy and have not noticed any problems, but that's not saying much. Thanks again, Tim EOFault.m.diff Description: Binary data ___ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: GDL2 EOFault.m patch to fix -[EOFault forward::] on MacOS 10.4
Thanks Tim! Tim McIntosh schrieb: Thanks! It works with the new patch below, i.e., check for NULL. I forgot to mention that it appears that forward:: is neither called nor implemented by NSObject under 10.5. It is implemented and called under 10.4. Great! Committed! // Used only in EOFault.m, -[EOFault forward::], for Object compatibility @interface NSInvocation(GSCompatibility) - (retval_t) returnFrame:(arglist_t)args; - (id) initWithArgframe:(arglist_t)args selector:(SEL)selector; @end [snip] The comment shown above is from the actual code in SVN, though I don't know if it is true. I deleted these methods in my copy and have not noticed any problems, but that's not saying much. Well I currently don't have all GNUstep related projects checked out so I can't easily grep. I'll assume that Richard put that comment in there. Richard, feel free to remove that category in the unstable branch at your leisure (if that's ok with everyone wrt ABI/API compatibility). Cheers, David PS: I've just committed some NSProxy tests (that would effect EOFault just the same) which has some issues with the GSFinePoint (NSPoint with doubles instead of floats) and GSBitFields (imaginary stress-test type) in my setup. I still want to add test for passing NSDecimal as values (which is generally not done so any failures there should also be taken with a grain of salt). I would suspect the GSBitFields will break everywhere since it looks like an error during the parsing of the method signature. I currently don't have the time to look into it though. So don't hold your breath. But I thought it would be nice start to check libffi/ffcall coverage. ___ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: GDL2 EOFault.m patch to fix -[EOFault forward::] on MacOS 10.4
Hello Tim! Tim McIntosh schrieb: Is this patch too evil, or can we do something like this? Hehe... actually, it's not evil enough. ;-) I've committed a patch that should replace the runtime implementation pointer of EOFault's forward:: method with the one of NSObject. This should also save us a level of indirection at the price of not being able to set a breakpoint in gdb for EOFault'S forward::. For gnu-gnu-gnu (i.e. the GNU runtime) forward:: is actually not called anymore so I can't really test it. Could you please let me know if this works for you? It allows -[EOFault forward::] to work on MacOS 10.4, gets rid of some code duplicated from NSObject.m, and allows the following unimplemented methods to be deleted from GSCategories.h and GSCompatibility.m in base: // Used only in EOFault.m, -[EOFault forward::], for Object compatibility @interface NSInvocation(GSCompatibility) - (retval_t) returnFrame:(arglist_t)args; - (id) initWithArgframe:(arglist_t)args selector:(SEL)selector; @end Indeed, if this works (and if that was really the last place these methods were used) then I'm fine with having this removed from -base. Cheers, David ___ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev
GDL2 EOFault.m patch to fix -[EOFault forward::] on MacOS 10.4
Hi All,Is this patch too evil, or can we do something like this?It allows -[EOFault forward::] to work on MacOS 10.4, gets rid of some code duplicated from NSObject.m, and allows the following unimplemented methods to be deleted from GSCategories.h and GSCompatibility.m in base: // Used only in EOFault.m, -[EOFault forward::], for Object compatibility@interface NSInvocation(GSCompatibility)- (retval_t) returnFrame:(arglist_t)args;- (id) initWithArgframe:(arglist_t)args selector:(SEL)selector;@end-Tim EOFault.m.diff Description: Binary data ___ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev