Source

pyobjc / pyobjc-core / Lib / objc / todo.txt

Full commit
- TODO:
  * Later: automaticly parse the property definitions in the objc runtime
    and do the right thing (but: also add global flag to enable/disable this)

    Partially done: there is a function for parsing property definitions, but
    that isn't used yet.

  * Later: add metadata hooks + the data itself to define properties (again:
    using the global flag to enable/disable properties on existing classes)

  * The plan: flag == False in 2.3, flag == True in 2.4, remove flag in 2.5.
    (and: add hooks to py2app to enable setting the flag in setup.py)

- Binaries are build using a local copy of libxml by default, to avoid
  problems when building on OSX 10.6 and running on earlier releases.

- TODO: compile bridgesupport files into something more efficient.

  (At the very least least: the PyObjCMethodSignature objects can be shared 
  more than they are now). 

  This needs further investigation to determine why we seem to use more memory
  than Ruby.

- TODO: Drop support for 2.5 and 

  * implement '__dir__'

  * avoid scanning the entire class

  * drop 'addConvenienceForSelector', but instead of that add convenience methods
    to classes.

  This should improve performance and reduce memory usage (when proper caching
  is used).

- TODO:

  * Test memory usage using the Instruments tool to check which bits
    of PyObjC use (too) much memory. Do this using a build of
    Python without pymalloc (because pymalloc confuses Instruments)

- TODO:

  * NSData/NSMutableData should have same interface as bytes/bytearray
    (the former obviously only for 3.x)

  * Move manual wrappers and metadata for NSArray, NSData, NSDictionary,
    NSSet and their mutable variants to pyobjc-core