R David Murray [Wed, 31 Aug 2016 01:17:02 +0000 (21:17 -0400)]
#27893: arg name and bytes references in email.parser docs.
Perhaps the BytesParser 'text' argument should really be bytes, but
it hasn't been, it has been text, so for backward compatibility
and for consistency with the regular Parser class, I'm keeping it
as 'text'.
Zachary Ware [Tue, 30 Aug 2016 05:28:40 +0000 (00:28 -0500)]
Include test_tools and test_warnings in install
test_tools is pretty much useless unless somebody copies the scripts
it tests into the proper location, but we might as well install it
anyway to make sure it skips properly. test_warnings just didn't get
included when it was turned into a package in 94966dfd3bd3.
Mark Dickinson [Mon, 29 Aug 2016 16:26:43 +0000 (17:26 +0100)]
Issue #25402: in int-to-decimal-string conversion, reduce intermediate storage requirements and relax restriction on converting large integers. Patch by Serhiy Storchaka.
Victor Stinner [Wed, 24 Aug 2016 23:04:14 +0000 (01:04 +0200)]
method_call() and slot_tp_new() now uses fast call
Issue #27841: Add _PyObject_Call_Prepend() helper function to prepend an
argument to existing arguments to call a function. This helper uses fast calls.
Modify method_call() and slot_tp_new() to use _PyObject_Call_Prepend().
Victor Stinner [Wed, 24 Aug 2016 22:29:32 +0000 (00:29 +0200)]
Add _PyObject_FastCallKeywords()
Issue #27830: Similar to _PyObject_FastCallDict(), but keyword arguments are
also passed in the same C array than positional arguments, rather than being
passed as a Python dict.
Martin Panter [Wed, 24 Aug 2016 06:33:33 +0000 (06:33 +0000)]
Issue #12319: Support for chunked encoding of HTTP request bodies
When the body object is a file, its size is no longer determined with
fstat(), since that can report the wrong result (e.g. reading from a pipe).
Instead, determine the size using seek(), or fall back to chunked encoding
for unseekable files.
Also, change the logic for detecting text files to check for TextIOBase
inheritance, rather than inspecting the “mode” attribute, which may not
exist (e.g. BytesIO and StringIO). The Content-Length for text files is no
longer determined ahead of time, because the original logic could have been
wrong depending on the codec and newline translation settings.
Patch by Demian Brecht and Rolf Krahl, with a few tweaks by me.
Steven D'Aprano [Wed, 24 Aug 2016 02:48:12 +0000 (12:48 +1000)]
Remove support for nth root of negative numbers with odd powers.
Although nth roots of negative numbers are real for odd n, the
statistics module doesn't make use of this. Remove support for
negative roots from the private _nth_root function, which
simplifies the test suite.
Victor Stinner [Tue, 23 Aug 2016 23:14:54 +0000 (01:14 +0200)]
PyObject_CallMethodObjArgs() now uses fast call
Issue #27809:
* PyObject_CallMethodObjArgs(), _PyObject_CallMethodIdObjArgs() and
PyObject_CallFunctionObjArgs() now use fast call to avoid the creation of a
temporary tuple
* Rename objargs_mktuple() to objargs_mkstack()
* objargs_mkstack() now stores objects in a C array using borrowed references,
instead of storing arguments into a tuple
objargs_mkstack() uses a small buffer allocated on the C stack for 5 arguments
or less, or allocates a buffer in the heap memory.
Note: this change is different than the change 0e4f26083bbb, I fixed the test
to decide if the small stack can be used or not. sizeof(PyObject**) was also
replaced with sizeof(stack[0]) since the sizeof() was wrong (but gave the same
result).
Victor Stinner [Tue, 23 Aug 2016 22:01:56 +0000 (00:01 +0200)]
PyObject_CallMethodObjArgs() now uses fast call
Issue #27809:
* PyObject_CallMethodObjArgs(), _PyObject_CallMethodIdObjArgs() and
PyObject_CallFunctionObjArgs() now use fast call to avoid the creation of a
temporary tuple
* Rename objargs_mktuple() to objargs_mkstack()
* objargs_mkstack() now stores objects in a C array using borrowed references,
instead of storing arguments into a tuple
objargs_mkstack() uses a small buffer allocated on the C stack for 5 arguments
or less, or allocates a buffer in the heap memory.