Marcus von Appen wrote:
On, Wed Oct 08, 2008, Lenard Lindstrom wrote:
The time consuming part will be the the Pygame extension modules. The C
api will change with Python 3.0. It looks like major modifications here
for every module. And unlike the Python code I know of no automatic tool
to help out. Most changes are not backward compatible. Module state
moves to a dynamically allocated structure. And of course there is
Unicode again. All string handling code will have to be modified, more
encodings and decodings.
If the C API changes a lot, we will have to manage both, a 2.x pygame
branch and a 3.x branch. Luckily I won't have a look at 3.0 before
it's officially released, I think :-).
However, the last glance I took at it showed only some minor differences
(PyBuffer*, initialisation/finalisation and some other things), so it
probably won't be a big deal.
Regards
Marcus
I suggest you have a look a PEP 3121:
http://www.python.org/dev/peps/pep-3121/
Also, gone are the PyInt_ and PyStr_ routines. Everything must be recode
to use PyLong_ and PyUnicode_ routines. These changes can be back
ported. But what will they do to the Python signatures of the Pygame
callables. The old string functions are now PyByte_, but these are only
available in 2.6 and up. The nb_coerce slot has totally vanished from
Python 3.0's PyNumberMethods. That will break a lot of extension type
declarations in itself, even without the buffer interface changes. These
are only the differences I could think of offhand.
--
Lenard Lindstrom
<[EMAIL PROTECTED]>