2 major changes:
- Support for GNUstep
- Support for PEP311
- Add wrappers for SecurityInterface framework
- Add simple unittests for all frameworks, to be sure that the wrappers
can be used.
- Add wrappers for newly introduced difficult methods (and some old)
- Add annotation to method signatures (in, out, inout) where applicable.
- Add partial support for PEP311: it is now always save to call from Objective-C
into Python using easy methods (e.g. those not handled by code in the
- NSKeyValueCoding now uses 'setValue:forKey:' instead of 'takeValue:forKey:'
(and simular changes for 'setValue:forKeyPath:' and
'setValuesForKeysWithDictionary:'). Added support in OC_PythonObject.m,
class-builder.m and the unittests in objc/test/test_keyvalue.py
[Still no notifications on changes...]
- Fix objc_support.m w.r.t. runtime rules for structured types, and add
testcases for them in test_methods2.
- Disable some NSInvocation based tests when one of the argument is one of the
'difficult' structs, NSInvocation garbles these values which would lead to
spurious unittest errors. The tests are only disabled when NSInvocation
has the bug, some C code is used to check if NSInvocation has this problem.
The corresponding C test is disabled on GNUstep, due to GNUstep crashing on
- Add some C-level unittests, this makes debugging lowlevel conversion
- Modernized ObjCPointer.m, it still used tp_getattr (!)
- Add __attribute__((__unused__)) in autoGil.c, to avoid compiler warnings.
- Accept arbitrary sequences instead of only tuples when converting to
Objective-C structs and arrays, both using PySequence_Fast.
- Restructure runtime support, the core bridge now compiles on GNUstep, and
- Fix type in objc module: recyleAutoreleasePool -> recycleAutoreleasePool
- Don't let -respondsToSelector: answer YES if the python implementation is
for a class method.
- Fix bugs in error-path in pointer-support.m
- Fix some faulty error-returns throughout the bridge (found because NULL
is a pointer "literal" on GNUstep and an int literal on MacOS X)
- Reduce usage of NSMethodSignature class, the new code should be slightly
faster and more importantly has exactly the same interface on GNUstep and
- Move (Obj)C code closer to our coding-style.