[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.