As an outsider to the Wesnoth project, I find this discussion very
encouraging.

I will comment directly to Python 3.0;

I've been working with it's c-api in development of an XMPP server framework
(specifically so custom game "meta" servers can be easily written and proper
TeamSpeak-like voice conferencing integrated into games), it's really not
that different from 2.x.  If your 2.x bindings are designed properly both
2.x and 3.x can be supported in one codebase with a few #ifdef's

On proper design, specifically you'll want to avoid using the string type
for strings, use unicode exclusively for text.  Write and use a collection
of #define's that does char*<->PyObject* conversion so this can be changed
from (ie) PyString_FromString to PyUnicode_FromString without #ifdef's
everywhere.

Python 2.x will be supported for some time, yes, but there is a
community-wide migration effort underway to 3.0 and Python 3.x will be the
default on most distros as early as next year.  At this point it makes the
most sense to support both APIs.

http://wiki.python.org/moin/Py3kExtensionModules has more tips on it.


On Fri, Jan 2, 2009 at 12:34 PM, Eric S. Raymond <[email protected]> wrote:

> In general, unless you're talking the difference between 2.x and 3.x,
> the differences are not enough to matter to us.  The last time a
> Python 2.x version change had the sort of ripple effect you're
> worrying about was years ago, pre-Wesnoth, when true lexical scoping
> was introduced.
>
> 3.x really is a disruptive change, but 2.x will be maintained and
> supported for the foreseeable future on our target platforms.
_______________________________________________
Wesnoth-dev mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-dev

Reply via email to