From: Martin Panter Date: Sun, 11 Sep 2016 10:06:38 +0000 (+0000) Subject: Issue #27952: Merge fixcid.py from 3.5 X-Git-Tag: v3.6.0b1~61 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bdb847ae99512e0985e1a3e955c90e23d36f8804;p=thirdparty%2FPython%2Fcpython.git Issue #27952: Merge fixcid.py from 3.5 --- bdb847ae99512e0985e1a3e955c90e23d36f8804 diff --cc Misc/NEWS index 898e26c6bd8a,5fe23da27161..ce7562f2a567 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -345,358 -148,213 +345,365 @@@ Librar - Issue #2466: posixpath.ismount now correctly recognizes mount points which the user does not have permission to access. -- Issue #27773: Correct some memory management errors server_hostname in - _ssl.wrap_socket(). +- Issue #9998: On Linux, ctypes.util.find_library now looks in LD_LIBRARY_PATH + for shared libraries. -- Issue #26750: unittest.mock.create_autospec() now works properly for - subclasses of property() and other data descriptors. +- Issue #27573: exit message for code.interact is now configurable. -- In the curses module, raise an error if window.getstr() or window.instr() is - passed a negative value. +- Issue #27930: Improved behaviour of logging.handlers.QueueListener. + Thanks to Paulo Andrade and Petr Viktorin for the analysis and patch. -- Issue #27783: Fix possible usage of uninitialized memory in - operator.methodcaller. +- Issue #6766: Distributed reference counting added to multiprocessing + to support nesting of shared values / proxy objects. -- Issue #27774: Fix possible Py_DECREF on unowned object in _sre. +- Issue #21201: Improves readability of multiprocessing error message. Thanks + to Wojciech Walczak for patch. -- Issue #27760: Fix possible integer overflow in binascii.b2a_qp. +IDLE +---- -- Issue #27758: Fix possible integer overflow in the _csv module for large - record lengths. +- Issue #27922: Stop IDLE tests from 'flashing' gui widgets on the screen. -- Issue #27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the - HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates - that the script is in CGI mode. +- Issue #27891: Consistently group and sort imports within idlelib modules. -- Issue #27656: Do not assume sched.h defines any SCHED_* constants. +- Issue #17642: add larger font sizes for classroom projection. -- Issue #27130: In the "zlib" module, fix handling of large buffers - (typically 4 GiB) when compressing and decompressing. Previously, inputs - were limited to 4 GiB, and compression and decompression operations did not - properly handle results of 4 GiB. +- Add version to title of IDLE help window. -- Issue #27533: Release GIL in nt._isdir +- Issue #25564: In section on IDLE -- console differences, mention that + using exec means that __builtins__ is defined for each statement. -- Issue #17711: Fixed unpickling by the persistent ID with protocol 0. - Original patch by Alexandre Vassalotti. +- Issue #27821: Fix 3.6.0a3 regression that prevented custom key sets + from being selected when no custom theme was defined. -- Issue #27522: Avoid an unintentional reference cycle in email.feedparser. +C API +----- -- Issue #26844: Fix error message for imp.find_module() to refer to 'path' - instead of 'name'. Patch by Lev Maximov. +- Issue #26900: Excluded underscored names and other private API from limited API. -- Issue #23804: Fix SSL zero-length recv() calls to not block and not raise - an error about unclean EOF. +- Issue #26027: Add support for path-like objects in PyUnicode_FSConverter() & + PyUnicode_FSDecoder(). -- Issue #27466: Change time format returned by http.cookie.time2netscape, - confirming the netscape cookie format and making it consistent with - documentation. +Tests +----- -- Issue #26664: Fix activate.fish by removing mis-use of ``$``. +- Issue #27427: Additional tests for the math module. Patch by Francisco Couzo. -- Issue #22115: Fixed tracing Tkinter variables: trace_vdelete() with wrong - mode no longer break tracing, trace_vinfo() now always returns a list of - pairs of strings, tracing in the "u" mode now works. +- Issue #27953: Skip math and cmath tests that fail on OS X 10.4 due to a + poor libm implementation of tan. -- Fix a scoping issue in importlib.util.LazyLoader which triggered an - UnboundLocalError when lazy-loading a module that was already put into - sys.modules. +- Issue #26040: Improve test_math and test_cmath coverage and rigour. Patch by + Jeff Allen. -- Issue #27079: Fixed curses.ascii functions isblank(), iscntrl() and ispunct(). +- Issue #27787: Call gc.collect() before checking each test for "dangling + threads", since the dangling threads are weak references. -- Issue #26754: Some functions (compile() etc) accepted a filename argument - encoded as an iterable of integers. Now only strings and byte-like objects - are accepted. +Build +----- -- Issue #27048: Prevents distutils failing on Windows when environment - variables contain non-ASCII characters +- Issue #27566: Fix clean target in freeze makefile (patch by Lisa Roach) -- Issue #27330: Fixed possible leaks in the ctypes module. +- Issue #27705: Update message in validate_ucrtbase.py -- Issue #27238: Got rid of bare excepts in the turtle module. Original patch - by Jelle Zijlstra. +- Issue #27976: Deprecate building _ctypes with the bundled copy of libffi on + non-OSX UNIX platforms. -- Issue #27122: When an exception is raised within the context being managed - by a contextlib.ExitStack() and one of the exit stack generators - catches and raises it in a chain, do not re-raise the original exception - when exiting, let the new chained one through. This avoids the PEP 479 - bug described in issue25782. +- Issue #27983: Cause lack of llvm-profdata tool when using clang as + required for PGO linking to be a configure time error rather than + make time when --with-optimizations is enabled. Also improve our + ability to find the llvm-profdata tool on MacOS and some Linuxes. -- [Security] Issue #27278: Fix os.urandom() implementation using getrandom() on - Linux. Truncate size to INT_MAX and loop until we collected enough random - bytes, instead of casting a directly Py_ssize_t to int. +- Issue #21590: Support for DTrace and SystemTap probes. -- Issue #26386: Fixed ttk.TreeView selection operations with item id's - containing spaces. +- Issue #26307: The profile-opt build now applys PGO to the built-in modules. -- [Security] Issue #22636: Avoid shell injection problems with - ctypes.util.find_library(). +- Issue #26539: Add the --with-optimizations flag to turn on LTO and PGO build + support when available. -- Issue #16182: Fix various functions in the "readline" module to use the - locale encoding, and fix get_begidx() and get_endidx() to return code point - indexes. +- Issue #27917: Set platform triplets for Android builds. -- Issue #26930: Update Windows builds to use OpenSSL 1.0.2h. +- Issue #25825: Update references to the $(LIBPL) installation path on AIX. + This path was changed in 3.2a4. -- Issue #27392: Add loop.connect_accepted_socket(). - Patch by Jim Fulton. +- Update OS X installer to use SQLite 3.14.1 and XZ 5.2.2. -- Issue #27930: Improved behaviour of logging.handlers.QueueListener. - Thanks to Paulo Andrade and Petr Viktorin for the analysis and patch. +- Issue #21122: Fix LTO builds on OS X. -- Issue #21201: Improves readability of multiprocessing error message. Thanks - to Wojciech Walczak for patch. ++Tools/Demos ++----------- + -IDLE ----- ++- Issue #27952: Get Tools/scripts/fixcid.py working with Python 3 and the ++ current "re" module, avoid invalid Python backslash escapes, and fix a bug ++ parsing escaped C quote signs. + -- Issue #27922: Stop IDLE tests from 'flashing' gui widgets on the screen. +Windows +------- -- Add version to title of IDLE help window. +- Issue #25144: Ensures TargetDir is set before continuing with custom + install. -- Issue #25564: In section on IDLE -- console differences, mention that - using exec means that __builtins__ is defined for each statement. +- Issue #1602: Windows console doesn't input or print Unicode (PEP 528) -- Issue #27714: text_textview and test_autocomplete now pass when re-run - in the same process. This occurs when test_idle fails when run with the - -w option but without -jn. Fix warning from test_config. +- Issue #27781: Change file system encoding on Windows to UTF-8 (PEP 529) -- Issue #25507: IDLE no longer runs buggy code because of its tkinter imports. - Users must include the same imports required to run directly in Python. +- Issue #27731: Opt-out of MAX_PATH on Windows 10 -- Issue #27452: add line counter and crc to IDLE configHandler test dump. +- Issue #6135: Adds encoding and errors parameters to subprocess. -- Issue #27365: Allow non-ascii chars in IDLE NEWS.txt, for contributor names. +- Issue #27959: Adds oem encoding, alias ansi to mbcs, move aliasmbcs to + codec lookup. -- Issue #27245: IDLE: Cleanly delete custom themes and key bindings. - Previously, when IDLE was started from a console or by import, a cascade - of warnings was emitted. Patch by Serhiy Storchaka. +- Issue #27982: The functions of the winsound module now accept keyword + arguments. -C API ------ +- Issue #20366: Build full text search support into SQLite on Windows. -- Issue #26754: PyUnicode_FSDecoder() accepted a filename argument encoded as - an iterable of integers. Now only strings and bytes-like objects are accepted. +- Issue #27756: Adds new icons for Python files and processes on Windows. + Designs by Cherry Wang. -Tests ------ +- Issue #27883: Update sqlite to 3.14.1.0 on Windows. -- Issue #27787: Call gc.collect() before checking each test for "dangling - threads", since the dangling threads are weak references. -- Issue #27369: In test_pyexpat, avoid testing an error message detail that - changed in Expat 2.2.0. +What's New in Python 3.6.0 alpha 4 +================================== -Tools/Demos ------------ +*Release date: 2016-08-15* -- Issue #27952: Get Tools/scripts/fixcid.py working with Python 3 and the - current "re" module, avoid invalid Python backslash escapes, and fix a bug - parsing escaped C quote signs. +Core and Builtins +----------------- -- Issue #27332: Fixed the type of the first argument of module-level functions - generated by Argument Clinic. Patch by Petr Viktorin. +- Issue #27704: Optimized creating bytes and bytearray from byte-like objects + and iterables. Speed up to 3 times for short objects. Original patch by + Naoki Inada. -- Issue #27418: Fixed Tools/importbench/importbench.py. +- Issue #26823: Large sections of repeated lines in tracebacks are now + abbreviated as "[Previous line repeated {count} more times]" by the builtin + traceback rendering. Patch by Emanuel Barry. -Windows -------- +- Issue #27574: Decreased an overhead of parsing keyword arguments in functions + implemented with using Argument Clinic. -- Issue #25144: Ensures TargetDir is set before continuing with custom - install. +- Issue #22557: Now importing already imported modules is up to 2.5 times + faster. -- Issue #27469: Adds a shell extension to the launcher so that drag and drop - works correctly. +- Issue #17596: Include to help with Min GW building. -- Issue #27309: Enabled proper Windows styles in python[w].exe manifest. +- Issue #17599: On Windows, rename the privately defined REPARSE_DATA_BUFFER + structure to avoid conflicting with the definition from Min GW. -Build ------ +- Issue #27507: Add integer overflow check in bytearray.extend(). Patch by + Xiang Zhang. -- Issue #27566: Fix clean target in freeze makefile (patch by Lisa Roach) +- Issue #27581: Don't rely on wrapping for overflow check in + PySequence_Tuple(). Patch by Xiang Zhang. -- Issue #27705: Update message in validate_ucrtbase.py +- Issue #1621: Avoid signed integer overflow in list and tuple operations. + Patch by Xiang Zhang. -- Issue #27983: Cause lack of llvm-profdata tool when using clang as - required for PGO linking to be a configure time error rather than - make time when --with-optimizations is enabled. Also improve our - ability to find the llvm-profdata tool on MacOS and some Linuxes. +- Issue #27419: Standard __import__() no longer look up "__import__" in globals + or builtins for importing submodules or "from import". Fixed a crash if + raise a warning about unabling to resolve package from __spec__ or + __package__. -- Issue #26307: The profile-opt build now applys PGO to the built-in modules. +- Issue #27083: Respect the PYTHONCASEOK environment variable under Windows. -- Issue #26359: Add the --with-optimizations configure flag. +- Issue #27514: Make having too many statically nested blocks a SyntaxError + instead of SystemError. -- Issue #27713: Suppress spurious build warnings when updating importlib's - bootstrap files. Patch by Xiang Zhang +- Issue #27366: Implemented PEP 487 (Simpler customization of class creation). + Upon subclassing, the __init_subclass__ classmethod is called on the base + class. Descriptors are initialized with __set_name__ after class creation. -- Issue #25825: Correct the references to Modules/python.exp and ld_so_aix, - which are required on AIX. This updates references to an installation path - that was changed in 3.2a4, and undoes changed references to the build tree - that were made in 3.5.0a1. +Library +------- -- Issue #27453: CPP invocation in configure must use CPPFLAGS. Patch by - Chi Hsuan Yen. +- Issue #26027, #27524: Add PEP 519/__fspath__() support to the os and os.path + modules. Includes code from Jelle Zijlstra. -- Issue #27641: The configure script now inserts comments into the makefile - to prevent the pgen and _freeze_importlib executables from being cross- - compiled. +- Issue #27598: Add Collections to collections.abc. + Patch by Ivan Levkivskyi, docs by Neil Girdhar. -- Issue #26662: Set PYTHON_FOR_GEN in configure as the Python program to be - used for file generation during the build. +- Issue #25958: Support "anti-registration" of special methods from + various ABCs, like __hash__, __iter__ or __len__. All these (and + several more) can be set to None in an implementation class and the + behavior will be as if the method is not defined at all. + (Previously, this mechanism existed only for __hash__, to make + mutable classes unhashable.) Code contributed by Andrew Barnert and + Ivan Levkivskyi. -- Issue #10910: Avoid C++ compilation errors on FreeBSD and OS X. - Also update FreedBSD version checks for the original ctype UTF-8 workaround. +- Issue #16764: Support keyword arguments to zlib.decompress(). Patch by + Xiang Zhang. +- Issue #27736: Prevent segfault after interpreter re-initialization due + to ref count problem introduced in code for Issue #27038 in 3.6.0a3. + Patch by Xiang Zhang. -What's New in Python 3.5.2? -=========================== +- Issue #25628: The *verbose* and *rename* parameters for + collections.namedtuple are now keyword-only. -Release date: 2016-06-26 +- Issue #12345: Add mathematical constant tau to math and cmath. See also + PEP 628. + +- Issue #26823: traceback.StackSummary.format now abbreviates large sections of + repeated lines as "[Previous line repeated {count} more times]" (this change + then further affects other traceback display operations in the module). Patch + by Emanuel Barry. + +- Issue #27664: Add to concurrent.futures.thread.ThreadPoolExecutor() + the ability to specify a thread name prefix. + +- Issue #27181: Add geometric_mean and harmonic_mean to statistics module. + +- Issue #27573: code.interact now prints an message when exiting. + +- Issue #6422: Add autorange method to timeit.Timer objects. + +- Issue #27773: Correct some memory management errors server_hostname in + _ssl.wrap_socket(). + +- Issue #26750: unittest.mock.create_autospec() now works properly for + subclasses of property() and other data descriptors. Removes the never + publicly used, never documented unittest.mock.DescriptorTypes tuple. + +- Issue #26754: Undocumented support of general bytes-like objects + as path in compile() and similar functions is now deprecated. + +- Issue #26800: Undocumented support of general bytes-like objects + as paths in os functions is now deprecated. + +- Issue #26981: Add _order_ compatibility shim to enum.Enum for + Python 2/3 code bases. + +- Issue #27661: Added tzinfo keyword argument to datetime.combine. + +- In the curses module, raise an error if window.getstr() or window.instr() is + passed a negative value. + +- Issue #27783: Fix possible usage of uninitialized memory in + operator.methodcaller. + +- Issue #27774: Fix possible Py_DECREF on unowned object in _sre. + +- Issue #27760: Fix possible integer overflow in binascii.b2a_qp. + +- Issue #27758: Fix possible integer overflow in the _csv module for large + record lengths. + +- Issue #27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the + HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates + that the script is in CGI mode. + +- Issue #7063: Remove dead code from the "array" module's slice handling. + Patch by Chuck. + +- Issue #27656: Do not assume sched.h defines any SCHED_* constants. + +- Issue #27130: In the "zlib" module, fix handling of large buffers + (typically 4 GiB) when compressing and decompressing. Previously, inputs + were limited to 4 GiB, and compression and decompression operations did not + properly handle results of 4 GiB. + +- Issue #24773: Implemented PEP 495 (Local Time Disambiguation). + +- Expose the EPOLLEXCLUSIVE constant (when it is defined) in the select module. + +- Issue #27567: Expose the EPOLLRDHUP and POLLRDHUP constants in the select + module. + +- Issue #1621: Avoid signed int negation overflow in the "audioop" module. + +- Issue #27533: Release GIL in nt._isdir + +- Issue #17711: Fixed unpickling by the persistent ID with protocol 0. + Original patch by Alexandre Vassalotti. + +- Issue #27522: Avoid an unintentional reference cycle in email.feedparser. + +- Issue #27512: Fix a segfault when os.fspath() called an __fspath__() method + that raised an exception. Patch by Xiang Zhang. + +IDLE +---- + +- Issue #27714: text_textview and test_autocomplete now pass when re-run + in the same process. This occurs when test_idle fails when run with the + -w option but without -jn. Fix warning from test_config. + +- Issue #27621: Put query response validation error messages in the query + box itself instead of in a separate massagebox. Redo tests to match. + Add Mac OSX refinements. Original patch by Mark Roseman. + +- Issue #27620: Escape key now closes Query box as cancelled. + +- Issue #27609: IDLE: tab after initial whitespace should tab, not + autocomplete. This fixes problem with writing docstrings at least + twice indented. + +- Issue #27609: Explicitly return None when there are also non-None + returns. In a few cases, reverse a condition and eliminate a return. + +- Issue #25507: IDLE no longer runs buggy code because of its tkinter imports. + Users must include the same imports required to run directly in Python. + +- Issue #27173: Add 'IDLE Modern Unix' to the built-in key sets. + Make the default key set depend on the platform. + Add tests for the changes to the config module. + +- Issue #27452: add line counter and crc to IDLE configHandler test dump. + +Tests +----- + +- Issue #25805: Skip a test in test_pkgutil as needed that doesn't work when + ``__name__ == __main__``. Patch by SilentGhost. + +- Issue #27472: Add test.support.unix_shell as the path to the default shell. + +- Issue #27369: In test_pyexpat, avoid testing an error message detail that + changed in Expat 2.2.0. + +- Issue #27594: Prevent assertion error when running test_ast with coverage + enabled: ensure code object has a valid first line number. + Patch suggested by Ivan Levkivskyi. + +Windows +------- + +- Issue #27647: Update bundled Tcl/Tk to 8.6.6. + +- Issue #27610: Adds PEP 514 metadata to Windows installer + +- Issue #27469: Adds a shell extension to the launcher so that drag and drop + works correctly. + +- Issue #27309: Enables proper Windows styles in python[w].exe manifest. + +Build +----- + +- Issue #27713: Suppress spurious build warnings when updating importlib's + bootstrap files. Patch by Xiang Zhang + +- Issue #25825: Correct the references to Modules/python.exp, which is + required on AIX. The references were accidentally changed in 3.5.0a1. + +- Issue #27453: CPP invocation in configure must use CPPFLAGS. Patch by + Chi Hsuan Yen. + +- Issue #27641: The configure script now inserts comments into the makefile + to prevent the pgen and _freeze_importlib executables from being cross- + compiled. + +- Issue #26662: Set PYTHON_FOR_GEN in configure as the Python program to be + used for file generation during the build. + +- Issue #10910: Avoid C++ compilation errors on FreeBSD and OS X. + Also update FreedBSD version checks for the original ctype UTF-8 workaround. + +What's New in Python 3.6.0 alpha 3 +================================== + +*Release date: 2016-07-11* Core and Builtins -----------------