Martin Panter [Sat, 7 Nov 2015 02:32:21 +0000 (02:32 +0000)]
Issue #24802: Copy bytes-like objects to null-terminated buffers if necessary
This avoids possible buffer overreads when int(), float(), compile(), exec()
and eval() are passed bytes-like objects. Similar code is removed from the
complex() constructor, where it was not reachable.
Patch by John Leitch, Serhiy Storchaka and Martin Panter.
R David Murray [Sun, 8 Nov 2015 06:03:52 +0000 (01:03 -0500)]
#25446: Fix regression in smtplib's AUTH LOGIN support.
The auth method tests simply weren't adequate because of the fact that
smtpd doesn't support authentication. I borrowed some of Milan's
code for that from issue #21935 and added it to the smtplib tests.
Also discovered that the direct test for the 'auth' method wasn't actually
testing anything and fixed it.
The fix makes the new authobject mechanism work the way it is
documented...the problem was that wasn't checking for a 334 return code
if an initial-response was provided, which works fine for auth plain
and cram-md5, but not for auth login.
Martin Panter [Sat, 7 Nov 2015 00:32:50 +0000 (00:32 +0000)]
Issue #25064: Adjust documentation according to new mkstemp signature
The mkstemp() and mkdtemp() signatures have already been updated, but the
higher-level functions still suggest that the default values are forced to
text strings. Also merged some paragraphs describing the "suffix" and
"prefix" parameters, and pointed out that mktemp() does not support the new
changes.
Victor Stinner [Thu, 5 Nov 2015 12:55:20 +0000 (13:55 +0100)]
Issue #25556: Fix LOAD_GLOBAL bytecode when globals type is not dict and the
requested name doesn't exist in globals: clear the KeyError exception before
calling PyObject_GetItem(). Fail also if the raised exception is not a
KeyError.
Martin Panter [Mon, 2 Nov 2015 03:37:02 +0000 (03:37 +0000)]
Issue #25523: Correct "a" article to "an" article
This changes the main documentation, doc strings, source code comments, and a
couple error messages in the test suite. In some cases the word was removed
or edited some other way to fix the grammar.
Issue #25510: fileinput.FileInput.readline() now returns b'' instead of ''
at the end if the FileInput was opened with binary mode.
Patch by Ryosuke Ito.
Issue #25510: fileinput.FileInput.readline() now returns b'' instead of ''
at the end if the FileInput was opened with binary mode.
Patch by Ryosuke Ito.
Serhiy Storchaka [Wed, 28 Oct 2015 19:43:12 +0000 (21:43 +0200)]
Issue #21827: Fixed textwrap.dedent() for the case when largest common
whitespace is a substring of smallest leading whitespace.
Based on patch by Robert Li.
Serhiy Storchaka [Wed, 28 Oct 2015 19:39:36 +0000 (21:39 +0200)]
Issue #21827: Fixed textwrap.dedent() for the case when largest common
whitespace is a substring of smallest leading whitespace.
Based on patch by Robert Li.
Terry Jan Reedy [Tue, 27 Oct 2015 07:38:02 +0000 (03:38 -0400)]
Display IDLE warning as a warning rather than as an error.
Clarify message and expected action for beginners.
Guard against astral chars in path incorporated in message.
This restores details lost in revision 097f4fda61a4 (since Python 3.3,
related to the new OSError subclasses). Further additions:
* Markup for attributes and constructor signature
* Explain "winerror" and "filename2"
* Extend test to check for filename2 defaulting to None
* Clarify that the constructor can return a subclass
I have intentionally left out any details of allowing more than five
arguments, or how the "args" attribute is set for four or more arguments.
These details seem to be dependent on the Python version and platform.
Zachary Ware [Sat, 24 Oct 2015 06:34:22 +0000 (01:34 -0500)]
Closes #25456: Copy Tcl/Tk DLLs to build directory on Windows
This removes the need to add externals/tcltk[64]/bin to PATH to be able
to import tkinter. Also documents the necessity for the DLLs to be
on PATH or in python.exe's directory.
Serhiy Storchaka [Thu, 22 Oct 2015 17:18:24 +0000 (20:18 +0300)]
Issue #25410: C implementation of OrderedDict now uses type(self) instead of
self.__class__ in __repr__() and __reduce__() for simplicity and reliability.