Issue #27952: Merge fixcid.py from 3.5
authorMartin Panter <vadmium+py@gmail.com>
Sun, 11 Sep 2016 10:06:38 +0000 (10:06 +0000)
committerMartin Panter <vadmium+py@gmail.com>
Sun, 11 Sep 2016 10:06:38 +0000 (10:06 +0000)
1  2 
Misc/NEWS

diff --cc Misc/NEWS
index 898e26c6bd8a2323f3de45c28ca0d7592b5409e7,5fe23da271618d538492572060e4fa396820cf87..ce7562f2a567188aad8ea0214457263cc38b8323
+++ 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 <wincrypt.h> 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
  -----------------