]>
git.ipfire.org Git - thirdparty/Python/cpython.git/log
Peter Bierma [Fri, 6 Sep 2024 01:15:30 +0000 (21:15 -0400)]
gh-123275: Add tests for `PYTHON_GIL=1` and `-Xgil=1` (gh-123754)
Furkan Onder [Fri, 6 Sep 2024 00:09:04 +0000 (03:09 +0300)]
gh-123718: Fix implicit declaration of 'explicit_memset' for NetBSD 10.0 (#123719)
Fix implicit declaration of 'explicit_memset' for NetBSD 10.0 in Lib_Memzero0.c.
Peter Bierma [Thu, 5 Sep 2024 23:53:47 +0000 (19:53 -0400)]
gh-123275: Support `-Xgil=1` and `PYTHON_GIL=1` on non-free-threaded builds (gh-123276)
Furkan Onder [Thu, 5 Sep 2024 23:49:12 +0000 (02:49 +0300)]
gh-123716: Fix 'Bad substitution' syntax error in configure script for NetBSD compatibility (#123717)
nkinnan [Thu, 5 Sep 2024 20:59:48 +0000 (13:59 -0700)]
gh-123476: Add support for TCP_QUICKACK socket setting to Windows (#123478)
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Steve Dower <steve.dower@microsoft.com>
Rafael Fontenelle [Thu, 5 Sep 2024 20:04:15 +0000 (17:04 -0300)]
Swap the and from in sentence in init_config.rst (#120086)
edson duarte [Thu, 5 Sep 2024 17:56:52 +0000 (14:56 -0300)]
gh-85453: Improve instance attributes mark up on datetime.rst (#123655)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Savannah Ostrowski [Thu, 5 Sep 2024 17:56:07 +0000 (10:56 -0700)]
GH-123545: Remove duplicate Py_DECREF when handling _PyOptimizer_Optimize errors (GH-123546)
sobolevn [Thu, 5 Sep 2024 15:17:24 +0000 (18:17 +0300)]
gh-123240: Raise input audit events in the new REPL (#123274)
Pieter Eendebak [Thu, 5 Sep 2024 13:52:04 +0000 (15:52 +0200)]
gh-123207: Clarify the documentation for the mro lookup for super() (GH-123417)
Zachary Ware [Thu, 5 Sep 2024 12:29:36 +0000 (07:29 -0500)]
gh-123418: Update macOS installer to use OpenSSL 3.0.15 (#123684)
Petr Viktorin [Thu, 5 Sep 2024 12:14:05 +0000 (14:14 +0200)]
gh-123465: Allow Py_RELATIVE_OFFSET for __*offset__ members (GH-123474)
Petr Viktorin [Thu, 5 Sep 2024 09:20:07 +0000 (11:20 +0200)]
gh-97588: Move ctypes struct/union layout logic to Python (GH-123352)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Zachary Ware [Wed, 4 Sep 2024 22:42:58 +0000 (17:42 -0500)]
gh-123418: Update Android build to use OpenSSL 3.0.15 (GH-123685)
Seth Michael Larson [Wed, 4 Sep 2024 19:57:16 +0000 (14:57 -0500)]
gh-123678: Upgrade libexpat 2.6.3 (#123689)
Upgrade libexpat 2.6.3
Zachary Ware [Wed, 4 Sep 2024 19:29:41 +0000 (14:29 -0500)]
gh-123700: Update OpenSSL versions in multissltests and CI (#123701)
Remove EOL 1.1.1w from CI and move it to the 'old' set in multissltests,
add latest 3.3.2 to both CI and multissltests.
Zachary Ware [Wed, 4 Sep 2024 18:16:53 +0000 (13:16 -0500)]
gh-123418: Update CI to use fresh OpenSSL releases (GH-123675)
Also adds openssl/openssl GitHub URL template for newer OpenSSL downloads
Zachary Ware [Wed, 4 Sep 2024 17:08:02 +0000 (12:08 -0500)]
gh-123418: Update OpenSSL to 3.0.15 on Windows (GH-123673)
Bar Harel [Wed, 4 Sep 2024 15:21:30 +0000 (18:21 +0300)]
gh-123321: Fix Parser/myreadline.c to prevent a segfault during a multi-threaded race (#123323)
Nice Zombies [Wed, 4 Sep 2024 13:51:12 +0000 (15:51 +0200)]
gh-118710: Make IPv*Address.version & max_prefixlen available on the class (GH-120698)
Peter Bierma [Wed, 4 Sep 2024 11:43:50 +0000 (07:43 -0400)]
gh-123504: Fix regression in `_tkinter` initializer (#123662)
* Add module traverse function to _tkinter.
* Set m_size to -1 (instead of 0).
Victor Stinner [Wed, 4 Sep 2024 11:41:57 +0000 (13:41 +0200)]
gh-107954, PEP 741: Add PyInitConfig_AddModule() function (#123668)
Alexander Bessman [Wed, 4 Sep 2024 11:14:36 +0000 (13:14 +0200)]
gh-123463: Include logging_flow diagram in non-HTML docs (GH-123464)
ryan-duve [Wed, 4 Sep 2024 11:05:46 +0000 (07:05 -0400)]
gh-123392: Clarify wording regarding parameters that are functions to be called (GH-123394)
Victor Stinner [Wed, 4 Sep 2024 10:58:32 +0000 (12:58 +0200)]
gh-107954, PEP 741: Adjust Python initialization config (#123663)
Setting dev_mode to 1 in an isolated configuration now enables also
faulthandler.
Moreover, setting "module_search_paths" option with
PyInitConfig_SetStrList() now sets "module_search_paths_set" to 1.
Wulian [Wed, 4 Sep 2024 10:00:37 +0000 (18:00 +0800)]
gh-121423: Improve import time of `socket` (#121424)
Improve import time of `socket` by writing `socket.errorTab`
as a constant and lazy import modules.
Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
Damien [Wed, 4 Sep 2024 06:30:25 +0000 (14:30 +0800)]
gh-122989: Replace duplicate “self.policy.linesep” with “linesep” (#123002)
`linesep` is already defined as `self.policy.linesep`. It appears that previous refactor was not completed.
Russell Keith-Magee [Wed, 4 Sep 2024 00:28:39 +0000 (08:28 +0800)]
Add shims for iOS C++ compilation (#123620)
Add shims for iOS C++ compilation.
Peter Bierma [Tue, 3 Sep 2024 20:35:57 +0000 (16:35 -0400)]
gh-123504: Fix reference leak in finalization of `_tkinter` (#123505)
Lipták Attila (Flash) [Tue, 3 Sep 2024 19:52:00 +0000 (21:52 +0200)]
gh-123621: Fix `datamodel.rst` with proper `dict` notation (#123648)
Shaygan Hooshyari [Tue, 3 Sep 2024 14:49:38 +0000 (07:49 -0700)]
gh-123579: Document exclamation token (#123612)
devdanzin [Tue, 3 Sep 2024 13:01:21 +0000 (10:01 -0300)]
gh-123572: Fix key codes in VK_MAP in windows_console.py (#122692)
Sergey B Kirpichev [Tue, 3 Sep 2024 12:37:29 +0000 (15:37 +0300)]
gh-121804: always show error location for SyntaxError's in basic repl (#123202)
Victor Stinner [Tue, 3 Sep 2024 12:33:49 +0000 (14:33 +0200)]
gh-107954, PEP 741: Add PyInitConfig C API (#123502)
Add Doc/c-api/config.rst documentation.
CBerJun [Tue, 3 Sep 2024 08:01:26 +0000 (04:01 -0400)]
gh-123580: Fix `signed_number` token in documentation (GH-123582)
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Yorik Hansen [Tue, 3 Sep 2024 06:32:11 +0000 (08:32 +0200)]
gh-123430: Add dark mode support to pages generated by http.server (#123475)
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Inada Naoki [Tue, 3 Sep 2024 03:32:38 +0000 (12:32 +0900)]
gh-121313: multiprocessing: simplify by increasing the connection buffer size to 64KiB (GH-123559)
Increases the multiprocessing connection buffer size from 8k to 64k for efficiency, without overallocating.
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
abstractee [Tue, 3 Sep 2024 00:20:40 +0000 (01:20 +0100)]
Fix typos in warnings, docstrings, comments and text files (#123597)
Victor Stinner [Mon, 2 Sep 2024 21:25:08 +0000 (23:25 +0200)]
gh-107954, PEP 741: Add PyConfig_Get()/Set() functions (#123472)
Add PyConfig_Get(), PyConfig_GetInt(), PyConfig_Set() and
PyConfig_Names() functions to get and set the current runtime Python
configuration.
Add visibility and "sys spec" to config and preconfig specifications.
_PyConfig_AsDict() now converts PyConfig.xoptions as a dictionary.
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Seth Michael Larson [Mon, 2 Sep 2024 19:35:30 +0000 (14:35 -0500)]
gh-123458: Skip SBOM generation if no git repository is detected (#123507)
Irit Katriel [Mon, 2 Sep 2024 17:23:39 +0000 (18:23 +0100)]
gh-121404: enforce that codegen doesn't access compiler, and compiler doesn't use codegen macros (#123575)
Petr Viktorin [Mon, 2 Sep 2024 16:17:48 +0000 (18:17 +0200)]
gh-123091: Use more _Py_IsImmortalLoose() (GH-123602)
Switch more _Py_IsImmortal(...) assertions to _Py_IsImmortalLoose(...)
The remaining calls to _Py_IsImmortal are in free-threaded-only code,
initialization of core objects, tests, and guards that fall back to
code that works with mortal objects.
Barney Gale [Mon, 2 Sep 2024 16:14:09 +0000 (17:14 +0100)]
GH-119518: Stop interning strings in pathlib GH-123356)
Remove `sys.intern(str(x))` calls when normalizing a path in pathlib. This
speeds up `str(Path('foo/bar'))` by about 10%.
Bénédikt Tran [Mon, 2 Sep 2024 15:05:05 +0000 (17:05 +0200)]
gh-123409: fix `IPv6Address.reverse_pointer` for IPv4-mapped addresses (GH-123419)
Fix functionality that was broken with better textual representation for IPv4-mapped addresses (gh-87799)
Donghee Na [Mon, 2 Sep 2024 13:24:53 +0000 (22:24 +0900)]
gh-101525: Skip test_gdb if the binary is relocated by BOLT. (gh-118572)
Victor Stinner [Mon, 2 Sep 2024 12:25:19 +0000 (14:25 +0200)]
gh-123091: Use _Py_IsImmortalLoose() (#123511)
Use _Py_IsImmortalLoose() in bytesobject.c, typeobject.c
and ceval.c.
Nice Zombies [Mon, 2 Sep 2024 11:48:15 +0000 (13:48 +0200)]
gh-118508: Clarify which characters are matched by `\s` (#119155)
Clarify re syntax
sobolevn [Mon, 2 Sep 2024 11:11:44 +0000 (14:11 +0300)]
gh-123562: Improve `SyntaxError` message for `case ... as a.b` (#123563)
sobolevn [Mon, 2 Sep 2024 06:58:38 +0000 (09:58 +0300)]
gh-123570: Add link to `weakref.ref` from `weakref_slot` docs in `dataclasses` (#123571)
dependabot[bot] [Mon, 2 Sep 2024 05:04:50 +0000 (08:04 +0300)]
build(deps): bump hypothesis from 6.108.10 to 6.111.2 in /Tools (#123567)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Rafael Fontenelle [Mon, 2 Sep 2024 04:57:56 +0000 (01:57 -0300)]
gh-109975: Remove dangling angle bracket from 3.13.rst (#123589)
Remove dangling angle bracket from 3.13.rst
Raymond Hettinger [Mon, 2 Sep 2024 01:04:33 +0000 (20:04 -0500)]
Remove irrelevant detail from example code. (gh-123587)
Raymond Hettinger [Sun, 1 Sep 2024 22:49:38 +0000 (17:49 -0500)]
Simplify Property() recipe to focus on the essentials (gh-123585)
sobolevn [Sun, 1 Sep 2024 15:43:45 +0000 (18:43 +0300)]
gh-123553: Fix compile warning in `compile.c` (#123578)
Daniel Hollas [Sun, 1 Sep 2024 14:44:48 +0000 (15:44 +0100)]
gh-118761: Speedup pathlib import by deferring shutil (#123520)
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Yoda [Sun, 1 Sep 2024 11:47:07 +0000 (13:47 +0200)]
gh-123341: Support `tkinter.Event` type subcript (#123353)
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
dependabot[bot] [Sun, 1 Sep 2024 10:38:58 +0000 (10:38 +0000)]
Bump types-setuptools from 71.1.0.
20240726 to 74.0.0.
20240831 in /Tools (#123565)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
sobolevn [Sun, 1 Sep 2024 10:25:34 +0000 (13:25 +0300)]
gh-91126: Docs and tests for slotted dataclasses with `__init_subclass__` (#123342)
dependabot[bot] [Sun, 1 Sep 2024 10:10:10 +0000 (10:10 +0000)]
Bump mypy from 1.11.1 to 1.11.2 in /Tools (#123566)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] [Sun, 1 Sep 2024 10:09:51 +0000 (11:09 +0100)]
Bump types-psutil from 6.0.0.
20240621 to 6.0.0.
20240901 in /Tools (#123564)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Kirill Podoprigora [Sun, 1 Sep 2024 06:29:34 +0000 (09:29 +0300)]
gh-123553: Fix compiler warning in `Python/compile.c` (#123554)
jlallas384 [Sun, 1 Sep 2024 06:11:40 +0000 (10:11 +0400)]
gh-123550: Fix code snippet of `BUILD_TUPLE` in `dis` docs (#123551)
Adam Turner [Sun, 1 Sep 2024 05:41:17 +0000 (01:41 -0400)]
GH-109975: Copyedit 3.13 What's New: Removals (#123529)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Aarni Koskela [Sun, 1 Sep 2024 05:17:03 +0000 (08:17 +0300)]
gh-123494: Improve documentation for ``webbrowser`` return types (#123495)
Document the return value for ``webbrowser.open*()``.
Luka [Sun, 1 Sep 2024 05:12:53 +0000 (09:12 +0400)]
gh-115238: Remove a redundant f-string in graphlib (#115239)
Wei-Hsiang (Matt) Wang [Sun, 1 Sep 2024 04:59:42 +0000 (12:59 +0800)]
gh-123517: Remove unnecessary ``:meth:`` parentheses (#123518)
Seth Michael Larson [Sat, 31 Aug 2024 22:17:05 +0000 (17:17 -0500)]
gh-121285: Remove backtracking when parsing tarfile headers (GH-121286)
* Remove backtracking when parsing tarfile headers
* Rewrite PAX header parsing to be stricter
* Optimize parsing of GNU extended sparse headers v0.0
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
Hugo van Kemenade [Sat, 31 Aug 2024 14:15:44 +0000 (17:15 +0300)]
Enable colour for doctest on GitHub Actions (#123536)
Serhiy Storchaka [Sat, 31 Aug 2024 13:21:49 +0000 (16:21 +0300)]
gh-123309: Remove check for redefined memo entry in pickletools.dis() (GH-123374)
Such pickles are supported by the Unpickler even if the Pickler does not
produce them.
Serhiy Storchaka [Sat, 31 Aug 2024 09:42:08 +0000 (12:42 +0300)]
gh-76960: Fix urljoin() and urldefrag() for URIs with empty components (GH-123273)
* urljoin() with relative reference "?" sets empty query and removes fragment.
* Preserve empty components (authority, params, query, fragment) in urljoin().
* Preserve empty components (authority, params, query) in urldefrag().
Also refactor the code and get rid of double _coerce_args() and
_coerce_result() calls in urljoin(), urldefrag(), urlparse() and
urlunparse().
Serhiy Storchaka [Sat, 31 Aug 2024 09:30:05 +0000 (12:30 +0300)]
gh-123309: Add more tests for the pickletools module (GH-123355)
Add tests for genops() and dis().
Maciej Olko [Sat, 31 Aug 2024 06:31:36 +0000 (08:31 +0200)]
gh-123407: Enable translating literal and code blocks (#123408)
Oded Arbel [Sat, 31 Aug 2024 06:11:57 +0000 (09:11 +0300)]
gh-108172: do not override OS preferred browser if it is a super-string of a known browser (GH-113011)
When checking if the registering browser is the "OS preferred browser", do not use a substring search - that makes no sense: one can have a preferred browser that looks like a super-string of a known browser, e.g. "firefox-nightly" vs "firefox".
https://github.com/python/cpython/issues/108172 explains in more detail, and lays out a potential better future enhancement for this case of just using xdg-open. We'll go with this for now.
---------
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Alexander P. [Sat, 31 Aug 2024 05:57:22 +0000 (07:57 +0200)]
gh-121313: Limit the reading size from pipes to their default buffer size on POSIX systems (GH-121315)
See https://github.com/python/cpython/issues/121313 for analysis, but this greatly reduces memory overallocation and overhead when multiprocessing is sending non-small data over its pipes between processes.
Terry Jan Reedy [Sat, 31 Aug 2024 01:59:12 +0000 (21:59 -0400)]
Make self turtledemo codeowner (#123524)
Irit Katriel [Fri, 30 Aug 2024 21:54:42 +0000 (22:54 +0100)]
gh-121404: rearrange code in compile.c so that codegen functions come first and compiler functions second (#123510)
sobolevn [Fri, 30 Aug 2024 16:21:59 +0000 (19:21 +0300)]
gh-123440: Improve error message for `except as` used with not a name (#123442)
Victor Stinner [Fri, 30 Aug 2024 15:42:27 +0000 (17:42 +0200)]
gh-122854: Add Py_HashBuffer() function (#122855)
Victor Stinner [Fri, 30 Aug 2024 12:57:33 +0000 (14:57 +0200)]
gh-121645: Add PyBytes_Join() function (#121646)
* Replace _PyBytes_Join() with PyBytes_Join().
* Keep _PyBytes_Join() as an alias to PyBytes_Join().
Matt Wozniski [Fri, 30 Aug 2024 11:39:28 +0000 (07:39 -0400)]
gh-123484: Fix the debug offsets for PyLongObject (#123485)
Wei-Hsiang (Matt) Wang [Fri, 30 Aug 2024 11:34:09 +0000 (19:34 +0800)]
gh-123492: Remove unnecessary `:func:` parentheses (#123493)
Kirill Podoprigora [Fri, 30 Aug 2024 10:28:32 +0000 (13:28 +0300)]
gh-123189: [`Modules/blake2module.c`]: Move function definitions and their usage under the macros (#123190)
sobolevn [Fri, 30 Aug 2024 07:36:51 +0000 (10:36 +0300)]
gh-123446: Fix empty function names in `TypeError`s in `typeobject` (#123470)
Serhiy Storchaka [Fri, 30 Aug 2024 05:13:24 +0000 (08:13 +0300)]
gh-121485: Always use 64-bit integers for integers bits count (GH-121486)
Use 64-bit integers instead of platform specific size_t or Py_ssize_t
to represent the number of bits in Python integer.
sobolevn [Thu, 29 Aug 2024 08:12:37 +0000 (11:12 +0300)]
gh-123446: Fix empty function names in `TypeError`s in `_csv` module (#123462)
sobolevn [Thu, 29 Aug 2024 06:53:57 +0000 (09:53 +0300)]
gh-123446: Fix empty function names in `TypeError`s in `_csv` module (#123461)
Serhiy Storchaka [Thu, 29 Aug 2024 05:26:16 +0000 (08:26 +0300)]
gh-123431: Harmonize extension code checks in pickle (GH-123434)
This checks are redundant in normal circumstances and can only work if
the extension registry was intentionally broken.
* The Python implementation now raises exception for the extension code
with false boolean value.
* Simplify the C code. RuntimeError is now raised in explicit checks.
* Add many tests.
Peter Bierma [Thu, 29 Aug 2024 01:27:40 +0000 (21:27 -0400)]
gh-123448: Move `_PyNoDefault_Type` to the static types array (#123449)
Petr Viktorin [Wed, 28 Aug 2024 20:36:42 +0000 (22:36 +0200)]
gh-122136: test_asyncio: Don't fail if the kernel buffers more data than advertised (GH-123423)
Irit Katriel [Wed, 28 Aug 2024 16:11:52 +0000 (17:11 +0100)]
gh-123142: fix too wide source location of GET_ITER/GET_AITER (#123420)
Bénédikt Tran [Wed, 28 Aug 2024 14:10:13 +0000 (16:10 +0200)]
gh-101860: document `property.__name__` (GH-123399)
Bogdan Romanyuk [Wed, 28 Aug 2024 13:38:56 +0000 (16:38 +0300)]
gh-123344: Add missing ast optimizations for PEP 696 (#123377)
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Wulian [Wed, 28 Aug 2024 11:41:04 +0000 (19:41 +0800)]
Fix typos in docs, error messages and comments (#123336)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Victor Stinner [Wed, 28 Aug 2024 10:16:13 +0000 (12:16 +0200)]
gh-120389: Add PyLong_FromInt64() and PyLong_AsInt64() (#120390)
Add new functions to convert C <stdint.h> numbers from/to Python int:
* PyLong_FromInt32()
* PyLong_FromUInt32()
* PyLong_FromInt64()
* PyLong_FromUInt64()
* PyLong_AsInt32()
* PyLong_AsUInt32()
* PyLong_AsInt64()
* PyLong_AsUInt64()
Serhiy Storchaka [Wed, 28 Aug 2024 09:11:13 +0000 (12:11 +0300)]
gh-122561: Clean up and microoptimize str.translate and charmap codec (GH-122932)
* Replace PyLong_AS_LONG() with PyLong_AsLong().
* Call PyLong_AsLong() only once per the replacement code.
* Use PyMapping_GetOptionalItem() instead of PyObject_GetItem().
sobolevn [Wed, 28 Aug 2024 07:30:21 +0000 (10:30 +0300)]
gh-123254: Improve `tuple` C API docs with more info about errors (#123255)
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Alexandr Mitin [Wed, 28 Aug 2024 06:15:34 +0000 (12:15 +0600)]
gh-123363: Show string value of CONTAINS_OP oparg in dis (#123387)
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Jason R. Coombs [Tue, 27 Aug 2024 21:10:30 +0000 (17:10 -0400)]
gh-123270: Replaced SanitizedNames with a more surgical fix. (#123354)
Applies changes from zipp 3.20.1 and jaraco/zipp#124
Pieter Eendebak [Tue, 27 Aug 2024 19:22:43 +0000 (21:22 +0200)]
gh-123271: Make builtin zip method safe under free-threading (#123272)
The `zip_next` function uses a common optimization technique for methods
that generate tuples. The iterator maintains an internal reference to
the returned tuple. When the method is called again, it checks if the
internal tuple's reference count is 1. If so, the tuple can be reused.
However, this approach is not safe under the free-threading build:
after checking the reference count, another thread may perform the same
check and also reuse the tuple. This can result in a double decref on
the items of the replaced tuple and a double incref (memory leak) on
the items of the tuple being set.
This adds a function, `_PyObject_IsUniquelyReferenced` that
encapsulates the stricter logic necessary for the free-threaded build:
the internal tuple must be owned by the current thread, have a local
refcount of one, and a shared refcount of zero.
Irit Katriel [Tue, 27 Aug 2024 15:57:31 +0000 (16:57 +0100)]
gh-121404: split compiler_nameop into a codegen part and a compiler part (#123398)