[Python-Dev] [Python-3000] Stabilizing the C API of 2.6 and 3.0 (original) (raw)
M.-A. Lemburg mal at egenix.com
Fri Jun 6 11:19:29 CEST 2008
- Previous message: [Python-Dev] [Python-3000] Stabilizing the C API of 2.6 and 3.0
- Next message: [Python-Dev] [Python-3000] Stabilizing the C API of 2.6 and 3.0
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2008-06-03 01:29, Gregory P. Smith wrote:
On Mon, Jun 2, 2008 at 4:09 PM, Guido van Rossum <guido at python.org> wrote:
I will freely admit that I haven't followed this thread in any detail, but if it were up to me, I'd have the 2.6 internal code use PyString ... Should we read this as a BDFL pronouncement and make it so? All that would mean change wise is that trunk r63675 as well as possibly r63672 and r63677 would need to be rolled back and this whole discussion over if such a big change should have happened would turn into a moot point.
I would certainly welcome reverting the change.
All that's needed to support PyBytes API in 2.x is a set of #defines that map the new APIs to the PyString names. That's a clean and easily understandable solution.
Programmers interested in the code for a PyString API can then still look up the code in stringobject.c, e.g. to find out how a certain special case is handled or to check the ref counting - just like they did for years.
Developer who want to start differentiating between mixed byte/text data and bytes-only can start using PyBytes for byte data.
I would also add macros that map the PyBytes* APIs to PyString*, but I would not start using these internally except in code newly written for 2.6 and intended to be "in the spirit of 3.0". IOW use PyString for 8-bit strings containing text, and PyBytes for 8-bit strings containing binary data. For 8-bit strings that could contain either text or data, I'd use PyString, in the spirit of 2.x.
-- Marc-Andre Lemburg eGenix.com
Professional Python Services directly from the Source (#1, Jun 06 2008)
Python/Zope Consulting and Support ... http://www.egenix.com/ mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
2008-07-07: EuroPython 2008, Vilnius, Lithuania 30 days to go
:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
- Previous message: [Python-Dev] [Python-3000] Stabilizing the C API of 2.6 and 3.0
- Next message: [Python-Dev] [Python-3000] Stabilizing the C API of 2.6 and 3.0
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]