summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bpo-32521: nis libnsl (#5190)Christian Heimes2018-01-262-19/+52
| | | | | The nismodule is now compatible with new libnsl and headers location Signed-off-by: Christian Heimes <christian@python.org>
* bpo-32436: Make PyContextVar_Get a little bit faster (#5350)Yury Selivanov2018-01-261-1/+2
| | | | Since context.c is compiled with Py_BUILD_CORE, using a macro will result in a slightly more optimal code.
* bpo-32670: Enforce PEP 479. (#5327)Yury Selivanov2018-01-267-80/+38
|
* bpo-32591: fix abort in _PyErr_WarnUnawaitedCoroutine during shutdown (#5337)Nathaniel J. Smith2018-01-262-0/+29
| | | | | | | | | | | | | | | | | | 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.
* String annotations [PEP 563] (#4390)Guido van Rossum2018-01-2616-30/+1477
| | | | | | | | * 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.
* bpo-18533: Avoid RecursionError from repr() of recursive dictview (#4823)bennorth2018-01-264-4/+44
| | | | | | | | | | | | | | | | | 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().
* bpo-32571: Fix reading uninitialized memory (GH-5332)INADA Naoki2018-01-261-0/+5
| | | Reported by Coverity Scan.
* bpo-32662: Try making test_asyncio.test_server more reliable (#5338)Yury Selivanov2018-01-261-1/+12
|
* bpo-29237: Create enum for pstats sorting options (GH-5103)mwidjaja2018-01-265-61/+144
|
* bpo-32596: Make lazy-load portable (GH-5316)INADA Naoki2018-01-261-4/+6
| | | | Global variables should not used as import target. Use temporary variable instead.
* bpo-32304: Fix distutils upload for sdists ending with \x0d (GH-5264)Bo Bayles2018-01-264-2/+33
| | | | Patch by Bo Bayles.
* bpo-32574: Fix leaks in asyncio.Queue.put() and .get() (#5208)José Melero Fernández2018-01-253-2/+63
|
* bpo-32662: Implement Server.start_serving() and Server.serve_forever() (#5312)Yury Selivanov2018-01-256-35/+334
| | | | | | | | | | | | | * 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().
* bpo-29302: Implement contextlib.AsyncExitStack. (#4790)Ilya Kulakov2018-01-256-81/+451
|
* bpo-32436: Fix a refleak; var GC tracking; a GCC warning (#5326)Yury Selivanov2018-01-252-4/+6
| | | | | 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.
* bpo-32667: Fix tests when $PATH contains a file (#5322)Victor Stinner2018-01-252-9/+8
| | | | | 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.
* Fix 3rd level node's binary representation in HAMT algorithm description (#5319)Dmitry Alimov2018-01-251-1/+1
|
* Cleanup dangling reference in get_timezone_utc_capi (#5317)Paul Ganssle2018-01-251-0/+2
|
* bpo-32360: Remove OrderedDict usage from json.tool (GH-5315)INADA Naoki2018-01-251-6/+1
| | | `object_pairs_hook=OrderedDict` idiom is deprecated.
* bpo-32571: Avoid raising unneeded AttributeError and silencing it in C code ↵Serhiy Storchaka2018-01-2522-1428/+1441
| | | | | (GH-5222) Add two new private APIs: _PyObject_LookupAttr() and _PyObject_LookupAttrId()
* bpo-32652: Defer pymain_set_global_config() call (#5303)Victor Stinner2018-01-252-14/+27
| | | | | | 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.
* bpo-29708: Add What's New entries for SOURCE_DATE_EPOCH and py_compile (GH-5306)Brett Cannon2018-01-251-15/+31
|
* bpo-32391: Implement StreamWriter.wait_closed() (#5281)Andrew Svetlov2018-01-244-10/+73
|
* bpo-10381: Add timezone to datetime C API (#5032)Paul Ganssle2018-01-247-11/+329
| | | | | | | | | | | | | | | | | | * Add timezone to datetime C API * Add documentation for timezone C API macros * Add dedicated tests for datetime type check macros * Remove superfluous C API test * Drop support for TimeZoneType in datetime C API * Expose UTC singleton to the datetime C API * Update datetime C-API documentation to include links * Add reference count information for timezone constructors
* bpo-29708: Setting SOURCE_DATE_EPOCH forces hash-based .pyc files (GH-5200)Bernhard M. Wiedemann2018-01-244-1/+22
| | | To support reproducible builds, the setting of of SOURCE_DATE_EPOCH triggers the py_compile module -- and by extension, compileall -- to forcibly compile with hash-based .pyc files. This eliminates the possibility of timestamp-based .pyc files which vary between builds.
* bpo-32248 - Implement `ResourceReader` and `get_resource_reader()` for ↵Barry Warsaw2018-01-245-83/+157
| | | | zipimport (#5248)
* bpo-32636: Fix two bugs in test_asyncio (#5302)Victor Stinner2018-01-242-1/+2
|
* bpo-32636: Fix @asyncio.coroutine debug mode bug exposed by gh-5250 (#5291)Nathaniel J. Smith2018-01-242-1/+19
|
* bpo-32410: Improve sock_sendfile tests (#5294)Andrew Svetlov2018-01-241-16/+19
| | | | | * Rename sock_sendfile test methods * Make sock_sendfile tests more stable
* bpo-32651 Recommend getpass.getuser() (#5301)Barry Warsaw2018-01-242-8/+11
| | | | * bpo-32651 - In the documentation for os.getlogin(), recommend getpass.getuser()
* bpo-32643: Drop support for a few private Task and Future APIs. (#5293)Yury Selivanov2018-01-247-229/+33
| | | | | | | | Specifically, it's not possible to subclass Task/Future classes and override the following methods: * Future._schedule_callbacks * Task._step * Task._wakeup
* bpo-32030: Add _PyCoreConfig.module_search_paths (#4954)Victor Stinner2018-01-243-187/+231
| | | | | | | | | | | _PyCoreConfig_Read() is now responsible to compute sys.path. So sys.path is now computed before calling _Py_InitializeCore(). Changes: * Add module_search_path, module_search_paths, executable, prefix, base_prefix, exec_prefix and base_exec_prefix to _PyCoreConfig. * _PyMainInterpreterConfig_Read() now only converts wchar_t** lists into a Python list, it doesn't compute sys.path anymore.
* bpo-28046: Remove MACHDEPPATH from Modules/Setup.dist (#5289)Victor Stinner2018-01-241-5/+1
| | | | | | Makefile $MACHDEPPATH uses $PLATDIR, but this variable was removed. So remove also $MACHDEPPATH. Remove also $EXTRAMACHDEPPATH.
* bpo-17799: Explain real behaviour of sys.settrace and sys.setprofile (#4056)Pablo Galindo2018-01-243-22/+40
|
* bpo-32360: unittest.util: Use Counter instead of custom count function (GH-4994)Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి)2018-01-241-9/+2
|
* bpo-32436: Don't use native popcount() (also fixes bpo-32641) (#5292)Yury Selivanov2018-01-242-15/+13
|
* bpo-32502: Discard 64-bit (and other invalid) hardware addresses (#5254)Bo Bayles2018-01-243-6/+38
|
* bpo-32436: Fix potential NULL dereference (#5286)Yury Selivanov2018-01-231-0/+4
|
* bpo-32296: Make get_running_loop() another 4-5x faster (#5277)Yury Selivanov2018-01-231-62/+102
|
* bpo-32635: Fix a segfault when importing the crypt module with libxcrypt. ↵stratakis2018-01-235-2/+10
| | | | | | | (#5284) glibc is deprecating libcrypt in favor of libxcrypt, however python assumes that crypt.h will always be included. This change makes the header inclusion explicit when libxcrypt is present on the system.
* bpo-32618: Fix test_mutatingdecodehandler not testing test.mutating (#5269)Xiang Zhang2018-01-231-3/+2
| | | | | * bpo-32618: Fix test_mutatingdecodehandler not testing test.mutating It should test both test.replacing and test.mutating instead of test test.replacing twice.
* bpo-20361: Remove workaround for a now fixed bug (#5283)Victor Stinner2018-01-231-3/+0
| | | | "python3 -bb -Wd" now works as expected: "python3 -bb -Wd -Werror::BytesWarning" is no more needed.
* bpo-32593: Run autoconf (#5282)Victor Stinner2018-01-231-4/+0
| | | | Update configure since configure.ac was modified to drop support for FreeBSD 4.
* bpo-32633: Fix some warnings in test_asyncio.test_tasks (#5280)Nathaniel J. Smith2018-01-231-2/+8
|
* bpo-32436: Remove a redundant assert (#5275)Yury Selivanov2018-01-231-1/+0
|
* Add myself as hamt/context (PEP 567) code owner (#5276)Yury Selivanov2018-01-231-0/+2
|
* bpo-32436: Implement PEP 567 (#5027)Yury Selivanov2018-01-2341-120/+6269
|
* bpo-29240: PyUnicode_DecodeLocale() uses UTF-8 on Android (#5272)Victor Stinner2018-01-222-4/+17
| | | | | | | | PyUnicode_DecodeLocaleAndSize(), PyUnicode_DecodeLocale() and PyUnicode_EncodeLocale() now use always use the UTF-8 encoding on Android, instead of the current locale encoding. On Android API 19, mbstowcs() and wcstombs() are broken and cannot be used.
* bpo-32593: Drop FreeBSD 9 and older support (#5232)Victor Stinner2018-01-2218-108/+23
| | | Drop support of FreeBSD 9 and older.
* bpo-31179: Make dict.copy() up to 5.5 times faster. (#3067)Yury Selivanov2018-01-223-2/+122
|