ce0f33d | Bo Bayles | 30 January 2018, 06:40:39 UTC | bpo-32102 Add "capture_output=True" to subprocess.run (GH-5149) Add "capture_output=True" option to subprocess.run, this is equivalent to setting stdout=PIPE, stderr=PIPE but is much more readable. | 30 January 2018, 06:40:39 UTC |
9544180 | Benjamin Peterson | 30 January 2018, 06:14:17 UTC | closes bpo-32721: do not fail test_hashlib if _md5 isn't available (GH-5441) | 30 January 2018, 06:14:17 UTC |
3d86e48 | Stéphane Wirtel | 30 January 2018, 06:04:36 UTC | bpo-32681: Fix an uninitialized variable in the C implementation of os.dup2 (GH-5346) See https://bugs.python.org/issue32441 for where this was introduced. | 30 January 2018, 06:04:36 UTC |
ce237c7 | Bo Bayles | 30 January 2018, 05:54:07 UTC | bpo-21417: Add compresslevel= to the zipfile module (GH-5385) This allows the compression level to be specified when writing zipfiles (for the entire file *and* overridden on a per-file basis). Contributed by Bo Bayles | 30 January 2018, 05:54:07 UTC |
f4d644f | Gregory P. Smith | 30 January 2018, 05:27:39 UTC | bpo-25942: make subprocess more graceful on ^C (GH-5026) Do not allow receiving a SIGINT to cause the subprocess module to trigger an immediate SIGKILL of the child process. SIGINT is normally sent to all child processes by the OS at the same time already as was the established normal behavior in 2.7 and 3.2. This behavior change was introduced during the fix to https://bugs.python.org/issue12494 and is generally surprising to command line tool users who expect other tools launched in child processes to get their own SIGINT and do their own cleanup. In Python 3.3-3.6 subprocess.call and subprocess.run would immediately SIGKILL the child process upon receiving a SIGINT (which raises a KeyboardInterrupt). We now give the child a small amount of time to exit gracefully before resorting to a SIGKILL. This is also the case for subprocess.Popen.__exit__ which would previously block indefinitely waiting for the child to die. This was hidden from many users by virtue of subprocess.call and subprocess.run sending the signal immediately. Behavior change: subprocess.Popen.__exit__ will not block indefinitely when the exiting exception is a KeyboardInterrupt. This is done for user friendliness as people expect their ^C to actually happen. This could cause occasional orphaned Popen objects when not using `call` or `run` with a child process that hasn't exited. Refactoring involved: The Popen.wait method deals with the KeyboardInterrupt second chance, existing platform specific internals have been renamed to _wait(). Also fixes comment typos. | 30 January 2018, 05:27:39 UTC |
83e64c8 | Eric Snow | 30 January 2018, 04:04:15 UTC | bpo-32604: NULL-terminate kwlist in channel_drop_interpreter(). (gh-5437) | 30 January 2018, 04:04:15 UTC |
9424dcb | Julien Palard | 30 January 2018, 03:36:06 UTC | bpo-32701: Clarify the quotetabs flag in quopri documentation (GH-5401) | 30 January 2018, 03:36:06 UTC |
77526f0 | Benjamin Peterson | 30 January 2018, 02:03:01 UTC | replace dynamic import with 'exec' with importlib.import_module (#5433) | 30 January 2018, 02:03:01 UTC |
7f8bfc9 | Eric Snow | 30 January 2018, 01:23:44 UTC | bpo-32604: Expose the subinterpreters C-API in a "private" stdlib module. (gh-1748) The module is primarily intended for internal use in the test suite. Building the module under Windows will come in a follow-up PR. | 30 January 2018, 01:23:44 UTC |
332cd5e | Mark Shannon | 30 January 2018, 00:41:04 UTC | bpo-32550. Remove the STORE_ANNOTATION bytecode. (GH-5181) | 30 January 2018, 00:41:04 UTC |
b6e43af | Christian Heimes | 29 January 2018, 21:37:58 UTC | bpo-28134: Auto-detect socket values from file descriptor (#1349) Fix socket(fileno=fd) by auto-detecting the socket's family, type, and proto from the file descriptor. The auto-detection can be overruled by passing in family, type, and proto explicitly. Without the fix, all socket except for TCP/IP over IPv4 are basically broken: >>> s = socket.create_connection(('www.python.org', 443)) >>> s <socket.socket fd=3, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=6, laddr=('2003:58:bc4a:3b00:56ee:75ff:fe47:ca7b', 59730, 0, 0), raddr=('2a04:4e42:1b::223', 443, 0, 0)> >>> socket.socket(fileno=s.fileno()) <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('2003:58:bc4a:3b00::%2550471192', 59730, 0, 2550471192), raddr=('2a04:4e42:1b:0:700c:e70b:ff7f:0%2550471192', 443, 0, 2550471192)> Signed-off-by: Christian Heimes <christian@python.org> | 29 January 2018, 21:37:58 UTC |
72a0d21 | Pablo Galindo | 29 January 2018, 20:37:09 UTC | bpo-31356: Add context manager to temporarily disable GC (GH-4224) | 29 January 2018, 20:37:09 UTC |
0cd6bca | Pablo Galindo | 29 January 2018, 20:34:42 UTC | bpo-20104: Fix leaks and errors in new os.posix_spawn (GH-5418) * Fix memory leaks and error handling in posix spawn * Improve error handling when destroying the file_actions object * Py_DECREF the result of PySequence_Fast on error * Handle uninitialized pid * Use OSError if file actions fails to initialize * Move _file_actions to outer scope to avoid undefined behaviour * Remove HAVE_POSIX_SPAWN define in Modules/posixmodule.c * Unshadow exception and clean error message | 29 January 2018, 20:34:42 UTC |
c65ef77 | Benjamin Peterson | 29 January 2018, 19:33:57 UTC | rename _imp initialization function to follow conventions (#5432) When the C imp module became _imp in 6f44d66bc491bad5b8d897a68da68e009e27829d, the initialization function should have been renamed from PyInit_imp to PyInit__imp. | 29 January 2018, 19:33:57 UTC |
2a2270d | Yury Selivanov | 29 January 2018, 19:31:47 UTC | bpo-32703: Fix coroutine resource warning in case where there's an error (GH-5410) The commit removes one unnecessary "if" clause in genobject.c. That "if" clause was masking un-awaited coroutines warnings just to make writing unittests more convenient. | 29 January 2018, 19:31:47 UTC |
b647d70 | Yury Selivanov | 29 January 2018, 18:31:37 UTC | bpo-32707: Fix warnings in hamt.c (#5430) | 29 January 2018, 18:31:37 UTC |
aa218d1 | jayyyin | 29 January 2018, 18:07:44 UTC | bpo-27931: Fix email address header parsing error (#5329) Correctly handle addresses whose username is an empty quoted string. | 29 January 2018, 18:07:44 UTC |
e6d3421 | Raymond Hettinger | 29 January 2018, 16:27:49 UTC | bpo-25988: Deprecate exposing collections.abc in collections GH-5414 | 29 January 2018, 16:27:49 UTC |
4f4ef0a | Andrew Svetlov | 29 January 2018, 14:17:45 UTC | Add a test for pdb until command in coroutine (#5427) | 29 January 2018, 14:17:45 UTC |
66e5742 | Christian Heimes | 29 January 2018, 13:25:13 UTC | bpo-28414: ssl module idna test (#5395) Add test cases for IDNA 2003 and 2008 host names. IDNA 2003 internationalized host names are working since bpo-31399 has landed. IDNA 2008 deviations are still broken and will be fixed in another patch. Signed-off-by: Christian Heimes <christian@python.org> | 29 January 2018, 13:25:13 UTC |
892d66e | Christian Heimes | 29 January 2018, 13:10:18 UTC | bpo-31429: Define TLS cipher suite on build time (#3532) Until now Python used a hard coded white list of default TLS cipher suites. The old approach has multiple downsides. OpenSSL's default selection was completely overruled. Python did neither benefit from new cipher suites (ChaCha20, TLS 1.3 suites) nor blacklisted cipher suites. For example we used to re-enable 3DES. Python now defaults to OpenSSL DEFAULT cipher suite selection and black lists all unwanted ciphers. Downstream vendors can override the default cipher list with --with-ssl-default-suites. Signed-off-by: Christian Heimes <christian@python.org> | 29 January 2018, 13:10:18 UTC |
d951157 | Victor Stinner | 29 January 2018, 13:04:44 UTC | bpo-20891: Reenable test_embed.test_bpo20891() (GH-5420) | 29 January 2018, 13:04:44 UTC |
8017b80 | Victor Stinner | 29 January 2018, 12:47:06 UTC | bpo-28685: Fix compiler warning (GH-5423) | 29 January 2018, 12:47:06 UTC |
51500f3 | Victor Stinner | 29 January 2018, 12:21:34 UTC | bpo-32706: Skip test_ftplib.test_check_hostname() (#5422) This test is unstable and currently prevents to make any new change since the test always fails on Travis CI. Skip the test to get more time to fix it. | 29 January 2018, 12:21:34 UTC |
db8189b | Victor Stinner | 29 January 2018, 11:10:22 UTC | bpo-31233, bpo-31151: Document socketserver changes (#5417) socketserver.ForkingMixIn.server_close() and socketserver.ThreadingMixIn.server_close() now waits until all child processes and non-daemonic threads complete. | 29 January 2018, 11:10:22 UTC |
2914bb3 | Victor Stinner | 29 January 2018, 10:57:45 UTC | bpo-20891: Py_Initialize() now creates the GIL (#4700) The GIL is no longer created "on demand" to fix a race condition when PyGILState_Ensure() is called in a non-Python thread. | 29 January 2018, 10:57:45 UTC |
8997f9c | Chih-Hsuan Yen | 29 January 2018, 09:50:35 UTC | bpo-32705: Current Android does not have posix_spawn (#5413) | 29 January 2018, 09:50:35 UTC |
2a3260b | cocoatomo | 29 January 2018, 08:30:48 UTC | Fix minor markup typo (#5407) | 29 January 2018, 08:30:48 UTC |
95e2147 | Nathaniel J. Smith | 29 January 2018, 07:34:26 UTC | bpo-32591: silence deprecation warnings in test_coroutine (GH-5412) | 29 January 2018, 07:34:26 UTC |
1e5b25b | Yury Selivanov | 29 January 2018, 05:25:05 UTC | bpo-23749: Make start-tls tests more stable on win7 buildbot (GH-5409) To mitigate the situation when the buildbot is under load and is unable to send/receive data fast enough: * reduce the size of the payload * set a generous timeout for socket ops | 29 January 2018, 05:25:05 UTC |
07627e9 | Yury Selivanov | 29 January 2018, 04:51:08 UTC | bpo-32251: Fix docs (#5408) | 29 January 2018, 04:51:08 UTC |
9ee1bf9 | Yury Selivanov | 29 January 2018, 03:43:46 UTC | bpo-32650: Add an asyncgen pdb test (#5406) | 29 January 2018, 03:43:46 UTC |
997478e | Xiang Zhang | 29 January 2018, 03:32:12 UTC | bpo-32688: Make why the line is commented out clear (GH-5405) | 29 January 2018, 03:32:12 UTC |
1e34da4 | embg | 29 January 2018, 03:03:23 UTC | bpo-28685: Optimize sorted() list.sort() with type-specialized comparisons (#582) | 29 January 2018, 03:03:23 UTC |
6c6ddf9 | Pablo Galindo | 29 January 2018, 01:56:10 UTC | bpo-20104: Expose `posix_spawn` in the os module (GH-5109) Add os.posix_spawn to wrap the low level POSIX API of the same name. Contributed by Pablo Galindo. | 29 January 2018, 01:56:10 UTC |
f5b04a3 | Gregory P. Smith | 29 January 2018, 01:48:31 UTC | Document the error return of PyLong_As* APIs. (#5396) Document the error return of PyLong_As* APIs. A frequent Python C API usage error is neglecting to check the return value and/or PyErr_Occurred(). | 29 January 2018, 01:48:31 UTC |
c7ab581 | Pablo Galindo | 29 January 2018, 01:31:00 UTC | bpo-32650 Add support for async generators and more test for coroutines in pdb (#5403) | 29 January 2018, 01:31:00 UTC |
4687702 | Pablo Galindo | 29 January 2018, 00:25:05 UTC | bpo-32650: Add native coroutine support to bdb when stepping over line (GH-5400) | 29 January 2018, 00:25:05 UTC |
7c99e93 | Eric V. Smith | 29 January 2018, 00:18:55 UTC | Fix trivial typo in test_dataclasses.py. (GH-5398) | 29 January 2018, 00:18:55 UTC |
15ea3a6 | Steve Dower | 28 January 2018, 23:34:09 UTC | bpo-32699: Improves doc for .pth files in presense of a ._pth file (#5399) | 28 January 2018, 23:34:09 UTC |
f11b460 | Yury Selivanov | 28 January 2018, 22:27:38 UTC | bpo-32373: Add socket.getblocking() method. (#4926) | 28 January 2018, 22:27:38 UTC |
631fd38 | Yury Selivanov | 28 January 2018, 21:30:26 UTC | bpo-32251: Implement asyncio.BufferedProtocol. (#4755) | 28 January 2018, 21:30:26 UTC |
0ceb717 | Yury Selivanov | 28 January 2018, 21:08:32 UTC | Revert "bpo-32221: makeipaddr(): remove interface part + speedup (GH-4724)" (#5394) This reverts commit 47c0b1f7d4115e6f15e6776c1f91d28e7d96fe0c. | 28 January 2018, 21:08:32 UTC |
f36ba12 | larryhastings | 28 January 2018, 19:13:09 UTC | bpo-32697: Definition order of kwonly params is now guaranteed preserved. (#5391) Definition order of kwonly params is now guaranteed preserved. | 28 January 2018, 19:13:09 UTC |
bec2372 | Yury Selivanov | 28 January 2018, 19:09:40 UTC | bpo-32327: Revert loop.run_in_executor behaviour: return a Future. (#5392) I've run some tests on 3.7 asyncio and it appears that too many things assume that run_in_executor returns a Future. | 28 January 2018, 19:09:40 UTC |
a4d0001 | Raymond Hettinger | 28 January 2018, 17:40:24 UTC | bpo-32690: Preserve order of locals() (#5379) | 28 January 2018, 17:40:24 UTC |
059f58c | Nitish Chandra | 28 January 2018, 16:00:09 UTC | bpo-32228: Reset raw_pos after unwinding the raw stream (#4858) Ensure that ``truncate()`` preserves the file position (as reported by ``tell()``) after writes longer than the buffer size. | 28 January 2018, 16:00:09 UTC |
79db11c | Xiang Zhang | 28 January 2018, 14:54:42 UTC | Fix PyTrace_RETURN documentation (GH-5384) It will be triggered when propagating an exception. | 28 January 2018, 14:54:42 UTC |
4d02966 | Eric V. Smith | 28 January 2018, 14:25:45 UTC | Add example for PEP 557. (GH-5383) | 28 January 2018, 14:25:45 UTC |
f0a95f2 | jcea | 28 January 2018, 13:00:48 UTC | bpo-32660: Solaris should support constants like termios' FIONREAD (#5328) | 28 January 2018, 13:00:48 UTC |
6c51d51 | jcea | 28 January 2018, 13:00:08 UTC | bpo-32659: Solaris "stat" should support "st_fstype" (#5307) * bpo-32659: Solaris "stat" should support "st_fstype" * Add 'versionadded' | 28 January 2018, 13:00:08 UTC |
43c0f1a | Nitish Chandra | 28 January 2018, 10:56:02 UTC | bpo-32685: Improve suggestion for print statement (GH-5375) Better account for single-line compound statements and semi-colon separated statements when suggesting Py3 replacements for Py2 print statements. Initial patch by Nitish Chandra. | 28 January 2018, 10:56:02 UTC |
255f7a2 | Xiang Zhang | 28 January 2018, 09:53:38 UTC | bpo-32649: Add C API docs for per-opcode tracing & profiling (GH-5360) Updating the C API docs was missed when the per-opcode tracing & profiling support was initially added. | 28 January 2018, 09:53:38 UTC |
9ed0aee | Xiang Zhang | 28 January 2018, 07:38:21 UTC | bpo-32687: Fix wrong meaning of args for PyTrace_LINE/CALL in documentation (#5361) | 28 January 2018, 07:38:21 UTC |
a278ad2 | Nick Coghlan | 28 January 2018, 05:14:30 UTC | bpo-30306: Add missing NEWS entry (GH-5374) | 28 January 2018, 05:14:30 UTC |
fcf8b4c | Mario Corchero | 28 January 2018, 04:58:47 UTC | bpo-32206: Update pdb usage to include new module option (GH-5111) | 28 January 2018, 04:58:47 UTC |
dd0e087 | Martin Teichmann | 28 January 2018, 04:17:46 UTC | bpo-30306: release arguments of contextmanager (GH-1500) The arguments to a generator function which is declared as a contextmanager are stored inside the context manager, and thus are kept alive, even when it is used as a regular context manager, and not as a function decorator (where it needs the original arguments to recreate the generator on each call). This is a possible unnecessary memory leak, so this changes contextmanager.__enter__ to release the saved arguments, as that method being called means that particular CM instance isn't going to need to recreate the underlying generator. Patch by Martin Teichmann. | 28 January 2018, 04:17:46 UTC |
c4b1248 | Eric V. Smith | 28 January 2018, 01:30:37 UTC | Pep 557 What's New (GH-5371) Add PEP 557 Data CLasses to What's New. | 28 January 2018, 01:30:37 UTC |
bea5706 | INADA Naoki | 28 January 2018, 00:59:12 UTC | bpo-32677: Optimize str.isascii() (GH-5356) | 28 January 2018, 00:59:12 UTC |
ea8fc52 | Eric V. Smith | 28 January 2018, 00:07:40 UTC | bpo-32513: Make it easier to override dunders in dataclasses. (GH-5366) Class authors no longer need to specify repr=False if they want to provide a custom __repr__ for dataclasses. The same thing applies for the other dunder methods that the dataclass decorator adds. If dataclass finds that a dunder methods is defined in the class, it will not overwrite it. | 28 January 2018, 00:07:40 UTC |
2a2247c | Yury Selivanov | 27 January 2018, 22:22:01 UTC | bpo-32622: Normalize ENOTCONN to ConnectionError on macOS (GH-5369) On mac, sendfile throws ENOTCONN on a repeated sendfile call if the connection is closed. Normalize it to behave like other systems. | 27 January 2018, 22:22:01 UTC |
47c0b1f | Коренберг Марк | 27 January 2018, 22:20:50 UTC | bpo-32221: makeipaddr(): remove interface part + speedup (GH-4724) | 27 January 2018, 22:20:50 UTC |
ee72ac0 | Elvis Pranskevichus | 27 January 2018, 22:11:10 UTC | bpo-32622: Fix AbstractEventLoop.sendfile signature in documentation. (GH-5368) | 27 January 2018, 22:11:10 UTC |
0f54e00 | Andrew Svetlov | 27 January 2018, 22:00:37 UTC | Fix tests if Python compiled without SSL (#5367) | 27 January 2018, 22:00:37 UTC |
b2ec361 | Ammar Askar | 27 January 2018, 20:53:56 UTC | Fix changed file detection on Travis (GH-3129) Travis when merging changes from a pull request onto the target branch does not perform a rebase, instead it does a simple merge which causes the PR commits to retain their commit dates. This means that the commit log can potentially look like: PR merge <-- HEAD normal master commit <- master more commits from normal workflow PR commit 1 another master commit PR commit 2 Performing a git diff from PR commit 2 to master will accidentally include files that should not be there. Closes python/core-workflow#14 | 27 January 2018, 20:53:56 UTC |
b1a6ac4 | Yury Selivanov | 27 January 2018, 20:52:52 UTC | bpo-32622: Enforce sendfile fallback policy for FALLBACK transports (#5364) | 27 January 2018, 20:52:52 UTC |
7c68407 | Andrew Svetlov | 27 January 2018, 19:22:47 UTC | bpo-32622: Implement loop.sendfile() (#5271) | 27 January 2018, 19:22:47 UTC |
f13f12d | Yury Selivanov | 27 January 2018, 18:46:46 UTC | bpo-32630: Use contextvars in decimal (GH-5278) | 27 January 2018, 18:46:46 UTC |
bc4123b | Yury Selivanov | 27 January 2018, 18:24:20 UTC | bpo-32436: Use PyThreadState_GET() in all hot paths (GH-5363) | 27 January 2018, 18:24:20 UTC |
7cc95f5 | INADA Naoki | 27 January 2018, 17:07:09 UTC | Fix wrong assert in unicodeobject (GH-5340) | 27 January 2018, 17:07:09 UTC |
4defba3 | Pablo Galindo | 27 January 2018, 16:16:37 UTC | bpo-31368: Expose preadv and pwritev in the os module (#5239) | 27 January 2018, 16:16:37 UTC |
60da99b | Xiang Zhang | 27 January 2018, 15:04:47 UTC | bpo-32532: Improve documentation of settrace and setprofile (#5359) Mention in the documentation of settrace and setprofile that errors in the registered handlers will cause themselves unset. | 27 January 2018, 15:04:47 UTC |
61d478c | Christian Heimes | 27 January 2018, 14:51:38 UTC | bpo-31399: Let OpenSSL verify hostname and IP address (#3462) bpo-31399: Let OpenSSL verify hostname and IP The ssl module now uses OpenSSL's X509_VERIFY_PARAM_set1_host() and X509_VERIFY_PARAM_set1_ip() API to verify hostname and IP addresses. * Remove match_hostname calls * Check for libssl with set1_host, libssl must provide X509_VERIFY_PARAM_set1_host() * Add documentation for OpenSSL 1.0.2 requirement * Don't support OpenSSL special mode with a leading dot, e.g. ".example.org" matches "www.example.org". It's not standard conform. * Add hostname_checks_common_name Signed-off-by: Christian Heimes <christian@python.org> | 27 January 2018, 14:51:38 UTC |
746cc75 | Mads Jensen | 27 January 2018, 12:34:28 UTC | bpo-31853: Replaced socket.method calls with super() in SSLSocket. (#4048) | 27 January 2018, 12:34:28 UTC |
d0e31b9 | Christian Heimes | 27 January 2018, 08:54:13 UTC | bpo-32454: socket closefd (#5048) Add close(fd) function to the socket module Signed-off-by: Christian Heimes <christian@python.org> | 27 January 2018, 08:54:13 UTC |
2f050c7 | Christian Heimes | 27 January 2018, 08:53:43 UTC | bpo-32433: Optimized HMAC digest (#5023) The hmac module now has hmac.digest(), which provides an optimized HMAC digest for short messages. hmac.digest() is up to three times faster than hmac.HMAC().digest(). Signed-off-by: Christian Heimes <christian@python.org> | 27 January 2018, 08:53:43 UTC |
a49ac99 | INADA Naoki | 27 January 2018, 05:06:21 UTC | bpo-32677: Add .isascii() to str, bytes and bytearray (GH-5342) | 27 January 2018, 05:06:21 UTC |
85527cf | Cheryl Sabella | 27 January 2018, 02:40:52 UTC | bpo-27505: Add change notes in module attribute docs (GH-5320) Make it clear that setting __class__ on a module has worked since 3.5, but support for __getattr__ and __dir__ on module instances requires 3.7+ Patch by Cheryl Sabella. | 27 January 2018, 02:40:52 UTC |
37420de | INADA Naoki | 27 January 2018, 01:10:06 UTC | bpo-32678: inspect: Import ast lazily (GH-5344) | 27 January 2018, 01:10:06 UTC |
29a7df7 | Christian Heimes | 26 January 2018, 22:28:46 UTC | bpo-32521: nis libnsl (#5190) The nismodule is now compatible with new libnsl and headers location Signed-off-by: Christian Heimes <christian@python.org> | 26 January 2018, 22:28:46 UTC |
226e500 | Yury Selivanov | 26 January 2018, 22:24:52 UTC | bpo-32436: Make PyContextVar_Get a little bit faster (#5350) Since context.c is compiled with Py_BUILD_CORE, using a macro will result in a slightly more optimal code. | 26 January 2018, 22:24:52 UTC |
43c47fe | Yury Selivanov | 26 January 2018, 20:24:24 UTC | bpo-32670: Enforce PEP 479. (#5327) | 26 January 2018, 20:24:24 UTC |
dba976b | Nathaniel J. Smith | 26 January 2018, 19:28:31 UTC | bpo-32591: fix abort in _PyErr_WarnUnawaitedCoroutine during shutdown (#5337) When an unawaited coroutine is collected very late in shutdown -- like, during the final GC at the end of PyImport_Cleanup -- then it was triggering an interpreter abort, because we'd try to look up the "warnings" module and not only was it missing (we were prepared for that), but the entire module system was missing (which we were not prepared for). I've tried to fix this at the source, by making the utility function get_warnings_attr robust against this in general. Note that it already has the convention that it can return NULL without setting an error, which is how it signals that the attribute it was asked to fetch is missing, and that all callers already check for NULL returns. There's a similar check for being late in shutdown at the top of warn_explicit, which might be unnecessary after this fix, but I'm not sure so I'm going to leave it. | 26 January 2018, 19:28:31 UTC |
95e4d58 | Guido van Rossum | 26 January 2018, 16:20:18 UTC | String annotations [PEP 563] (#4390) * Document `from __future__ import annotations` * Provide plumbing and tests for `from __future__ import annotations` * Implement unparsing the AST back to string form This is required for PEP 563 and as such only implements a part of the unparsing process that covers expressions. | 26 January 2018, 16:20:18 UTC |
d7773d9 | bennorth | 26 January 2018, 15:46:01 UTC | bpo-18533: Avoid RecursionError from repr() of recursive dictview (#4823) dictview_repr(): Use a Py_ReprEnter() / Py_ReprLeave() pair to check for recursion, and produce "..." if so. test_recursive_repr(): Check for the string rather than a RecursionError. (Test cannot be any tighter as contents are implementation-dependent.) test_deeply_nested_repr(): Add new test, replacing the original test_recursive_repr(). It checks that a RecursionError is raised in the case of a non-recursive but deeply nested structure. (Very similar to what test_repr_deep() in test/test_dict.py does for a normal dict.) OrderedDictTests: Add new test case, to test behavior on OrderedDict instances containing their own values() or items(). | 26 January 2018, 15:46:01 UTC |
e76daeb | INADA Naoki | 26 January 2018, 07:22:51 UTC | bpo-32571: Fix reading uninitialized memory (GH-5332) Reported by Coverity Scan. | 26 January 2018, 07:22:51 UTC |
4112c5b | Yury Selivanov | 26 January 2018, 06:30:57 UTC | bpo-32662: Try making test_asyncio.test_server more reliable (#5338) | 26 January 2018, 06:30:57 UTC |
863b1e4 | mwidjaja | 26 January 2018, 04:49:56 UTC | bpo-29237: Create enum for pstats sorting options (GH-5103) | 26 January 2018, 04:49:56 UTC |
4666ec5 | INADA Naoki | 26 January 2018, 01:53:31 UTC | bpo-32596: Make lazy-load portable (GH-5316) Global variables should not used as import target. Use temporary variable instead. | 26 January 2018, 01:53:31 UTC |
2fc98ae | Bo Bayles | 26 January 2018, 00:02:03 UTC | bpo-32304: Fix distutils upload for sdists ending with \x0d (GH-5264) Patch by Bo Bayles. | 26 January 2018, 00:02:03 UTC |
c47dacb | José Melero Fernández | 25 January 2018, 23:45:43 UTC | bpo-32574: Fix leaks in asyncio.Queue.put() and .get() (#5208) | 25 January 2018, 23:45:43 UTC |
c9070d0 | Yury Selivanov | 25 January 2018, 23:08:09 UTC | bpo-32662: Implement Server.start_serving() and Server.serve_forever() (#5312) * bpo-32662: Implement Server.start_serving() and Server.serve_forever() New methods: * Server.start_serving(), * Server.serve_forever(), and * Server.is_serving(). Add 'start_serving' keyword parameter to loop.create_server() and loop.create_unix_server(). | 25 January 2018, 23:08:09 UTC |
1aa094f | Ilya Kulakov | 25 January 2018, 20:51:18 UTC | bpo-29302: Implement contextlib.AsyncExitStack. (#4790) | 25 January 2018, 20:51:18 UTC |
6ab6292 | Yury Selivanov | 25 January 2018, 19:18:55 UTC | bpo-32436: Fix a refleak; var GC tracking; a GCC warning (#5326) The refleak in question wasn't really important, as context vars are usually created at the toplevel and live as long as the interpreter lives, so the context var name isn't ever GCed anyways. | 25 January 2018, 19:18:55 UTC |
b31206a | Victor Stinner | 25 January 2018, 18:06:05 UTC | bpo-32667: Fix tests when $PATH contains a file (#5322) Some tests failed when the PATH environment variable contained a path to an existing file. Fix tests to ignore also NotADirectoryError, not only FileNotFoundError and PermissionError. | 25 January 2018, 18:06:05 UTC |
93a6119 | Dmitry Alimov | 25 January 2018, 17:54:41 UTC | Fix 3rd level node's binary representation in HAMT algorithm description (#5319) | 25 January 2018, 17:54:41 UTC |
58dc03c | Paul Ganssle | 25 January 2018, 13:58:07 UTC | Cleanup dangling reference in get_timezone_utc_capi (#5317) | 25 January 2018, 13:58:07 UTC |
2812d3d | INADA Naoki | 25 January 2018, 10:52:58 UTC | bpo-32360: Remove OrderedDict usage from json.tool (GH-5315) `object_pairs_hook=OrderedDict` idiom is deprecated. | 25 January 2018, 10:52:58 UTC |
f320be7 | Serhiy Storchaka | 25 January 2018, 08:49:40 UTC | bpo-32571: Avoid raising unneeded AttributeError and silencing it in C code (GH-5222) Add two new private APIs: _PyObject_LookupAttr() and _PyObject_LookupAttrId() | 25 January 2018, 08:49:40 UTC |
2b822a0 | Victor Stinner | 25 January 2018, 08:18:36 UTC | bpo-32652: Defer pymain_set_global_config() call (#5303) In Py_Main(), don't call pymain_set_global_config() early: only call it when the whole configuration has been read. Add an unit test to prevent future regression. | 25 January 2018, 08:18:36 UTC |