gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: RFC: GDL2 differences to EOF / WO4.5.1


From: Manuel Guesdon
Subject: Re[2]: RFC: GDL2 differences to EOF / WO4.5.1
Date: Thu, 13 Mar 2003 10:20:36 +0100 (CET)

On Wed, 12 Mar 2003 22:37:16 +0100 David Ayers <address@hidden> wrote:

 >| Manuel Guesdon wrote:
 >| 
 >| >Hi David,
 >| >
 >| >On Wed, 12 Mar 2003 18:23:18 +0100 David Ayers <address@hidden> wrote:
 >| >
 >| > >| Hello Manuel,
 >| > >| 
 >| > >| I'm coming up with oddities of EOF 3.0 of WO4.5.1 and subtle 
 >differences 
 >| > >| to GDL2 here and there:
 >| > >| - EONull compareAscending: nil returns NSOrderedAscending instead of 
 >| > >| NSOrderedSame
 >| >
 >| >I have no specific preference. 
 >| >  
 >| >
 >| I think GDL2 behaviour is correct so I would like keep it.

OK.


 >| > >| - EOModel does not implement isEqual:
 >| >
 >| >And WO4.5 does ? So we'll  to implement it...
 >| >
 >| No it doesn't, but I think GDL2 should anyway.  (It's rather trivial, 
 >| but it changes behaviour.)

OK.
Do you know what are the implication of this ? I don't see many case where 
we need to compare models. I haven't really an opinion in this.


 >| > >| And I haven't gotten far enough into .gswd/.wod-parsing to analyse the 
 >| > >| GDL2 feature of NSDictionary valueForKeyPath and quoted key names.  I 
 >| > >| would like to propose the following default: 
 >| > >| GSUseStrictWO451Compatiblity or GSUseStrictEOF451Compatiblity or 
 >| > >| GSUseStrictEOF30?Compatiblity or what ever better name someone comes 
 >up 
 >| > >| with.
 >| >
 >| >I don't like too much this kind of things because if you use 2 frameworks 
 >or 
 >| >libraries which set a different behaviour, the result is unknown and may 
 >| >depend on some calling order.
 >| >I still don't see real problem with quoted key names but if you want to 
 >make have 
 >| >a parameter to control this, I'm OK :-)
 >| >  
 >| >
 >| Well the point is that as soon as I continue to fine tune the tests, 
 >| more and more of these issues will arise, and I wanted to put a general 
 >| mechanism in place, which I could consistently use.  But I do recognize 
 >| your concerns...

I think we should try to avoid this but if we can't , yes, I agree with your 
solution.

 >| > >| - have [EOModel isEqual:] call super instead of a sane isEqual: 
 >| > >| implementation, that I would like to have a look at later.
 >| >
 >| >For this one, WO4.5 implementation should be OK, shouldn't it ?
 >| >
 >| >  
 >| >
 >| Actually it was during writing testcases that I noticed that it wasn't 
 >| implemented.  And it's not implemented in WO4.5 either.  I just think we 
 >| should.

OK.


 >| Testing OS 4.2 vs WO 4.5 show some substantual differences in KVC of 
 >| NSDictionary when was looking into GDL2 quoted key feature.  I know that 
 >| many of these are edge cases and subtle differences that cause no 
 >| immediate harm in 98% of the usages.  But in my experience, it's these 
 >| 2% edge cases which makeup an unproportional amount of the debugging 
 >| effort, especially when porting.  This was my original concern.
 >| 
 >| On the other hand it is doubtful that all edge cases can be identitfied, 
 >| no matter how estensive the tests are.  And I may end up adding a lot of 
 >| extensive edge case handling and still miss the ones that are causing 
 >| problems.  I also mean to keep and add comprehensive features, that are 
 >| not part of EOF, and these might also trigger such problems.
 >| 
 >| In retrospect, I'm thinking of holding the default back for now and 
 >| leaving GDL2 behaviour as it is in these edge conditions and comment 
 >| code and test cases.  I'll sleep over it again.  Comments appreciated.

On KVC, yes I suspect some differences but I've never found a way to fully 
understand WO cooking on this. I suspect this because some WO versions ago, 
they made differences between EOGenericRecord and EOCustomRecord. 
As far as I remember, one can't subclass EOGenericRecord and need to 
use EOCustomRecord for subclassing. I don't know if this is still true in last 
WO 4.x version and/or WO5.
Base+GDL2 implementation seems to handle all cases but may one will find a 
specific one which doesn't  work :-(

Manuel
--
______________________________________________________________________
Manuel Guesdon - OXYMIUM <address@hidden>
14 rue Jean-Baptiste Clement  -  93200 Saint-Denis  -  France
Tel: +33 1 4940 0999  -  Fax: +33 1 4940 0998





reply via email to

[Prev in Thread] Current Thread [Next in Thread]