Fred Wrote:.. >> From the name of the format in the error message I gather that you are >> complaining about an Apple bug here. Is this correct?
no its really a feature of them deprecating the openstep style plists, at some point writing worked for legacy apps (as shown by the example link Dave posted), and then at some point it appears they have removed it allowing only to read legacy and write xml plists... if you look here it is clearly deprecated.. http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSPropertyListSerialization_Class/Reference/Reference.html quote: Important: The NSPropertyListOpenStepFormat constant is not supported for writing. It can be used only for reading old-style property lists. On Sun, Oct 26, 2008 at 2:07 PM, David Wetzel <[EMAIL PROTECTED]> wrote: >> David Wetzel wrote: > >> > add [+NSPropertyListSerialization >> > dataFromPropertyList:format:errorDescription:] >> > to base-additions, call the Apple implementation if format != >> > NSPropertyListOpenStepFormat >> > if code runs on Apple. > >> What I cannot understand is your proposed solution to this problem. We >> should replace the method in the GNUstep extensions, but still call the >> Apple version of the same method in some cases? There may be way to do >> this, but this is clearly a dangerous proposal. > > Why? It will do the same like on a GNUstep or OPENSTEP system. I think Fred's 'clearly a dangerous proposal.' mostly is coming from the fact that in order to override a method with the category and then call the original implementation will require runtime hacking through method swizzling, and overrides intended noon-functionality of their foundation... http://www.cocoadev.com/index.pl?MethodSwizzling It may be worthwhile to think of a less invasive (not to mention easier) change, of just exposing the GNUstep implementation of NSPropertyListSerialization as GSPropertyListSerialization and adding it to base-additions then using that in gdl2 > >> Wouldn't it be easier to just convert property lists written on new Macs >> to be used on old installations of EOModeler? GNUstep should be able to >> do that conversion. > > I want to run DBModeler.app on OSX and read + write .eomodeld files in a > format all original > EOModelers understand. Otherwise DBModeler is useless. > > http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/Articles/OldStylePListsTa > sk.html > yeah, that works with GNUstep but there is also old WebObjects installations which predate xml plists entirely let me just add another slightly related tidbit here https://savannah.gnu.org/bugs/?22364 DBModeler is also in the same position as cenon I think, it is wanting the old style plists when NSValue's etc were encoded as strings it looks like if we used NSPropertyListSerialization we might be able to get rid of the places when we encode where we manually convert everything to strings, and we could go back to just encoding NSValue's which might clean up that code a bit too.. as it is, the code dates back from when there was 'one plist format to rule them all.', which predates NSPropertyListSerialisation, and when the GNUstep plist format was changed, we just coaxed the code into encoding the correct object types that it expects to find... anyhow, i'm pro reliable way to write old openstep style plists. _______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev