When using 'import' for system headers on Linux with GCC 4.6.2 the header control macros do not work
as intended and therefore everything is messed up.
That is with:
CFLAGS += -Wall -Werror -std=gnu99 -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-sequence-point
Improvements made:
- <process.h> does not exists in Linux
- some Windows special code was not wrapped into #ifdef WINDOWS
- corrected case in at least one import
- replaced nil by NULL or 0 when used for non-object pointers or numbers
- added missing imports
- removed/commented out unused variables
- added dummy usage for some needed variables (i.e. localException in NS_HANDLER)
- removed noop fprintf
- added casts if necessary
- initialized variables if necessary
- replaced *<variable>++ by *<variable> += 1 since the former returns a value wich was ignored
- surrounded assignments used as boolean expression by braces
- added missing return statements
N.B.: Since this commit does not contain any runtime related changes the result will not compile at
all with stock gcc under Linux :).
- added 2.0 objc/runtime.h, message.h with most of the declarations
- added deprecated.h for deprecated declarations
- cleanup objc-class.h to use standard naming for structs
- moved FOUNDATION_EXPORT to NSObjCRuntime.h
- deleted ObjCTypes.h, ObjectiveC.h
- moved Object.h/Protocol.h to objc headers
- added method.m, ivar.m for method_ and ivar_ functions
- Changed all use of deprecated SELNAME to sel_getName
- Changed use of OBJCLog in Foundation to replacement NSCLog
- Changed most all the equivalent OBJC* names to 2.0 function names
- rename OBJCIsKindOfClass to NSObjectIsKindOfClass, move to NSObject.m
- removed empty OBJCReportStatistics, objc_lock.h
NSPopUpButton lastItem
lots of bindings fixes; bindings refactored
NSImage -lockFocusOnRepresentation with nil will fill in image data after creating cached rep
table view preparedCellAtColumn implemented; is now used to prepare cell
- NSApplication*ActiveNotification's behavior implemented
- gcc 4.2.1 compiler warnings reduced
- First pass at PDF output, -[NSView dataWithPDFInsideRect:], and underlying NSPrintOperation, KGPDFContext and KGPDF* code functional but not complete (text, images and shadings not functional)
- Cleanup of KGContext,KGGraphicsState to be more general/abstract, moved KGRendering/DeviceContext into Win32
- NSCachedImageRep changed to use NSWindow instead of CGLayer
- Issue #33 fix
- Dirk Theisen's NSIndexPath implementation added
- Dirk Theisen's NSThread and [NSColor colorWithAlphaComponent:] changes
-[NSObject methodForSelector:] and +[NSObject instanceMethodForSelector:] now return objc_msgForward instead of NULL if selector not present per behavior of Apple's Foundation but not documented (thanks to Mike Ash)
- NSPredicate scanner/parser completed
- Another pass at the NSExpression* and NS*Predicate classes
- added template for NSGlyphInfo, NSGlyphGenerator
- setters/getters in NSDatePicker, NSDatePickerCell implemented
- setters/getting for NSAlert implemented
-[NSString compare:options:range:] implemented
- Fixed issue #25, %C should work now in NSString format strings
- Initial pass at issue #26, partial implementation of NSKeyedArchiver
- Initial pass at recursive descent parser for NSPredicate format strings.
- A few CoreFoundation headers added to Foundation
- NSConditionLock template added.
-[NSBundle objectForInfoDictionaryKey:] implemented
-[NSCharacterSet isSupersetOfSet:] implemented (poorly)
-[NSMutableData replaceBytesInRange:withBytes:length:] implemented
-[NSData dataWithBytesNoCopy:length:freeWhenDone:] implemented
-[NSString UTF8String] implemented
-[NSString stringByStandardizingPath] added by not implemented correctly
-[NSError localizedDescription] implemented
+[NSSet setWithObjects:count:] implemented
- AppKit/binders renamed AppKit/NSKeyValueBinding
- Initial pass at NSFontDescriptor added
-[NSView convertSize:to/fromView:] implemented
-[NSFont getAdvancements:forGlyphs:count:] implemented
-A few NSAnimation/NSViewAnimation definitions added
- Added Rolf Jansen's color and font panel nibs which fix layout issues with the new button frame adjustment
- Moved nib loading functionality to NSNib, NSNibLoading now uses NSNib
- Fixed NSFileHandle_posix.m not importing NSRaise.h
- NS*Controller header templates
- First pass at NSSortDescriptor
- Preliminary work on NSPredicate et al