Commit Graph

98399 Commits

Author SHA1 Message Date
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
Raymond Hettinger 4ee39141e8 Issue #29203: functools.lru_cache() now respects PEP 468 2017-01-08 17:28:20 -08:00
Xiang Zhang ce16c6827c Issue #29034: Merge 3.6. 2017-01-08 23:30:05 +08:00
Xiang Zhang 04316c4cc8 Issue #29034: Fix memory leak and use-after-free in path_converter. 2017-01-08 23:26:57 +08:00
Raymond Hettinger bd41e0b3f1 merge 2017-01-08 00:37:32 -08:00
Raymond Hettinger ec53b07ef1 Add OrderedDict test for PEP 468 (guaranteed ordered of kwargs) 2017-01-08 00:37:13 -08:00
Raymond Hettinger 1222e05a0d merge 2017-01-07 22:05:28 -08:00
Raymond Hettinger d15bb26248 Update OrderedDict docs to reflect acceptance of PEP 468 2017-01-07 22:05:12 -08:00
Raymond Hettinger 5eed36fab4 Issue #29200: Fix test to use self.assertEqual instead of py.test style tests 2017-01-07 20:53:09 -08:00
Raymond Hettinger d191ef25c1 Issue #29200: Add test for lru cache only calling __hash__ once 2017-01-07 20:44:48 -08:00
Martin Panter 4f5c6a27d8 Issue #28815: Merge test tweak from 3.6 2017-01-08 01:06:48 +00:00
Martin Panter 625fb648f7 Issue #28815: Merge test tweak from 3.5 2017-01-08 01:06:18 +00:00
Martin Panter 8cbd46f19f Issue #28815: Use new exception subclasses 2017-01-08 00:46:25 +00:00
Stefan Krah aaa67862e8 Merge 3.6. 2017-01-08 01:36:46 +01:00
Stefan Krah 0b64a0fc64 Add comment why the change in d83884b3a427 wasn't necessary. 2017-01-08 01:36:00 +01:00
Stefan Krah f4df2ee78c Merge 3.6. 2017-01-08 01:11:50 +01:00
Stefan Krah dada5a8d75 Revert part of 3cb3e224b692 in code that I maintain. 2017-01-08 01:11:27 +01:00
Stefan Krah 45ed522237 Revert part of dbf72357cb4a that is in a rarely used path and causes
maintenance issues (cost/benefit).
2017-01-08 00:08:53 +01:00
Stefan Krah 2b938f84f4 Revert (unauthorized) parts of 54a89144ee1d which are not in a speed-sensitive
path in order to avoid maintenance issues.
2017-01-08 00:02:15 +01:00
Stefan Krah 1b5fa6b7c9 Revert (unauthorized) parts of b9eb35435178 which are not in a speed-sensitive
path and cause maintenance issues (3.6 <-> 3.7, private test suite).
2017-01-07 23:20:27 +01:00
Berker Peksag 412393d520 Issue #16026: Merge from 3.6 2017-01-07 09:33:28 +03:00
Berker Peksag 631ada8424 Issue #16026: Fix parameter names of DictReader and DictWriter
CPython and PyPy use f as the name of the first parameter of
DictReader and DictWriter classes.

Patch by James Salt and Greg Bengeult.
2017-01-07 09:32:56 +03:00
Victor Stinner 6d394d50bc Null merge 3.6 2017-01-07 00:08:29 +01:00
Victor Stinner ff558f5aba Issue #29157: Prefer getrandom() over getentropy()
* dev_urandom() now calls py_getentropy(). Prepare the fallback to support
  getentropy() failure and falls back on reading from /dev/urandom.
* Simplify dev_urandom(). pyurandom() is now responsible to call getentropy()
  or getrandom(). Enhance also dev_urandom() and pyurandom() documentation.
* getrandom() is now preferred over getentropy(). The glibc 2.24 now implements
  getentropy() on Linux using the getrandom() syscall.  But getentropy()
  doesn't support non-blocking mode. Since getrandom() is tried first, it's not
  more needed to explicitly exclude getentropy() on Solaris. Replace:
  "if defined(HAVE_GETENTROPY) && !defined(sun)"
  with "if defined(HAVE_GETENTROPY)"
* Enhance py_getrandom() documentation. py_getentropy() now supports ENOSYS,
  EPERM & EINTR
2017-01-07 00:07:45 +01:00
Larry Hastings 19431649e0 Cherry-pick small copyright fix for 3.5.3 final. 2017-01-06 13:47:20 -08:00
Victor Stinner cd992bbe73 Merge 3.6 2017-01-06 18:16:07 +01:00
Victor Stinner 84b6fb0eea Fix unittest.mock._Call: don't ignore name
Issue #28961: Fix unittest.mock._Call helper: don't ignore the name parameter
anymore.

Patch written by Jiajun Huang.
2017-01-06 18:15:51 +01:00
Victor Stinner b27df6faa5 Issue #29157: enhance py_getrandom() documentation 2017-01-06 11:39:15 +01:00
Victor Stinner de2f1ea124 py_getentropy() now supports ENOSYS, EPERM & EINTR
Issue #29157.
2017-01-06 11:33:18 +01:00
Victor Stinner 2f7964393d Issue #29157: getrandom() is now preferred over getentropy()
The glibc now implements getentropy() on Linux using the getrandom() syscall.
But getentropy() doesn't support non-blocking mode.

Since getrandom() is tried first, it's not more needed to explicitly exclude
getentropy() on Solaris. Replace:

    if defined(HAVE_GETENTROPY) && !defined(sun)

with

    if defined(HAVE_GETENTROPY)
2017-01-06 11:26:01 +01:00
Victor Stinner a49a2078e8 Issue #29157: Simplify dev_urandom()
pyurandom() is now responsible to call getentropy() or getrandom().

Enhance also dev_urandom() and pyurandom() documentation.
2017-01-06 11:17:52 +01:00
Victor Stinner dcdb60e4b3 Issue #29157: dev_urandom() now calls py_getentropy()
Prepare the fallback to support getentropy() failure and falls back on reading
from /dev/urandom.
2017-01-06 11:16:20 +01:00
Victor Stinner 1459ca64fc Merge 3.6 2017-01-06 10:49:32 +01:00