On 28 Jan 2012, at 12:34, Ivan Vučica wrote: > Hi all, > > Amr has used some Objective-C 2.0 features in QuartzCore, such as @property. > What's the status on use of 2.0 in extra libraries in GNUstep? Should I work > on changing all that to manually implemented methods?
The decision at FOSDEM last year was that UIKit can use Objective-C 2 features, as there is no legacy Objective-C 1 code that uses UIKit, so anyone wanting to use UIKit is already restricted to an Objective-C 2 compiler. All of these features have been working with Clang and the GNUstep runtime for a while, and they should also work with GCC 4.6. > Am I required to use macros such as AUTORELEASE() or can I directly call the > -autorelease method? The AUTORELEASE() macro is an ugly hack to remove -autorelease calls when using the old Apple-incompatible GC mechanism. The cost of not using them is just a few message sends that do nothing. Unless it's really performance critical code that is expected to run in the old GC mode, I wouldn't bother. They obfuscate the code and make it harder to read static analyser warnings. > Also, I feel more comfortable using my own coding style when it comes to > indentation and stuff like that. For libraries where I feel I might be doing > major contributions, can I use my own coding style, or am I absolutely > required to use the GNU coding style? More difficult to say. The runtime uses the Étoilé coding conventions, which are actually sane, but for any contribution to base or gui I try to stick to writing obfuscated code^W^W^Wfollowing the GNU coding conventions. The most important thing is consistency within a project, so if the library already uses one set of coding conventions then it's best to follow it, rather than mix and match. David -- Sent from my brain _______________________________________________ Gnustep-dev mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnustep-dev
