On 10 Apr 2010, at 16:36, Manuel Guesdon wrote: > About GSObjCRuntime, my main questions are > - what will be broken
Richard can answer this better than I can, (this time it wasn't my fault!) but in general, only things that are duplicated functionality are being removed. GSObjCRuntime had two purposes: 1) Abstracting the details of the runtime data structures from the programmer. 2) Providing things like mixins that are not part of the core Objective-C object model. Nothing in category 2 is going away. Things in category 1 are, because we now have a more portable abstraction layer. Apple now ships two Objective-C runtimes. With their Modern runtime, the internal data structures are all private and everything must be done via function calls. To make compatibility easier, they ported these APIs back to their Legacy runtime, so you can use them with both runtimes. I implemented these APIs on top of the GNU runtime to make life easier for Étoilé, and this version is now part of -base. These APIs are also now the official public interface for libobjc2, which means that every shipping runtime supports them. It therefore no longer makes sense to have this functionality duplicated in GSObjCRuntime. You can either use the Apple APIs, which work everywhere, or the GSObjCRuntime APIs, which only work if you have GS Additions installed. > - what in these broken features are really used No idea. > - is there a clean way to make these used features working again Yes, most of the removed functionality has direct equivalents in the new API. We could reimplement the old APIs as wrappers around the new ones if required. It would be better for user code to be updated to use the new APIs, but if this is a problem then I can reimplement any of the required functions before the next release if someone gives me a list of the ones that are needed. David -- This email complies with ISO 3103 _______________________________________________ Gnustep-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnustep-dev
