Re: [Python-Dev] Re: ATTENTION! Releasing Python 2.2.2 in a few weeks

Skip, where's your 2.2.2 Wiki? (Or should we just pick a page name in the moinmoin on python.org?)
I've backported the following items to 2.2.2, most of which were my responsibility and/or 64-bit issues needed for the snake farm:
---------------------------------------------------------------------- Modified Files: Tag: release22-maint regrtest.py Log Message: Backport 1.96 from trunk (because I want Xenofarm to test 2.2.2):
Add a bunch of sys.stdout.flush() calls that will hopefully improve the usability of the output of the Xenofarm builds. ---------------------------------------------------------------------- Modified Files: Tag: release22-maint unicodeobject.c Log Message: Backport 2.166 from trunk:
Fix SF bug 599128, submitted by Inyeol Lee: .replace() would do the wrong thing for a unicode subclass when there were zero string replacements. The example given in the SF bug report was only one way to trigger this; replacing a string of length >= 2 that's not found is another. The code would actually write outside allocated memory if replacement string was longer than the search string. ---------------------------------------------------------------------- Modified Files: Tag: release22-maint test_unicode.py Log Message: Backport 1.56 and 1.68 from trunk:
1.56: Apply diff3.txt from SF patch http://www.python.org/sf/536241
If a str or unicode method returns the original object, make sure that for str and unicode subclasses the original will not be returned.
This should prevent SF bug http://www.python.org/sf/460020 from reappearing.
1.68: Fix SF bug 599128, submitted by Inyeol Lee: .replace() would do the wrong thing for a unicode subclass when there were zero string replacements. The example given in the SF bug report was only one way to trigger this; replacing a string of length >= 2 that's not found is another. The code would actually write outside allocated memory if replacement string was longer than the search string. ---------------------------------------------------------------------- Modified Files: Tag: release22-maint structmodule.c Log Message: Backport 2.57 from trunk:
(Most of) SF patch 601369 (Christos Georgiou): obmalloc,structmodule: 64bit, big endian (issue 2 only).
This adds a bunch of memcpy calls via a temporary variable to avoid alignment errors. That's needed for some platforms. ---------------------------------------------------------------------- Modified Files: Tag: release22-maint test_b1.py Log Message: Backport 1.51 and 1.54 from trunk.
1.51: Bug #556025: list(xrange(1e9)) --> seg fault
Close the bug report again -- this time for Cygwin due to a newlib bug. See the following for the details:
http://sources.redhat.com/ml/newlib/2002/msg00369.html
Note that this commit is only a documentation (i.e., comment) change.
1.54: The list(xrange(sys.maxint / 4)) test blew up on 64-bit platforms. Because ob_size is a 32-bit int but sys.maxint is LONG_MAX which is a 64-bit value, there's no way to make this test succeed on a 64-bit platform. So just skip it when sys.maxint isn't 0x7fffffff. ---------------------------------------------------------------------- Modified Files: Tag: release22-maint intobject.c Log Message: Backport 2.93 from trunk:
Insert an overflow check when the sequence repetition count is outside the range of ints. The old code would pass random truncated bits to sq_repeat() on a 64-bit machine. ---------------------------------------------------------------------- Modified Files: Tag: release22-maint unicodeobject.c stringobject.c Log Message: Backport from trunk:
unicodeobject.c 2.169 stringobject.c 2.189
Fix warnings on 64-bit platforms about casts from pointers to ints. Two of these were real bugs. ---------------------------------------------------------------------- Modified Files: Tag: release22-maint exceptions.c Log Message: Backported 1.39 and 1.40 from trunk:
1.39: Fix SF bug 610610 (reported by Martijn Pieters, diagnosed by Neal Norwitz).
The switch in Exception__str__ didn't clear the error if PySequence_Size() raised an exception. Added a case -1 which clears the error and falls through to the default case.
1.40: Two more cases of switch(PySequence_Size()) without checking for case -1. (Same problem as last checkin for SF bug 610610) Need to clear the error and proceed. ----------------------------------------------------------------------
Note that I've been careful to vary the formatting of my log messages a bit. :-)
Michael Hudson backported a bunch of things too. I notice a test suite failure with rfc822 as a result of these. Michael, did you run the test suite?
FAILED (errors=1) Traceback (most recent call last): File "../Lib/test/test_rfc822.py", line 211, in ? test_main() File "../Lib/test/test_rfc822.py", line 207, in test_main test_support.run_unittest(MessageTestCase) File "../Lib/test/test_support.py", line 180, in run_unittest run_suite(unittest.makeSuite(testclass), testclass) File "../Lib/test/test_support.py", line 175, in run_suite raise TestFailed(err) test_support.TestFailed: Traceback (most recent call last): File "../Lib/test/test_rfc822.py", line 199, in test_parseaddr eq(rfc822.parseaddr('<>'), ('', '')) File "/home/guido/branch-2.2/Lib/rfc822.py", line 491, in parseaddr list = a.addresslist AttributeError: AddrlistClass instance has no attribute 'addresslist'
--Guido van Rossum (home page: http://www.python.org/~guido/)

Guido> Skip, where's your 2.2.2 Wiki? (Or should we just pick a page Guido> name in the moinmoin on python.org?)
Ain't been created yet. This is the first response I got to my offer to create one. Just a sec... Okay, it's at
http://manatee.mojam.com/py222wiki/
and is completely untarnished by (virtual) human hands.
Guido> I've backported the following items to 2.2.2, most of which were my Guido> responsibility and/or 64-bit issues needed for the snake farm:
...
I have to get off to a soccer game. If nobody beats me to it I'll try to update the wiki later tonight or first thing tomorrow.
Skip

On Mon, 23 Sep 2002, Guido van Rossum wrote:
Michael Hudson backported a bunch of things too. I notice a test suite failure with rfc822 as a result of these. Michael, did you run the test suite?
No, I'd just got started when the network started acting up. I'll get to it.
Cheers, M.

Skip, where's your 2.2.2 Wiki? (Or should we just pick a page name in the moinmoin on python.org?)
(unashamed plug ahead)
Btw, if you're MoinMoin extensively (as we have been), you may want to check a small script I've written (editmoin.py) to allow edition of moin pages with your preferred editor, and also a syntax highlighting file for vim:
http://moin.conectiva.com.br/EditMoin
participants (4)
-
Guido van Rossum
-
Gustavo Niemeyer
-
Michael Hudson
-
Skip Montanaro