[proxy] web.archive.org← back | site home | direct (HTTPS) ↗ | proxy home | ◑ dark◐ light

python/cpython

vstinner

The Wayback Machine - https://web.archive.org/web/20200218205308/https://github.com/python/cpython/commits/master

Permalink

Commits on Feb 18, 2020

  1. bpo-39546: argparse: Honor allow_abbrev=False for specified prefix_ch…

    …ars (GH-18337)
    
    When `allow_abbrev` was first added, disabling the abbreviation of
    long options broke the grouping of short flags ([bpo-26967](https://bugs.python.org/issue26967)).  As a fix,
    b1e4d1b (contained in v3.8) ignores `allow_abbrev=False` for a
    given argument string if the string does _not_ start with "--"
    (i.e. it doesn't look like a long option).
    
    This fix, however, doesn't take into account that long options can
    start with alternative characters specified via `prefix_chars`,
    introducing a regression: `allow_abbrev=False` has no effect on long
    options that start with an alternative prefix character.
    
    The most minimal fix would be to replace the "starts with --" check
    with a "starts with two prefix_chars characters".  But
    `_get_option_tuples` already distinguishes between long and short
    options, so let's instead piggyback off of that check by moving the
    `allow_abbrev` condition into `_get_option_tuples`.
    
    
    
    
    
    https://bugs.python.org/issue39546

Commits on Feb 17, 2020

  1. bpo-38691 Added a switch to ignore PYTHONCASEOK when -E or -I flags p…

    …assed (#18314)
    
    * Hard reset + cherry piciking the changes.
    
    * 📜🤖 Added by blurb_it.
    
    * Added @vstinner News
    
    * Update Misc/NEWS.d/next/Library/2020-02-11-13-01-38.bpo-38691.oND8Sk.rst
    
    Co-Authored-By: Victor Stinner <vstinner@python.org>
    
    * Hard reset to master
    
    * Hard reset to master + latest changes
    
    Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
    Co-authored-by: Victor Stinner <vstinner@python.org>

Commits on Feb 16, 2020

  1. bpo-39104: Fix hanging ProcessPoolExecutor on shutdown nowait with pi…

    …ckling failure (GH-17670)
    
    As reported initially by @rad-pat in #6084, the following script causes a deadlock.
    
    ```
    from concurrent.futures import ProcessPoolExecutor
    
    
    class ObjectWithPickleError():
        """Triggers a RuntimeError when sending job to the workers"""
    
        def __reduce__(self):
            raise RuntimeError()
    
    
    if __name__ == "__main__":
        e = ProcessPoolExecutor()
        f = e.submit(id, ObjectWithPickleError())
        e.shutdown(wait=False)
        f.result()  # Deadlock on get
    ```
    
    This is caused by the fact that the main process is closing communication channels that might be necessary to the `queue_management_thread` later. To avoid this, this PR let the `queue_management_thread` manage all the closing.
    
    
    
    https://bugs.python.org/issue39104
    
    
    
    Automerge-Triggered-By: @pitrou

Commits on Feb 14, 2020

Commits on Feb 13, 2020

Commits on Feb 12, 2020

  1. bpo-35134: Add Include/cpython/fileutils.h header file (GH-18493)

    Move CPython C API from Include/fileutils.h into a new
    Include/cpython/fileutils.h header file which is included by
    Include/fileutils.h.
    
    Exclude the following private symbols from the limited C API:
    
    * _Py_error_handler
    * _Py_GetErrorHandler()
    * _Py_DecodeLocaleEx()
    * _Py_EncodeLocaleEx()
  2. bpo-35134: Add Include/cpython/bytesobject.h file (GH-18494)

    Add Include/cpython/bytearrayobject.h and
    Include/cpython/bytesobject.h header files.
    
    Move CPython C API from Include/bytesobject.h into a new
    Include/cpython/bytesobject.h header file which is included by
    Include/bytesobject.h. Do a similar change for
    Include/bytearrayobject.h.
  3. bpo-18819: tarfile: only set device fields for device files (GH-18080)

    The GNU docs describe the `devmajor` and `devminor` fields of the tar
    header struct only in the context of character and block special files,
    suggesting that in other cases they are not populated. Typical utilities
    behave accordingly; this patch teaches `tarfile` to do the same.