From: Xiang Zhang Date: Mon, 9 Jan 2017 03:50:02 +0000 (+0800) Subject: Issue #29142: Merge 3.5. X-Git-Tag: v3.6.1rc1~193 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c44d58a77a123873b093c4690056ef4d20e873f3;p=python Issue #29142: Merge 3.5. --- c44d58a77a123873b093c4690056ef4d20e873f3 diff --cc Misc/NEWS index 809fd456e8,df9d0dd2c2..8131bfc9c0 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -22,34 -38,122 +22,38 @@@ Core and Builtin - Issue #29000: Fixed bytes formatting of octals with zero padding in alternate form. -- Issue #28512: Fixed setting the offset attribute of SyntaxError by - PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject(). +- Issue #26919: On Android, operating system data is now always encoded/decoded + to/from UTF-8, instead of the locale encoding to avoid inconsistencies with + os.fsencode() and os.fsdecode() which are already using UTF-8. - Issue #28991: functools.lru_cache() was susceptible to an obscure reentrancy - bug caused by a monkey-patched len() function. - -- Issue #28648: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X - when decode astral characters. Patch by Xiang Zhang. - -- Issue #19398: Extra slash no longer added to sys.path components in case of - empty compile-time PYTHONPATH components. - -- Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug - build. - -- Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception - loss in PyTraceBack_Here(). - -- Issue #28379: Added sanity checks and tests for PyUnicode_CopyCharacters(). - Patch by Xiang Zhang. - -- Issue #28376: The type of long range iterator is now registered as Iterator. - Patch by Oren Milman. - -- Issue #28376: The constructor of range_iterator now checks that step is not 0. - Patch by Oren Milman. - -- Issue #26906: Resolving special methods of uninitialized type now causes - implicit initialization of the type instead of a fail. - -- Issue #18287: PyType_Ready() now checks that tp_name is not NULL. - Original patch by Niklas Koep. - -- Issue #24098: Fixed possible crash when AST is changed in process of - compiling it. - -- Issue #28350: String constants with null character no longer interned. - -- Issue #26617: Fix crash when GC runs during weakref callbacks. - -- Issue #27942: String constants now interned recursively in tuples and frozensets. - -- Issue #21578: Fixed misleading error message when ImportError called with - invalid keyword args. - -- Issue #28203: Fix incorrect type in error message from - ``complex(1.0, {2:3})``. Patch by Soumya Sharma. - -- Issue #27955: Fallback on reading /dev/urandom device when the getrandom() - syscall fails with EPERM, for example when blocked by SECCOMP. - -- Issue #28131: Fix a regression in zipimport's compile_source(). zipimport - should use the same optimization level as the interpreter. + bug triggerable by a monkey-patched len() function. -- Issue #25221: Fix corrupted result from PyLong_FromLong(0) when - Python is compiled with NSMALLPOSINTS = 0. +- Issue #28739: f-string expressions are no longer accepted as docstrings and + by ast.literal_eval() even if they do not include expressions. -- Issue #25758: Prevents zipimport from unnecessarily encoding a filename - (patch by Eryk Sun) - -- Issue #28189: dictitems_contains no longer swallows compare errors. - (Patch by Xiang Zhang) - -- Issue #27812: Properly clear out a generator's frame's backreference to the - generator to prevent crashes in frame.clear(). - -- Issue #27811: Fix a crash when a coroutine that has not been awaited is - finalized with warnings-as-errors enabled. - -- Issue #27587: Fix another issue found by PVS-Studio: Null pointer check - after use of 'def' in _PyState_AddModule(). - Initial patch by Christian Heimes. - -- Issue #26020: set literal evaluation order did not match documented behaviour. - -- Issue #27782: Multi-phase extension module import now correctly allows the - ``m_methods`` field to be used to add module level functions to instances - of non-module types returned from ``Py_create_mod``. Patch by Xiang Zhang. - -- Issue #27936: The round() function accepted a second None argument - for some types but not for others. Fixed the inconsistency by - accepting None for all numeric types. - -- Issue #27487: Warn if a submodule argument to "python -m" or - runpy.run_module() is found in sys.modules after parent packages are - imported, but before the submodule is executed. - -- Issue #27558: Fix a SystemError in the implementation of "raise" statement. - In a brand new thread, raise a RuntimeError since there is no active - exception to reraise. Patch written by Xiang Zhang. - -- Issue #27419: Standard __import__() no longer look up "__import__" in globals - or builtins for importing submodules or "from import". Fixed handling an - error of non-string package name. - -- Issue #27083: Respect the PYTHONCASEOK environment variable under Windows. - -- Issue #27514: Make having too many statically nested blocks a SyntaxError - instead of SystemError. +- Issue #28512: Fixed setting the offset attribute of SyntaxError by + PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject(). -- Issue #27473: Fixed possible integer overflow in bytes and bytearray - concatenations. Patch by Xiang Zhang. +- Issue #28918: Fix the cross compilation of xxlimited when Python has been + built with Py_DEBUG defined. -- Issue #27507: Add integer overflow check in bytearray.extend(). Patch by - Xiang Zhang. +- Issue #28731: Optimize _PyDict_NewPresized() to create correct size dict. + Improve speed of dict literal with constant keys up to 30%. -- Issue #27581: Don't rely on wrapping for overflow check in - PySequence_Tuple(). Patch by Xiang Zhang. +Library +------- -- Issue #27443: __length_hint__() of bytearray iterators no longer return a - negative integer for a resized bytearray. ++- Issue #29142: 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. + -- Issue #27942: Fix memory leak in codeobject.c +- Issue #28961: Fix unittest.mock._Call helper: don't ignore the name parameter + anymore. Patch written by Jiajun Huang. -Library -------- +- Issue #29203: functools.lru_cache() now respects PEP 468 and preserves + the order of keyword arguments. f(a=1, b=2) is now cached separately + from f(b=2, a=1) since both calls could potentially give different results. - Issue #15812: inspect.getframeinfo() now correctly shows the first line of a context. Patch by Sam Breese.