On Sun, 29 Aug 2010 09:20:56 +1000
Nick Coghlan <ncogh...@gmail.com> wrote:
> 
> Four options come to mind:
> 
> - just leave it out of the limited API, extensions can do their own
> thing to print objects
> - leave PyObject_Print out of the limited API, but create a
> PyObject_PrintEx that takes a Python IO stream via PyObject* rather
> than a C level FILE*.
> - leave PyObject_Print out of the limited API, but create a
> PyObject_PrintEx that takes function pointers for the above 4
> operations (so the FILE* pointer is only every operated on by
> functions from the extension module's CRT)
> - leave PyObject_Print out of the limited API, but create a
> PyObject_PRINT macro that does much the same thing with the logic
> rearranged so there is an inner function that figures out the string
> to be printed, but an outer macro that does all the operations on the
> FILE * object (so again, the FILE * is never passed to Python's CRT)

Fifth option:
- make PyObject_Print() an inline function (similar to your macro
  proposal), but only on Windows. This would retain the name and
  current signature. Apparently we could use something like
  "__forceinline" or "extern __forceinline"?

Regards

Antoine.


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to