[OGo-Developer] _e_info in NSException.h

Sebastian Reitenbach developer@opengroupware.org
Mon, 14 Jan 2008 13:10:25 +0100


developer@opengroupware.org wrote: 
> 
> On 14.01.2008, at 11:35, Sebastian Reitenbach wrote:
> 
> > Hi,
> >
> > while changing to gnustep-make 2.0 I tried to compile sope against
> > gnustep-base 2.15.2. In sope there is a private variable of  
> > NSException
> > used: _e_info. which got replaced by _reserved.
> > Therefore I asked about it on the discuss-gnustep@ mailing list.
> > As it is generally a bad idea to access private methods and  
> > variables of I
> > thing Richard is right, and it should be changed in sope.
> 
> This depends on what you're doing. With gnustep-base being opensource,  
> one really doesn't have to guess too hard about the usage of reserved  
> variables. True, access to these variables might break with future  
> updates (as it did in this case), but there's probably a benefit  
> involved. Study the code intensely and find out, why it was used and  
> what it was good for in the first place.
> 
Ok, I'll do that, and hopefully come up with a proposal to change.

> > What would be the preferred way?
> > Adding a general NSException(UserInfo) category?
> > Or change all occurences where this happens, I think it is only one  
> > place in
> > NGImap4...
> 
> A category might make sense, but if it's only used in one place  
> (NGImap4) then this doesn't make too much sense at all. I haven't  
> looked at the code, but to me this sounds like legacy.
yeah, I see, might not that useful, well, I need to take a look into the 
code.

> 
> > As I only see ifdefs for GNUSTEP_BASE_LIBRARY but not for Cocoa, and
> > Richards test program fails on Cocoa, I wonder how is this working  
> > on Cocoa?
> 
> Several things might not work on Cocoa at all - that's the problem of  
> Apple's Foundation being closed source. We should never depend on such  
> features to work on any foundation library anyways, it's more or less  
> something of an added value if it does.

I thought Helge cares a lot about Cocoa and whenever I come up with changes 
he says it has to not break compiliation/running on cocoa, that is why I 
wonder how it works there.