[Python-3000] PEP 3137 plan of attack (stage 3) (original) (raw)
Guido van Rossum guido at python.org
Fri Oct 26 21🔞13 CEST 2007
- Previous message: [Python-3000] PEP 3101 suggested corrections
- Next message: [Python-3000] PEP 3137 plan of attack (stage 3)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
2007/10/19, Guido van Rossum <guido at python.org>:
On 10/7/07, Guido van Rossum <guido at python.org> wrote: > I'd like to make complete implementation of PEP 3137 the goal for the > 3.0a2 release. It should be doable to do this release by the end of > October. I don't think anything else needs to be done to have a > successful a2 release.
I'm still hopeful, though realistically we may not quite make it.
Mid November sounds more like it.
Below is a full updated status update; here's a short list of the tasks that remain to be done:
- remove compatibility with PyString from PyUnicode
- change lots of places (e.g. encoders) to return PyString instead of PyBytes
- change PyString's repr() to return "b'...'" (1)
- change PyBytes's repr() to return "buffer(b'...')" (1)
- change parser so that b"..." returns PyString, not PyBytes (1)
- rename bytes -> buffer, str8 -> bytes (1)
- change PyBytes so that its str() is the same as its repr().
- change PyString so that its str() is the same as its repr().
(1) see http://bugs.python.org/issue1247
I'll be working on all of these together; they're hard to separate out.
Here's the full list:
> - remove locale support from PyString
Done. > - remove compatibility with PyUnicode from PyString
Done.
> - remove compatibility with PyString from PyUnicode
Not done yet. > - add missing methods to PyBytes (for list, see the PEP and compare to > what's already there) Done (Gregory P. Smith) > - remove buffer API from PyUnicode Done. > - make == and != between PyBytes and PyUnicode return False instead of > raising TypeError Done. > - make == and != between PyString and Pyunicode return False instead > of converting A patch by Thomas Lee exists: http://bugs.python.org/issue1263 However it breaks some unit tests.
Done.
> - make comparisons between PyString and PyBytes work (these are > properly ordered)
Already works. > - change lots of places (e.g. encoders) to return PyString instead of PyBytes Not done. > - change indexing and iteration over PyString to return ints, not > 1-char PyStrings A patch by Alexandre Vassalotti exists but breaks some unit tests: http://bugs.python.org/issue1280
Done.
> - change PyString's repr() to return "b'...'" > - change PyBytes's repr() to return "buffer(b'...')" > - change parser so that b"..." returns PyString, not PyBytes > - rename bytes -> buffer, str8 -> bytes
A patch by Alexandre Vassolotti and Christian Heimes exists for these 4 items: http://bugs.python.org/issue1247 However it breaks too many tests to be applied right now.
Still pending.
> - change the constructor for PyString to match the one for PyBytes
Not done.
Done.
> - change PyBytes so that its str() is the same as its repr(). > - change PyString so that its str() is the same as its repr().
Not done. > - add an iteration view over PyBytes (optional) Not yet done (Christian Heimes offered).
Done.
> - kill basestring.
Done (Christian Heimes). > - move initialization of sys.std{in,out,err} into C code and do it earlier. A patch by Christian Heimes exists: http://bugs.python.org/issue1267 However it still breaks some unit tests...
Done.
There are also some issues that mainly crop up in non-English locales. We will try to get to the bottom of those before releasing 3.0a2, but I need help as I'm myself absolutely unable to work with locales (and I don't have access to a Windows box).
I think Christian and a few others are making progress here.
-- --Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-3000] PEP 3101 suggested corrections
- Next message: [Python-3000] PEP 3137 plan of attack (stage 3)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]