Skip to content
Permalink
main

Commits on Apr 25, 2022

  1. gh-91401: Add a failsafe way to disable vfork. (#91490)

    Just in case there is ever an issue with _posixsubprocess's use of
    vfork() due to the complexity of using it properly and potential
    directions that Linux platforms where it defaults to on could take, this
    adds a failsafe so that users can disable its use entirely by setting
    a global flag.
    
    No known reason to disable it exists. But it'd be a shame to encounter
    one and not be able to use CPython without patching and rebuilding it.
    
    See the linked issue for some discussion on reasoning.
    
    Also documents the existing way to disable posix_spawn.
    gpshead committed Apr 25, 2022
  2. gh-91719: Add pycore_opcode.h internal header file (#91906)

    Move the following API from Include/opcode.h (public C API) to a new
    Include/internal/pycore_opcode.h header file (internal C API):
    
    * EXTRA_CASES
    * _PyOpcode_Caches
    * _PyOpcode_Deopt
    * _PyOpcode_Jump
    * _PyOpcode_OpName
    * _PyOpcode_RelativeJump
    vstinner committed Apr 25, 2022
  3. gh-64783: Fix signal.NSIG value on FreeBSD (#91929)

    Fix signal.NSIG value on FreeBSD to accept signal numbers greater
    than 32, like signal.SIGRTMIN and signal.SIGRTMAX.
    
    * Add Py_NSIG constant.
    * Add pycore_signal.h internal header file.
    * _Py_Sigset_Converter() now includes the range of valid signals in
      the error message.
    vstinner committed Apr 25, 2022
  4. gh-89653: PEP 670: Functions don't cast pointers (#91697)

    In the limited C API version 3.11 and newer, the following functions
    no longer cast their object pointer argument with _PyObject_CAST() or
    _PyObject_CAST_CONST():
    
    * Py_REFCNT(), Py_TYPE(), Py_SIZE()
    * Py_SET_REFCNT(), Py_SET_TYPE(), Py_SET_SIZE()
    * Py_IS_TYPE()
    * Py_INCREF(), Py_DECREF()
    * Py_XINCREF(), Py_XDECREF()
    * Py_NewRef(), Py_XNewRef()
    * PyObject_TypeCheck()
    * PyType_Check()
    * PyType_CheckExact()
    
    Split Py_DECREF() implementation in 3 versions to make the code more
    readable.
    
    Update the xxlimited.c extension, which uses the limited C API
    version 3.11, to pass PyObject* to these functions.
    vstinner committed Apr 25, 2022
  5. gh-91904: Fix setting envvar PYTHONREGRTEST_UNICODE_GUARD (GH-91905)

    It always failed on non-UTF-8 locale and prevented running regrtests.
    serhiy-storchaka committed Apr 25, 2022
  6. gh-90633: Improve error and docs for typing.assert_never (#91720)

    Closes #90633
    
    Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
    JelleZijlstra and AlexWaygood committed Apr 25, 2022
  7. gh-91888: add a :gh: role to the documentation (#91889)

    * Add a new :gh:`...` role for GitHub issues.
    
    * Fix a GitHub id to use the :gh: role.
    
    * Add Misc/NEWS entry.
    
    * Refactoring and rephrasing.
    
    Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
    ezio-melotti and hugovk committed Apr 25, 2022

Commits on Apr 24, 2022

  1. Rewrite audio.py to jive with image.py (#91886)

    Similar to the rewrite of email/mime/image.py and associated test after the
    deprecation of imghdr.py, thisrewrites email/mime/audio.py and associated
    tests after the deprecation of sndhdr.py.
    
    Closes #91885
    warsaw committed Apr 24, 2022
  2. gh-91821: Make decimal test succeed consistently (#91825)

    The test relies on precision being set to 9, but some ways of
    invoking this test leave it set to 28 instead. I don't know
    exactly how it happens, but setting the precision directly should
    make the behavior consistent.
    JelleZijlstra committed Apr 24, 2022
  3. gh-91491: What's New in 3.11 section for typing PEPs (#91721)

    Other aspects of typing aren't covered yet; I'll do that in a
    separate PR.
    JelleZijlstra committed Apr 24, 2022
  4. Simplify testing the warning filename (GH-91868)

    The context manager result has the "filename" attribute.
    serhiy-storchaka committed Apr 24, 2022

Commits on Apr 22, 2022

  1. gh-91217: deprecate-sndhdr (#91806)

    Also inline necessary functionality from `sndhdr` into `email.mime.audio` for `MIMEAudio`.
    
    Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
    brettcannon and hugovk committed Apr 22, 2022
  2. bpo-46720: Add support for path-like objects to multiprocessing.set_e…

    …xecutable for Windows (GH-31279)
    
    This bring the API to be on a par with Unix-like systems.
    maggyero committed Apr 22, 2022
  3. gh-91575: Add a script for generating data for case-insensitive match…

    …ing in re (GH-91660)
    
    Also test that all extra cases are in BMP.
    serhiy-storchaka committed Apr 22, 2022
  4. gh-91700: Validate the group number in conditional expression in RE (G…

    …H-91702)
    
    In expression (?(group)...) an appropriate re.error is now
    raised if the group number refers to not defined group.
    
    Previously it raised RuntimeError: invalid SRE code.
    serhiy-storchaka committed Apr 22, 2022
  5. gh-90568: Fix exception type for \N with a named sequence in RE (GH-9…

    …1665)
    
    re.error is now raised instead of TypeError.
    serhiy-storchaka committed Apr 22, 2022
  6. gh-89279: In ceval.c, redefine some macros for speed (#32387)

    Macros Py_DECREF, Py_XDECREF, Py_IS_TYPE, _Py_atomic_load_32bit_impl
    and _Py_DECREF_SPECIALIZED are redefined as macros
    that completely replace the inline functions of the same name.
    These three came out in the top four of functions that (in MSVC)
    somehow weren't inlined.
    
    Co-authored-by: Victor Stinner <vstinner@python.org>
    Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com>
    3 people committed Apr 22, 2022
  7. gh-80527: Deprecate PEP 623 Unicode functions (#91801)

    Deprecate functions:
    
    * PyUnicode_AS_DATA()
    * PyUnicode_AS_UNICODE()
    * PyUnicode_GET_DATA_SIZE()
    * PyUnicode_GET_SIZE()
    
    Previously, these functions were macros and so it wasn't possible to
    decorate them with Py_DEPRECATED().
    vstinner committed Apr 22, 2022
Older