discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Renaissance: initStarndardStaticNameTable question


From: Nicola Pero
Subject: Re: Renaissance: initStarndardStaticNameTable question
Date: Fri, 7 Nov 2003 10:09:20 +0000 (GMT)

> In the initStarndardStaticNameTable function 
> (GSMarkupBundleAdditions.m) there's a lookup of first the NSApplication 
> class and then the "sharedApplication" selector.  The class is then 
> made to perform the selector using +performSelector:.
> 
> This gives a compiler warning on Mac OS X 10.3 with Apple's GCC 3.3, 
> saying Class may not respond to +performSelector:.  Obviously in this 
> case it will, but I was wondering why it was done this way.
> 
> It should be possible to replace the whole lookup dance with
> 
>    [NSBundle registerStaticObject:[NSApplication sharedApplication]
>                          withName:@"NSApp"];
> 
> shouldn't it?  After all, initStandardStaticNameTable is always going 
> to run after the NSApplication class is loaded;

You implicitly assume that ... you are using gnustep-gui. :-)

I know using gnustep-gui is the default, and the main reason Renaissance
exists - but you could want to use the Renaissance XML setup with a
different TagLibrary to encode/decode stuff which is not GUI elements.

You'd compile the Markup subproject as a standalone library and use it
with your own TagLibrary.  In that case, you might not be using
gnustep-gui.

If this sounds weird, let me say that I've got a specific case in which I
need this - I've been able to place the Markup part of Renaissance as one
of the key components of part of the services of the company I work for.  
Another XML encoder/decoder would have been equally good I suppose, but
this gave me the opportunity to debug the Renaissance one during work
hours (and made my work much more fun and exciting, ending up in much
better software).  This software which uses the Renaissance Markup library
has nothing to do with GUIs.

It's possible that someone else might want to do this, even if admittedly
unlikely as another XML decoder/encoder might be equally good and possibly
better known and documented in books etc.

Anyway this is the reason why that (admittedly confusing) code is there -
to allow me (and whoever else wants) use that part of Renaissance in
servers and software where there is no gnustep-gui involved.

I thought I had a comment in the code explaining this - I'll extend it.

But thanks for your comments and suggestion.





reply via email to

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