R David Murray [Sat, 8 Mar 2014 01:04:17 +0000 (20:04 -0500)]
#10197: Update get[status]output versionchanged with actual version.
This was perhaps on the border between a bug fix and a feature since
the Python3 docs did not originally say it was unix only. However, the
functions never worked anywhere but unix, and the docs were changed to
say it was unix only well before the windows support was added.
Unfortunately, windows support was added in 3.3.4 as well as 3.4.
That leaves us in the uncomfortable position of needing the tag to say
"version changed: 3.3.4" :(
Zachary Ware [Thu, 6 Mar 2014 19:21:45 +0000 (13:21 -0600)]
Make pywlauncher.vcxproj depend on make_versioninfo.vcxproj.
pylauncher.vcxproj already has the same dependency, and adding it to
the pywlauncher project eliminates the possibility of the pywlauncher
build failing when building the solution in parallel. In particular,
pywlauncher may fail to build when doing a "Rebuild Solution" from the
VS Build menu.
Issue #20283: RE pattern methods now accept the string keyword parameters
as documented. The pattern and source keyword parameters are left as
deprecated aliases.
Make the various iterators' "setstate" sliently and consistently clip the
index. This avoids the possibility of setting an iterator to an invalid
state.
Serhiy Storchaka [Mon, 24 Feb 2014 12:43:03 +0000 (14:43 +0200)]
Issue #19619: Blacklist non-text codecs in method API
str.encode, bytes.decode and bytearray.decode now use an
internal API to throw LookupError for known non-text encodings,
rather than attempting the encoding or decoding operation and
then throwing a TypeError for an unexpected output type.
The latter mechanism remains in place for third party non-text
encodings.
Terry Jan Reedy [Sun, 23 Feb 2014 23:00:31 +0000 (18:00 -0500)]
Issue #20750, Enable roundtrip tests for new 5-tuple untokenize. The
constructed examples and all but 7 of the test/test_*.py files (run with -ucpu)
pass. Remove those that fail the new test from the selection list.
Patch partly based on patches by G. Brandl (#8478) and G. Rees (#12691).
Victor Stinner [Tue, 18 Feb 2014 21:00:53 +0000 (22:00 +0100)]
Issue #19612: On Windows, subprocess.Popen.communicate() now ignores
OSError(22, 'Invalid argument') when writing input data into stdin, whereas
the process already exited.
Terry Jan Reedy [Mon, 17 Feb 2014 21:45:48 +0000 (16:45 -0500)]
Untokenize: An logically incorrect assert tested user input validity.
Replace it with correct logic that raises ValueError for bad input.
Issues #8478 and #12691 reported the incorrect logic.
Add an Untokenize test case and an initial test method.
R David Murray [Sat, 8 Feb 2014 22:54:56 +0000 (17:54 -0500)]
#14983: always add a line end after a MIME boundary marker.
This is more RFC compliant (see issue) and fixes a problem with
signature verifiers rejecting the part when signed. There is some
amount of backward compatibility concern here since it changes
the output, but the RFC issue coupled with fixing the problem
with signature verifiers seems worth the small risk of breaking
code that depends on the current incorrect output.
Antoine Pitrou [Sat, 8 Feb 2014 22:03:56 +0000 (23:03 +0100)]
Issue #20540: Fix a performance regression (vs. Python 3.2) when layering a multiprocessing Connection over a TCP socket.
For small payloads, Nagle's algorithm would introduce idle delays before the entire transmission of a message.
R David Murray [Sat, 8 Feb 2014 18:12:00 +0000 (13:12 -0500)]
#16983: Apply postel's law to encoded words inside quoted strings.
This applies only to the new parser. The old parser decodes encoded words
inside quoted strings already, although it gets the whitespace wrong
when it does so.
This version of the patch only handles the most common case (a single encoded
word surrounded by quotes), but I haven't seen any other variations of this in
the wild yet, so its good enough for now.
R David Murray [Sat, 8 Feb 2014 16:48:20 +0000 (11:48 -0500)]
#19772: Do not mutate message when downcoding to 7bit.
This is a bit of an ugly hack because of the way generator pieces together the
output message. The deepcopys aren't too expensive, though, because we know it
is only called on messages that are not multiparts, and the payload (the thing
that could be large) is an immutable object.
Test and preliminary work on patch by Vajrasky Kok.