Commit Graph

98831 Commits

Author SHA1 Message Date
Victor Stinner 9b8dcc6b1c Fix script_helper.run_python_until_end(): copy SYSTEMROOT
Windows requires at least the SYSTEMROOT environment variable to start Python.
If run_python_until_end() doesn't copy SYSTEMROOT, the function always fail on
Windows.
2017-01-12 11:51:46 +01:00
Victor Stinner de383289ea Issue #25591: Fix test_imaplib if ssl miss 2017-01-12 11:51:31 +01:00
Serhiy Storchaka 89483ba135 Null merge 2017-01-11 20:18:03 +02:00
Serhiy Storchaka 3159b33a95 Merge with 3.5. 2017-01-11 20:17:34 +02:00
Serhiy Storchaka 87006a3d4a Issue #20804: Document the limitation of the unittest.mock.sentinel attributes. 2017-01-11 20:16:44 +02:00
Serhiy Storchaka d9c956fb23 Issue #20804: The unittest.mock.sentinel attributes now preserve their
identity when they are copied or pickled.
2017-01-11 20:13:03 +02:00
Vinay Sajip d4f5001bac Issue #29220: Merged fixes from 3.6. 2017-01-11 17:44:07 +00:00
Vinay Sajip a861d48817 Issue #292Merged fixes from 3.5. 2017-01-11 17:41:28 +00:00
Vinay Sajip 924aaae4c2 Issue #29220: Improved fix and test. 2017-01-11 17:35:36 +00:00
Martin Panter 23e5b82cf7 Issue #29239: Merge bug number from 3.6 2017-01-11 12:00:39 +00:00
Martin Panter 849b6bd672 Issue #15657: Merge METH_KEYWORDS doc from 3.6 2017-01-11 11:57:18 +00:00
Martin Panter ced4b90756 Issue #29239: Fix --enable-optimizations bug number 2017-01-11 11:56:22 +00:00
Martin Panter a27b3b3192 Issue #15657: Merge other doc fix from 3.5 2017-01-11 11:51:02 +00:00
Martin Panter 5b66723b0b Issue #15657: Delete incorrect statement from PyMethodDef documentation
Patch by Berker Peksag.
2017-01-11 11:50:06 +00:00
Martin Panter 9da31f7274 Issue #15657: METH_KEYWORDS cannot be used alone in Python 3 2017-01-11 11:41:03 +00:00
Vinay Sajip 8b866d5429 Closes #29220: Fixed regression in logging.getLevelName(). 2017-01-11 06:57:55 +00:00
Victor Stinner 231d1f3439 _PyEval_EvalCodeWithName(): remove redundant check
Replace the runtime check with an assertion (just in case).
2017-01-11 02:12:06 +01:00
Victor Stinner b915bc354e Disable _PyStack_AsTuple() inlining
Issue #29234: Inlining _PyStack_AsTuple() into callers increases their stack
consumption, Disable inlining to optimize the stack consumption.

Add _Py_NO_INLINE: use __attribute__((noinline)) of GCC and Clang.

It reduces the stack consumption, bytes per call, before => after:

test_python_call: 1040 => 976 (-64 B)
test_python_getitem: 976 => 912 (-64 B)
test_python_iterator: 1120 => 1056 (-64 B)

=> total: 3136 => 2944 (- 192 B)
2017-01-11 01:07:03 +01:00
Victor Stinner 415c5107be Inline call_function()
Issue #29227: Inline call_function() into _PyEval_EvalFrameDefault() using
Py_LOCAL_INLINE to reduce the stack consumption.

It reduces the stack consumption, bytes per call, before => after:

test_python_call: 1152 => 1040 (-112 B)
test_python_getitem: 1008 => 976 (-32 B)
test_python_iterator: 1232 => 1120 (-112 B)

=> total: 3392 => 3136 (- 256 B)
2017-01-11 00:54:57 +01:00
Victor Stinner 434723f94c call_method() now uses _PyObject_FastCall()
Issue #29233: Replace the inefficient _PyObject_VaCallFunctionObjArgs() with
_PyObject_FastCall() in call_method() and call_maybe().

Only a few functions call call_method() and call it with a fixed number of
arguments. Avoid the complex and expensive _PyObject_VaCallFunctionObjArgs()
function, replace it with an array allocated on the stack with the exact number
of argumlents.

It reduces the stack consumption, bytes per call, before => after:

test_python_call: 1168 => 1152 (-16 B)
test_python_getitem: 1344 => 1008 (-336 B)
test_python_iterator: 1568 => 1232 (-336 B)

Remove the _PyObject_VaCallFunctionObjArgs() function which became useless.
Rename it to object_vacall() and make it private.
2017-01-11 00:07:40 +01:00
Xiang Zhang dbdfecebd2 Issue #29217: Merge 3.6. 2017-01-10 11:30:44 +08:00
Xiang Zhang 2427d00298 Issue #29217: Merge 3.5. 2017-01-10 11:30:02 +08:00
Xiang Zhang 8a17995589 Issue #29217: Fix the wrong type description of UUID.variant. 2017-01-10 11:29:27 +08:00
Xiang Zhang 7a4da324dc Issue #29145: Merge 3.6. 2017-01-10 10:56:38 +08:00
Xiang Zhang 95403d74d7 Issue #29145: Merge 3.5. 2017-01-10 10:54:19 +08:00
Xiang Zhang b0541f4cdf Issue #29145: Fix overflow checks in str.replace() and str.join().
Based on patch by Martin Panter.
2017-01-10 10:52:00 +08:00
Vinay Sajip 9ebb245db8 Closes #29177: Merged fix from 3.6. 2017-01-09 16:55:24 +00:00
Vinay Sajip 1e6499c19c Fixes #29177: Improved resilience of logging tests which use socket servers.
Thanks to Xavier de Gaye for the report and patch improvements.
2017-01-09 16:54:12 +00:00
Vinay Sajip b5c557929e Closes #29133: merged update from 3.6.
Thanks to Evan_ for the report and Marco Buttu for the patch.
2017-01-09 16:48:23 +00:00
Vinay Sajip aa655b3a8e Fixes #29133: clarified shlex documentation. 2017-01-09 16:46:04 +00:00
Raymond Hettinger 605a4476f8 Add test for ea064ff3c10f 2017-01-09 07:50:19 -08:00
Raymond Hettinger 68191f8a9c Backed out changeset ea064ff3c10f 2017-01-09 07:39:46 -08:00
Stefan Krah 3c29fd0074 While a speedup of 1% is measurable, contexts aren't created that often,
so let's defer this until 3.7, 3.8, ... all have this new function.
2017-01-09 13:53:32 +01:00
Stefan Krah a40a3f35eb Merge 3.6. 2017-01-09 13:12:09 +01:00
Stefan Krah e660335b7e Merge 3.5. 2017-01-09 13:11:51 +01:00
Stefan Krah 18e0a97a1a Issue #28701: Revert part of 5bdc8e1a50c8 for the following reasons:
- There was no real problem to begin with.

  - The hypothetical problem has been fixed by 5bdc8e1a50c8.
2017-01-09 13:11:27 +01:00
Victor Stinner 63ac30f5f1 Merge 3.6 2017-01-09 11:21:37 +01:00
Victor Stinner a0be562daf Null merge 3.5
Python/random.c is more then in the 3.6 branch.
2017-01-09 11:21:26 +01:00
Victor Stinner 035ba5da3e Issue #29157: Prefer getrandom() over getentropy()
Copy and then adapt Python/random.c from default branch. Difference between 3.5
and default branches:

* Python 3.5 only uses getrandom() in non-blocking mode: flags=GRND_NONBLOCK
* If getrandom() fails with EAGAIN: py_getrandom() immediately fails and
  remembers that getrandom() doesn't work.
* Python 3.5 has no _PyOS_URandomNonblock() function: _PyOS_URandom()
  works in non-blocking mode on Python 3.5
2017-01-09 11:18:53 +01:00
Serhiy Storchaka 32999ab48a Issue #29190: Fixed possible errors in comparing strings in the pickle module. 2017-01-09 10:10:07 +02:00
Serhiy Storchaka f0f35a6720 Issue #29190: Fixed possible errors in comparing strings in the pickle module. 2017-01-09 10:09:43 +02:00
Serhiy Storchaka 9937d90ee8 Issue #29190: Fixed possible errors in comparing strings in the pickle module. 2017-01-09 10:04:34 +02:00
Xiang Zhang 04c15d5bdc Issue #29142: Merge 3.6. 2017-01-09 11:52:10 +08:00
Xiang Zhang c44d58a77a Issue #29142: Merge 3.5. 2017-01-09 11:50:02 +08:00
Xiang Zhang 959ff7f1c6 Issue #29142: Fix suffixes in no_proxy handling in urllib.
In urllib.request, suffixes in no_proxy environment variable with
leading dots could match related hostnames again (e.g. .b.c matches a.b.c).
Patch by Milan Oberkirch.
2017-01-09 11:47:55 +08:00
Raymond Hettinger 9d60b94427 Sync-up lru_cache() C code with space saving feature in the Python version. 2017-01-08 19:34:28 -08:00
Raymond Hettinger 44844ccc06 merge 2017-01-08 18:22:41 -08:00
Raymond Hettinger 19c7238560 Sync-up with 3.7 by backporting minor lru_cache code beautification 2017-01-08 18:22:24 -08:00
Raymond Hettinger dda44682c6 Complete the merge for issue #29203 2017-01-08 18:04:30 -08:00
Raymond Hettinger ac7c5acf9b merge 2017-01-08 17:29:21 -08:00