Commit Graph

95346 Commits

Author SHA1 Message Date
Victor Stinner 3f1057a4b6 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().
2016-08-25 01:04:14 +02:00
Victor Stinner f7507dd3e8 Issue #27830: Fix _PyObject_FastCallKeywords()
Pass stack, not unrelated and uninitialized args!
2016-08-25 01:00:31 +02:00
Victor Stinner b98b927e72 _pickle: remove outdated comment
_Pickle_FastCall() is now fast again!

The optimization was introduced in Python 3.2, removed in Python 3.4 and
reintroduced in Python 3.6 (thanks to the new generic fastcall functions).
2016-08-25 00:58:58 +02:00
Victor Stinner 53cb489ed0 _PyObject_FastCallDict(): avoid _Py_CheckFunctionResult()
_PyObject_FastCallDict() only requires _Py_CheckFunctionResult() for the
slow-path. Other cases already check for the result.
2016-08-25 00:39:34 +02:00
Victor Stinner 577e1f8cb4 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.
2016-08-25 00:29:32 +02:00
Alexander Belopolsky 53868aaabb Closes #27595: Document PEP 495 (Local Time Disambiguation) features. 2016-08-24 18:30:16 -04:00
Berker Peksag 208536132b Fix typo in test name
Noticed by Xiang Zhang.
2016-08-25 01:13:34 +03:00
Victor Stinner 74319ae219 Use Py_ssize_t type for number of arguments
Issue #27848: use Py_ssize_t rather than C int for the number of function
positional and keyword arguments.
2016-08-25 00:04:09 +02:00
Terry Jan Reedy c532b3c1ce Merge with 3.5 2016-08-24 17:53:16 -04:00
Terry Jan Reedy de260a6fa8 Fix misspelling 2016-08-24 17:52:57 -04:00
Berker Peksag 12f611a47a Merge from 3.5 2016-08-25 00:50:59 +03:00
Berker Peksag 7d92f892b4 Fix typo in Cursor.execute(). 2016-08-25 00:50:24 +03:00
Berker Peksag c7876464e7 Issue #6057: Merge from 3.5 2016-08-25 00:45:36 +03:00
Berker Peksag ed789f9cf9 Issue #6057: Document exceptions in sqlite3 module
Patch by Jaysinh Shukla and Stéphane Wirtel.
2016-08-25 00:45:07 +03:00
Vinay Sajip dd30830d8a Closes #20124: clarified usage of the atTime parameter in TimedRotatingFileHandler documentation. 2016-08-24 17:49:15 +01:00
Martin Panter 250d0e5f0a Issue #12319: Move NEWS under beta 1 heading 2016-08-24 07:51:36 +00:00
Martin Panter 3c0d0baf2b 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.
2016-08-24 06:33:33 +00:00
Steven D'Aprano a790fe7ff8 Remove expected failure from test of _product internal function. 2016-08-24 13:54:31 +10:00
Steven D'Aprano d6ea3011c5 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.
2016-08-24 12:48:12 +10:00
Steven D'Aprano e5803d9d2f Add geometric_mean to __all__ 2016-08-24 12:17:00 +10:00
Steven D'Aprano 2436e73c4a Update NEWS. 2016-08-24 12:14:58 +10:00
R David Murray bdfa0ebff7 #26907: add some missing getsockopt constants.
Patch by Christian Heimes, reviewed by Martin Panter.
2016-08-23 21:12:40 -04:00
R David Murray d44500cc29 Merge: #25916: fix a few 'string of bytes' references. 2016-08-23 20:44:31 -04:00
R David Murray 48de28290c #25916: fix a few 'string of bytes' references.
Patch by SilengGhost.
2016-08-23 20:43:56 -04:00
Victor Stinner cdb5cee980 Issue #27809: map_next() uses fast call
Use a small stack allocated in the C stack for up to 5 iterator functions,
otherwise allocates a stack on the heap memory.
2016-08-24 01:45:13 +02:00
Victor Stinner dd69564c38 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).
2016-08-24 01:14:54 +02:00
Victor Stinner d48af09043 Backed out changeset 0e4f26083bbb (PyObject_CallMethodObjArgs) 2016-08-24 00:59:40 +02:00
Victor Stinner f0cba67d0b Backed out changeset 70f88b097f60 (map_next) 2016-08-24 00:54:47 +02:00
Victor Stinner e62b852605 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.
2016-08-24 00:01:56 +02:00
Guido van Rossum efa798d1ba A new version of typing.py from https://github.com/python/typing. 2016-08-23 11:01:50 -07:00
Guido van Rossum 83f5a3846c In asyncio.locks.Lock.acquire(): Avoid deadlock when a cancelled future is in self._waiters. 2016-08-23 09:39:03 -07:00
Victor Stinner a9ba1ab21b Issue #27809: map_next() uses fast call
Use a small stack allocated in the C stack for up to 5 iterator functions,
otherwise allocates a stack on the heap memory.
2016-08-23 17:56:06 +02:00
Mark Dickinson f428521481 Backed out changeset 1017215f5492 2016-08-23 20:00:49 +01:00
Alexander Belopolsky 7c7c14696b Issue #27834: Avoid overflow error in ZoneInfo.invert(). 2016-08-23 14:44:51 -04:00
Zachary Ware c019bd3033 Fix markup, add versionadded tags 2016-08-23 13:23:31 -05:00
Terry Jan Reedy ffcb022738 Issue #27787: No longer call deleted test_main(). 2016-08-23 14:20:37 -04:00
Guido van Rossum 1f5beb7a6e A new version of typing.py from https://github.com/python/typing. (Merge 3.5->3.6) 2016-08-23 11:06:30 -07:00
Guido van Rossum f0666949fd Issue 27598: Add Collections to collections.abc.
Patch by Ivan Levkivskyi, docs by Neil Girdhar.
2016-08-23 10:47:07 -07:00
Steven D'Aprano 9ff4fb3619 Automated merge with ssh://hg.python.org/cpython 2016-08-24 02:40:31 +10:00
Steven D'Aprano 0a21c729eb Re-licence statistics.py under the standard Python licence. 2016-08-24 02:40:03 +10:00
Guido van Rossum f06c7b6f37 In asyncio.locks.Lock.acquire(): Avoid deadlock when a cancelled future is in self._waiters. (Merge 3.5->3.6) 2016-08-23 09:39:26 -07:00
Steven D'Aprano 228731879a Add documentation for geometric and harmonic means. 2016-08-24 02:34:25 +10:00
Mark Dickinson 4fe9f163af Issue #26040 (part 1): add new testcases to cmath_testcases.txt. Thanks Jeff Allen. 2016-08-23 17:33:54 +01:00
Steven D'Aprano 6877ed3560 Issue #27573 make the exit message configurable. 2016-08-24 01:42:15 +10:00
Mark Dickinson 7caf908c64 Issue #27832: Make _normalize parameter to Fraction.__init__ keyword-only. 2016-08-23 16:16:52 +01:00
Victor Stinner f4d28d4385 Issue #27809: partial_call() uses fast call for positional args 2016-08-23 16:22:35 +02:00
Martin Panter 1fa6915427 Issue #27787: Remove test_main() and hard-coded list of test classes
The @reap_threads decorator made the test wait (for up to 1 s) until
background threads have finished.  Calling join() with a timeout should be
equivalent.
2016-08-23 09:01:43 +00:00
Vinay Sajip 9ae505041f Issue #12713: reverted fix pending further discussion. 2016-08-23 08:43:16 +01:00
Victor Stinner d1c2a8e2b5 Issue #27809: builtin___build_class__() uses fast call 2016-08-23 01:34:35 +02:00
Victor Stinner 6e2333dfdf PyEval_CallObjectWithKeywords() doesn't inc/decref
Issue #27809: PyEval_CallObjectWithKeywords() doesn't increment temporary the
reference counter of the args tuple (positional arguments). The caller already
holds a strong reference to it.
2016-08-23 00:25:01 +02:00