python/cpython

Commits on Feb 12, 2021

Commits on Feb 10, 2021

Commits on Feb 9, 2021

  1. bpo-43162: [Enum] deprecate enum member.member access (GH-24486)

    In 3.5 (?) a speed optimization made it possible to access members as
    attributes of other members, i.e. ``Color.RED.BLUE``.  This was always
    discouraged in the docs, and other recent optimizations has made that
    one no longer necessary.  Because some may be relying on it anyway, it
    is being deprecated in 3.10, and will be removed in 3.11.
  2. bpo-13501: allow choosing between readline and libedit (GH-24189)

    In contrast to macOS, libedit is available as its own include file and
    library on Linux systems to prevent file name clashes. So if both
    libraries are available on the system, readline is currently chosen by
    default; and if only libedit is available, it is not found at all. This
    patch adds a way to link against libedit by adding the following
    arguments to configure:
    
      --with-readline           link against libreadline (the default)
      --with-readline=editline  link against libeditline
      --with-readline=no        disable building the readline module
      --without-readline        (same)
    
    The runtime detection of libedit vs. readline was already done in commit
    7105319 (2019-12-04, serge-sans-paille: "bpo-38634: Allow
    non-apple build to cope with libedit (GH-16986)").
    
    Fixes: GH-12076 ("bpo-13501 Build or disable readline with Editline")
    Fixes: bpo-13501 ("Make libedit support more generic; port readline / libedit to FreeBSD")
    Co-authored-by: Enji Cooper (ngie-eign)
    Co-authored-by: Martin Panter (vadmium)
    Co-authored-by: Robert Marshall (kellinm)

Commits on Feb 8, 2021

  1. bpo-40692: Run more test_concurrent_futures tests (GH-20239)

    In the case of multiprocessing.synchronize() being missing, the
    test_concurrent_futures test suite now skips only the tests that
    require multiprocessing.synchronize().
    
    Validate that multiprocessing.synchronize exists as part of
    _check_system_limits(), allowing ProcessPoolExecutor to raise
    NotImplementedError during __init__, rather than crashing with
    ImportError during __init__ when creating a lock imported from
    multiprocessing.synchronize.
    
    Use _check_system_limits() to disable tests of
    ProcessPoolExecutor on systems without multiprocessing.synchronize.
    
    Running the test suite without multiprocessing.synchronize reveals
    that Lib/compileall.py crashes when it uses a ProcessPoolExecutor.
    Therefore, change Lib/compileall.py to call _check_system_limits()
    before creating the ProcessPoolExecutor.
    
    Note that both Lib/compileall.py and Lib/test/test_compileall.py
    were attempting to sanity-check ProcessPoolExecutor by expecting
    ImportError. In multiprocessing.resource_tracker, sem_unlink() is also absent
    on platforms where POSIX semaphores aren't available. Avoid using
    sem_unlink() if it, too, does not exist.
    
    Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>

Commits on Feb 7, 2021

Commits on Feb 5, 2021

Commits on Feb 4, 2021

  1. Fix dependabot.yml file (GH-24443)

    The `target-branch` field doesn't seem to support array.
    Since it defaults to the default branch anyway, we should just remove the `target-branch` field from the config.

Commits on Feb 3, 2021