Stefan Krah [Thu, 6 Sep 2012 07:42:29 +0000 (09:42 +0200)]
_testbuffer.c: In all current use cases of cmp_structure() dest->format and
src->format are either both NULL or both non-NULL. However, it is safer to
generalize the function. Found by Coverity.
Antoine Pitrou [Wed, 5 Sep 2012 23:17:42 +0000 (01:17 +0200)]
Issue #13992: The trashcan mechanism is now thread-safe. This eliminates
sporadic crashes in multi-thread programs when several long deallocator
chains ran concurrently and involved subclasses of built-in container
types.
Note that the trashcan functions are part of the stable ABI, therefore
they have to be kept around for binary compatibility of extensions.
Antoine Pitrou [Wed, 5 Sep 2012 22:59:49 +0000 (00:59 +0200)]
Issue #13992: The trashcan mechanism is now thread-safe. This eliminates
sporadic crashes in multi-thread programs when several long deallocator
chains ran concurrently and involved subclasses of built-in container
types.
Because of this change, a couple extension modules compiled for 3.2.4
(those which use the trashcan mechanism, despite it being undocumented)
will not be loadable by 3.2.3 and earlier. However, extension modules
compiled for 3.2.3 and earlier will be loadable by 3.2.4.
Antoine Pitrou [Wed, 5 Sep 2012 18:13:48 +0000 (20:13 +0200)]
Issue #15841: The readable(), writable() and seekable() methods of BytesIO
and StringIO objects now raise ValueError when the object has been closed.
Patch by Alessandro Moura.
Antoine Pitrou [Wed, 5 Sep 2012 18:11:49 +0000 (20:11 +0200)]
Issue #15841: The readable(), writable() and seekable() methods of BytesIO
and StringIO objects now raise ValueError when the object has been closed.
Patch by Alessandro Moura.
R David Murray [Mon, 3 Sep 2012 16:30:12 +0000 (12:30 -0400)]
#15509: If %action substitution produces a null string, drop it.
Patch by Anton Barkovsky, comment addition by me.
This showed up as a bug in 3.3 because the definition for Chrome
produced such an empty string. This fix is tested in 3.3+;
backporting the new test suite is more trouble than it is worth.
Victor Stinner [Sat, 1 Sep 2012 13:00:34 +0000 (15:00 +0200)]
Close #14223: Fix window.addch(curses.ACS_HLINE)
Fix window.addch() of the curses module for special characters like
curses.ACS_HLINE: the Python function addch(int) and addch(bytes) is now
calling the C function waddch()/mvwaddch() (as it was done in Python 3.2),
instead of wadd_wch()/mvwadd_wch(). The Python function addch(str) is still
calling the C function wadd_wch()/mvwadd_wch() if the Python curses is linked
to libncursesw.
R David Murray [Sat, 1 Sep 2012 03:09:34 +0000 (23:09 -0400)]
Merge #12776,#11839: call argparse type function only once.
Before, the type function was called twice in the case where the default
was specified and the argument was given as well. This was especially
problematic for the FileType type, as a default file would always be
opened, even if a file argument was specified on the command line.
Patch by Arnaud Fontaine, with additional test by Mike Meyer.
R David Murray [Sat, 1 Sep 2012 02:45:20 +0000 (22:45 -0400)]
#12776,#11839: call argparse type function only once.
Before, the type function was called twice in the case where the default
was specified and the argument was given as well. This was especially
problematic for the FileType type, as a default file would always be
opened, even if a file argument was specified on the command line.
Patch by Arnaud Fontaine, with additional test by Mike Meyer.
Victor Stinner [Tue, 28 Aug 2012 23:40:57 +0000 (01:40 +0200)]
Issue #15785: Modify window.get_wch() API of the curses module: return a
character for most keys, and an integer for special keys, instead of always
returning an integer. So it is now possible to distinguish special keys like
keypad keys.
Brett Cannon [Fri, 24 Aug 2012 22:25:59 +0000 (18:25 -0400)]
Issue #15316: Let exceptions raised during imports triggered by the
fromlist of __import__ propagate.
The problem previously was that if something listed in fromlist didn't
exist then that's okay. The fix for that was too broad in terms of
catching ImportError.
The trick with the solution to this issue is that the proper
refactoring of import thanks to importlib doesn't allow for a way to
distinguish (portably) between an ImportError because finders couldn't
find a loader, or a loader raised the exception. In Python 3.4 the
hope is to introduce a new exception (e.g. ModuleNotFound) to make it
clean to differentiate why ImportError was raised.
Brett Cannon [Fri, 24 Aug 2012 17:48:39 +0000 (13:48 -0400)]
Issue #2051: Tweak last commit for this issue to pass in mode instead
of source path to set_data() and make the new argument private until
possible API changes can be discussed more thoroughly in Python 3.4.