1. Ronald Oussoren
  2. pyobjc


pyobjc / pyobjc / BUGS


==> 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


(-) 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 

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


(-) 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.