pyobjc / pyobjc / BUGS

THIS LIST DOES NOT CLAIM COMPLETENESS.

==> Status indicators: (-) not fixed; (*) fixed; (?) not sure.

What?!? You have the solution for one of these points? Run the Mailer!
======================================================================

Problems that are difficult to solve
------------------------------------

(-) Does not handle calls with variable number of arguments.  (This is
actually impossible to completely fix without reimplementing *all* of
the logic behind the methods that take varargs;  i.e. reimplementing
everything necessary to deal with +stringWithFormat: or
+arrayWithObjects: type API-- two very different beasts [bbum]). 

(-) It's impossible to send messages containing '$' in the name: ObjC
allows it, Python does not.

Known portability problems
--------------------------

(?) GNU runtime support is currently non-existant.  We need volunteers
with GNU runtime expertise to move this forward.  Either that, or a
recipe for working with the pure-GNU runtime on OS X.

(?) When WITH_FOUNDATION is not defined (it is only when using the GNU
Runtime, and will be on OpenStep), Objective-C objects are not
retained nor released, so the code may access freed objects.

(?) GNUstep Base wants the main function of the application be
``gnustep_base_user_main''. NSProcessInfo implements its own ``main''
function to initialize internal copies of arguments and environ,
then calls gnustep_base_user_main(). We have to patch pythonrun.c for
this. 

Others
------

(-) Sending ObjC messages from multiple threads does not currently work.
The ``argument arena'' in objc_support.c should be rewritten thread-safe.
  Ronald: The ``argument arena'' should be removed completely, we're mostly 
  there.

(-) Suspicious code is marked with 'XXX'.

Missing
-------

(-) It is impossible to pass a reference to an NSString object into
    the python runtime such that the fact that it remains an
    NSString.  As such, it is impossible to invoke NSString specific
    methods directly.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.