]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
8 months agogh-65697: Prevent configparser from writing keys it cannot properly read (#129270)
Jacob Austin Lincoln [Sun, 23 Feb 2025 16:06:33 +0000 (08:06 -0800)] 
gh-65697: Prevent configparser from writing keys it cannot properly read (#129270)

---------

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
8 months agogh-111178: fix UBSan failures in `Modules/_struct.c` (#129793)
Bénédikt Tran [Sun, 23 Feb 2025 10:34:11 +0000 (11:34 +0100)] 
gh-111178: fix UBSan failures in `Modules/_struct.c` (#129793)

Fix some UBSan failures for `PyStructObject` and `unpackiterobject`.

We also perform some cleanup by suppressing unused return values and renaming the
unused parameter in `METH_NOARGS` and getter methods to `dummy` and `closure`
respectively for semantic purposes.

8 months agogh-84559: improve What's New entry for `multiprocessing` start method changes (#128173)
Bénédikt Tran [Sun, 23 Feb 2025 09:35:08 +0000 (10:35 +0100)] 
gh-84559: improve What's New entry for `multiprocessing` start method changes (#128173)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
8 months agogh-121970: Replace `.. coroutine{method,function}` with `:async:` (#130448)
sobolevn [Sat, 22 Feb 2025 17:54:43 +0000 (20:54 +0300)] 
gh-121970: Replace `.. coroutine{method,function}` with `:async:` (#130448)

Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
8 months agoDocs: Test presence of optional extensions with importlib (#130445)
Adam Turner [Sat, 22 Feb 2025 17:52:47 +0000 (17:52 +0000)] 
Docs: Test presence of optional extensions with importlib (#130445)

8 months agoAdd test checking value of a TypedDict's __total__ attribute when there is an assignm...
Daraan [Sat, 22 Feb 2025 17:34:22 +0000 (18:34 +0100)] 
Add test checking value of a TypedDict's __total__ attribute when there is an assignment in the class body. (#130460)

In relation to #109544 which changed this behavior.

Signed-off-by: Daniel Sperber <github.blurry@9ox.net>
8 months agoAdd measuring unit to `sys.getswitchinterval` docs (#130457)
sobolevn [Sat, 22 Feb 2025 16:05:10 +0000 (19:05 +0300)] 
Add measuring unit to `sys.getswitchinterval` docs (#130457)

8 months agogh-111178: fix clang-cl compilation of `Modules/mmapmodule.c` post gh-129784 (#130446)
Chris Eibl [Sat, 22 Feb 2025 11:36:38 +0000 (12:36 +0100)] 
gh-111178: fix clang-cl compilation of `Modules/mmapmodule.c` post gh-129784 (#130446)

The `PyCFunction` cast on `mmap__sizeof__method` was removed but the method was not updated accordingly.

8 months agogh-129712: Document the wheels tags corresponding to each universal SDK. (#130389)
Russell Keith-Magee [Sat, 22 Feb 2025 08:30:30 +0000 (16:30 +0800)] 
gh-129712: Document the wheels tags corresponding to each universal SDK. (#130389)

Document the architectures supported by macOS universal SDK configuration flags,
and add details on wheel tag naming.

8 months agoGH-121970: Replace custom abstract method directive with the ``:abstract:`` option...
Adam Turner [Sat, 22 Feb 2025 01:53:57 +0000 (01:53 +0000)] 
GH-121970: Replace custom abstract method directive with the ``:abstract:`` option (#129311)

8 months agogh-130159: Fix list indentation in collections.abc (#130165)
Adam Turner [Sat, 22 Feb 2025 01:41:15 +0000 (01:41 +0000)] 
gh-130159: Fix list indentation in collections.abc (#130165)

8 months agogh-126835: Move constant unaryop & binop folding to CFG (#129550)
Yan Yanchii [Fri, 21 Feb 2025 17:54:22 +0000 (18:54 +0100)] 
gh-126835: Move constant unaryop & binop folding to CFG (#129550)

8 months agoGH-128520: More consistent type-checking behaviour in pathlib (#130199)
Barney Gale [Fri, 21 Feb 2025 17:47:45 +0000 (17:47 +0000)] 
GH-128520: More consistent type-checking behaviour in pathlib (#130199)

In the following methods, skip casting of the argument to a path object if
the argument has a `with_segments` attribute. In `PurePath`:
`relative_to()`, `is_relative_to()`, `match()`, and `full_match()`. In
`Path`: `rename()`, `replace()`, `copy()`, `copy_into()`, `move()`, and
`move_into()`.

Previously the check varied a bit from method to method. The `PurePath`
methods used `isinstance(arg, PurePath)`; the `rename()` and `replace()`
methods always cast, and the remaining `Path` methods checked for a private
`_copy_writer` attribute.

We apply identical changes to relevant methods of the private ABCs. This
improves performance a bit, because `isinstance()` checks on ABCs are
expensive.

8 months agogh-130285: Fix handling of zero or empty counts in random.sample() (gh-130291)
Raymond Hettinger [Fri, 21 Feb 2025 17:33:10 +0000 (11:33 -0600)] 
gh-130285: Fix handling of zero or empty counts in random.sample() (gh-130291)

8 months agogh-126332: Add tests for _pyrepl.utils (#129325)
Pieter Eendebak [Fri, 21 Feb 2025 16:10:13 +0000 (17:10 +0100)] 
gh-126332: Add tests for _pyrepl.utils (#129325)

8 months agogh-129965: Add missing MIME types (#129969)
Hugo van Kemenade [Fri, 21 Feb 2025 15:44:53 +0000 (17:44 +0200)] 
gh-129965: Add missing MIME types (#129969)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
8 months agoGH-103180: Set a timeout for every job in GitHub Actions (#130375)
Adam Turner [Fri, 21 Feb 2025 15:11:26 +0000 (15:11 +0000)] 
GH-103180: Set a timeout for every job in GitHub Actions (#130375)

8 months agogh-111178: fix UBSan failures in `Modules/_randommodule.c` (GH-129791)
Bénédikt Tran [Fri, 21 Feb 2025 14:59:04 +0000 (15:59 +0100)] 
gh-111178: fix UBSan failures in `Modules/_randommodule.c` (GH-129791)

Fix UBSan failures for `RandomObject`
Suppress unused return values

8 months agogh-111178: fix UBSan failures in `Modules/_queuemodule.c` (GH-129790)
Bénédikt Tran [Fri, 21 Feb 2025 14:37:32 +0000 (15:37 +0100)] 
gh-111178: fix UBSan failures in `Modules/_queuemodule.c` (GH-129790)

Fix UBSan failures for `simplequeueobject`

Suppress unused return values

8 months agogh-111178: fix UBSan failures in `Modules/_functoolsmodule.c` (GH-129778)
Bénédikt Tran [Fri, 21 Feb 2025 14:08:56 +0000 (15:08 +0100)] 
gh-111178: fix UBSan failures in `Modules/_functoolsmodule.c` (GH-129778)

Fix UBSan failures for `keyobject`, `lru_list_elem`, `lru_cache_object`.
Suppress unused return values.
Change `_PyPartialObject_CAST` (from #124733) to `partialobject_CAST`
for consistency with the current style for these macros

8 months agogh-129363: Change regrtest sequential mode output (#129476)
Victor Stinner [Fri, 21 Feb 2025 13:55:32 +0000 (14:55 +0100)] 
gh-129363: Change regrtest sequential mode output (#129476)

First, write the test name without color. Then, write the test name
and the result with color. Each test is displayed twice.

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
8 months agogh-129569: The function unicodedata.normalize() always returns built-in str (#129570)
Hizuru [Fri, 21 Feb 2025 13:51:13 +0000 (22:51 +0900)] 
gh-129569: The function unicodedata.normalize() always returns built-in str (#129570)

Co-authored-by: Victor Stinner <vstinner@python.org>
8 months agoAdd `.. versionadded` directive to `dis` CLI options (#130267)
sobolevn [Fri, 21 Feb 2025 12:59:17 +0000 (15:59 +0300)] 
Add `.. versionadded` directive to `dis` CLI options (#130267)

8 months agogh-127805: Clarify Formatter initialization in logging.rst. (GH-127850)
UV [Fri, 21 Feb 2025 07:10:04 +0000 (12:40 +0530)] 
gh-127805: Clarify Formatter initialization in logging.rst. (GH-127850)

8 months agoFix outdated reference link in collections module (gh-130349)
Redddy [Thu, 20 Feb 2025 23:58:58 +0000 (08:58 +0900)] 
Fix outdated reference link in collections module (gh-130349)

8 months agogh-130313: Avoid locking when clearing objects (#130126)
Dino Viehland [Thu, 20 Feb 2025 21:32:57 +0000 (13:32 -0800)] 
gh-130313: Avoid locking when clearing objects (#130126)

Avoid locking when clearing objects in the free-threaded build

8 months agogh-130052: Fix some exceptions on error paths in _testexternalinspection (#130053)
Sergey Miryanov [Thu, 20 Feb 2025 17:05:39 +0000 (22:05 +0500)] 
gh-130052: Fix some exceptions on error paths in _testexternalinspection (#130053)

Co-authored-by: Victor Stinner <vstinner@python.org>
8 months agogh-111924: Fix data races when swapping allocators (gh-130287)
Sam Gross [Thu, 20 Feb 2025 16:31:15 +0000 (11:31 -0500)] 
gh-111924: Fix data races when swapping allocators (gh-130287)

CPython current temporarily changes `PYMEM_DOMAIN_RAW` to the default
allocator during initialization and shutdown. The motivation is to
ensure that core runtime structures are allocated and freed using the
same allocator. However, modifying the current allocator changes global
state and is not thread-safe even with the GIL. Other threads may be
allocating or freeing objects use PYMEM_DOMAIN_RAW; they are not
required to hold the GIL to call PyMem_RawMalloc/PyMem_RawFree.

This adds new internal-only functions like `_PyMem_DefaultRawMalloc`
that aren't affected by calls to `PyMem_SetAllocator()`, so they're
appropriate for Python runtime initialization and finalization. Use
these calls in places where we previously swapped to the default raw
allocator.

8 months agogh-129838: Don't redefine _Py_NO_SANITIZE_UNDEFINED (#129839)
Collin Funk [Thu, 20 Feb 2025 16:02:33 +0000 (08:02 -0800)] 
gh-129838: Don't redefine _Py_NO_SANITIZE_UNDEFINED (#129839)

Newer GCC versions accept both __attribute__((no_sanitize("undefined")))
and __attribute__((no_sanitize_undefined)) so check that the macro is
not already defined.

8 months agogh-46236: Document PyUnicode_RSplit, PyUnicode_Partition and PyUnicode_RPartition...
Marc Mueller [Thu, 20 Feb 2025 15:41:41 +0000 (16:41 +0100)] 
gh-46236: Document PyUnicode_RSplit, PyUnicode_Partition and PyUnicode_RPartition (#130191)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
8 months agogh-129269: Exclude everything in sys.path in `test_coverage_ignore` (gh-130133)
Sam Gross [Thu, 20 Feb 2025 15:13:44 +0000 (10:13 -0500)] 
gh-129269: Exclude everything in sys.path in `test_coverage_ignore` (gh-130133)

The `test_trace.test_coverage_ignore` test would fail if you had
`setuptools` installed, such as in `~/.local/lib/python3.xxx/site-packages/`.
Ignore everything in `sys.path` when running the test.

8 months ago[doc]: Update logging cookbook to mention domain socket configuration in a recipe...
Vinay Sajip [Thu, 20 Feb 2025 14:09:15 +0000 (14:09 +0000)] 
[doc]: Update logging cookbook to mention domain socket configuration in a recipe. (GH-130348)

8 months agogh-111178: fix UBSan failures in `Modules/_pickle.c` (#129787)
Bénédikt Tran [Thu, 20 Feb 2025 13:27:35 +0000 (14:27 +0100)] 
gh-111178: fix UBSan failures in `Modules/_pickle.c` (#129787)

Fix UBSan failures for `Pdata`, `PicklerObject`, `UnpicklerObject`, `PicklerMemoProxyObject`, `UnpicklerMemoProxyObject`

Indicate safe fast cast to avoid redundant future checks

Use semantically correct parameter names

8 months agogh-111178: fix UBSan failures in `Modules/overlapped.c` (GH-129786)
Bénédikt Tran [Thu, 20 Feb 2025 13:24:24 +0000 (14:24 +0100)] 
gh-111178: fix UBSan failures in `Modules/overlapped.c` (GH-129786)

Fix UBSan failures for `OverlappedObject`

8 months agogh-111178: fix UBSan failures in `Modules/_operator.c` (GH-129785)
Bénédikt Tran [Thu, 20 Feb 2025 13:21:55 +0000 (14:21 +0100)] 
gh-111178: fix UBSan failures in `Modules/_operator.c` (GH-129785)

Fix UBSan failures for `itemgetterobject`, `attrgetterobject`, `methodcallerobject`

Suppress unused return values

8 months agogh-129173: Use `_PyUnicodeError_GetParams` in `PyCodec_SurrogateEscapeErrors` (GH...
Bénédikt Tran [Thu, 20 Feb 2025 13:18:47 +0000 (14:18 +0100)] 
gh-129173: Use `_PyUnicodeError_GetParams` in `PyCodec_SurrogateEscapeErrors` (GH-129175)

8 months agogh-128863: Deprecate the private _PyUnicodeWriter API (#129245)
Victor Stinner [Thu, 20 Feb 2025 13:02:02 +0000 (14:02 +0100)] 
gh-128863: Deprecate the private _PyUnicodeWriter API (#129245)

Deprecate private C API functions:

* _PyUnicodeWriter_Init()
* _PyUnicodeWriter_Finish()
* _PyUnicodeWriter_Dealloc()
* _PyUnicodeWriter_WriteChar()
* _PyUnicodeWriter_WriteStr()
* _PyUnicodeWriter_WriteSubstring()
* _PyUnicodeWriter_WriteASCIIString()
* _PyUnicodeWriter_WriteLatin1String()

These functions are not deprecated in the internal C API (if the
Py_BUILD_CORE macro is defined).

8 months agogh-101100: Fix sphinx warnings in `readline.rst` (#130300)
Yuki Kobayashi [Thu, 20 Feb 2025 12:56:27 +0000 (21:56 +0900)] 
gh-101100: Fix sphinx warnings in `readline.rst` (#130300)

8 months agogh-130250: use support.swap_attr() in test and don't assume we're beginning with...
Irit Katriel [Thu, 20 Feb 2025 11:29:18 +0000 (11:29 +0000)] 
gh-130250: use support.swap_attr() in test and don't assume we're beginning with a clean system state (#130342)

8 months agoFix some ctypes docs typos (GH-130307)
Alcaro [Thu, 20 Feb 2025 10:58:50 +0000 (11:58 +0100)] 
Fix some ctypes docs typos (GH-130307)

8 months agogh-127750: Restore inspect and pydoc support of singledispatchmethod (GH-130309)
Serhiy Storchaka [Thu, 20 Feb 2025 09:08:49 +0000 (11:08 +0200)] 
gh-127750: Restore inspect and pydoc support of singledispatchmethod (GH-130309)

The code is still flawed, because it does not recognize class and static
methods, and the first argument is not removed from the signature of
bound methods, but at least it does not worse than in 3.13 and older.

8 months agogh-69001: Convert links to more usable buttons (#129591)
Stan Ulbrych [Thu, 20 Feb 2025 08:30:57 +0000 (08:30 +0000)] 
gh-69001: Convert links to more usable buttons (#129591)

In Lib/idlelib/help_about.py, there are 2 links that are not underlined or colored, hence hard to tell that clicking works.  All buttons might get converted to colored and underlined links in the future.
---------

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
8 months agogh-130130: Clarify `hash=False` docs in `dataclasses.field` (#130324)
Sabfo [Thu, 20 Feb 2025 07:43:27 +0000 (09:43 +0200)] 
gh-130130: Clarify `hash=False` docs in `dataclasses.field` (#130324)

8 months agogh-130293: Ensure test__colorize will pass on dumb terminals. (#130333)
Russell Keith-Magee [Thu, 20 Feb 2025 06:49:18 +0000 (14:49 +0800)] 
gh-130293: Ensure test__colorize will pass on dumb terminals. (#130333)

Ensure colorize tests will run on dumb terminals (or environment with TERM=dumb set)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
8 months agogh-57537: Support breakpoints for zipimport modules on pdb (#130290)
Tian Gao [Thu, 20 Feb 2025 02:01:04 +0000 (21:01 -0500)] 
gh-57537: Support breakpoints for zipimport modules on pdb (#130290)

8 months agogh-130250: fix cleanup in test (impacts refleaks runs) (#130329)
Irit Katriel [Thu, 20 Feb 2025 01:37:30 +0000 (01:37 +0000)] 
gh-130250: fix cleanup in test (impacts refleaks runs) (#130329)

8 months agogh-130250: fix regression in traceback.print_last (#130318)
Irit Katriel [Wed, 19 Feb 2025 21:44:35 +0000 (21:44 +0000)] 
gh-130250: fix regression in traceback.print_last (#130318)

8 months agogh-122876: Fix "End of lines" typo (#125310)
za [Wed, 19 Feb 2025 19:16:38 +0000 (02:16 +0700)] 
gh-122876: Fix "End of lines" typo (#125310)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
8 months agogh-128396: Fix a crash when inline comprehension has the same local variable as the...
Tian Gao [Wed, 19 Feb 2025 17:11:17 +0000 (12:11 -0500)] 
gh-128396: Fix a crash when inline comprehension has the same local variable as the outside scope (#130235)

8 months agogh-130221: fix crash when accessing module state while interp is finalizing in asynci...
Kumar Aditya [Wed, 19 Feb 2025 16:37:56 +0000 (22:07 +0530)] 
gh-130221: fix crash when accessing module state while interp is finalizing in asyncio (#130245)

8 months agogh-129898: per-thread current task implementation in asyncio (#129899)
Kumar Aditya [Wed, 19 Feb 2025 16:34:49 +0000 (22:04 +0530)] 
gh-129898: per-thread current task implementation in asyncio (#129899)

Store the current running task on the thread state, it makes it thread safe for the free-threading build and while improving performance as there is no lock contention, this effectively makes it lock free.
When accessing the current task of the current running loop in current thread, no locking is required and can be acessed without locking.
In the rare case of accessing current task of a loop running in a different thread, the stop the world pauses is used in free-threading builds to stop all other running threads and find the task for the specified loop.

This also makes it easier for external introspection to find the current task, and now it will be always correct.

8 months agoRevert "Use ubuntu-22.04-arm image for Arm runners. (#129834)" (#130305)
Diego Russo [Wed, 19 Feb 2025 16:06:11 +0000 (16:06 +0000)] 
Revert "Use ubuntu-22.04-arm image for Arm runners. (#129834)" (#130305)

GitHub discovered it was an issue with the underlying hardware
and have migrated all the runners to a different arm sku (dpdsv5).

This reverts commit 80b9e79d84e835ecdb5a15c9ba73e44803ca9d32.

8 months agoGH-91079: Implement C stack limits using addresses, not counters. (GH-130007)
Mark Shannon [Wed, 19 Feb 2025 11:44:57 +0000 (11:44 +0000)] 
GH-91079: Implement C stack limits using addresses, not counters. (GH-130007)

* Implement C recursion protection with limit pointers

* Remove calls to PyOS_CheckStack

* Add stack protection to parser

* Make tests more robust to low stacks

* Improve error messages for stack overflow

8 months agogh-111178: fix UBSan failures in `Modules/_datetimemodule.c` (GH-129774)
Bénédikt Tran [Wed, 19 Feb 2025 11:18:37 +0000 (12:18 +0100)] 
gh-111178: fix UBSan failures in `Modules/_datetimemodule.c` (GH-129774)

Add cast macros for date and time objects

Fix UBSan failures for `PyDateTime_Delta`, `PyDateTime_Date`, `PyDateTime_TZInfo`, `PyDateTime_TimeZone`, `PyDateTime_Time`, `PyDateTime_DateTime`, `PyDateTime_IsoCalendarDate`

Fix up naming

8 months agogh-111178: fix UBSan failures in `Modules/mmapmodule.c` (GH-129784)
Bénédikt Tran [Wed, 19 Feb 2025 11:02:32 +0000 (12:02 +0100)] 
gh-111178: fix UBSan failures in `Modules/mmapmodule.c` (GH-129784)

Fix UBSan failures for `mmap_object`

Use 'ignored' for NOARGS method and 'args' for others

8 months agogh-111178: fix UBSan failures in `Modules/itertoolsmodule.c` (GH-129780)
Bénédikt Tran [Wed, 19 Feb 2025 10:58:47 +0000 (11:58 +0100)] 
gh-111178: fix UBSan failures in `Modules/itertoolsmodule.c` (GH-129780)

8 months agogh-129107: make `bytearray` iterator thread safe (#130096)
Tomasz Pytel [Wed, 19 Feb 2025 10:12:45 +0000 (05:12 -0500)] 
gh-129107: make `bytearray` iterator thread safe (#130096)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
8 months agogh-115999: Make list and tuple iteration more thread-safe. (#128637)
T. Wouters [Wed, 19 Feb 2025 00:52:46 +0000 (16:52 -0800)] 
gh-115999: Make list and tuple iteration more thread-safe. (#128637)

Make tuple iteration more thread-safe, and actually test concurrent iteration of tuple, range and list. (This is prep work for enabling specialization of FOR_ITER in free-threaded builds.) The basic premise is:

Iterating over a shared iterable (list, tuple or range) should be safe, not involve data races, and behave like iteration normally does.

Using a shared iterator should not crash or involve data races, and should only produce items regular iteration would produce. It is not guaranteed to produce all items, or produce each item only once. (This is not the case for range iteration even after this PR.)

Providing stronger guarantees is possible for some of these iterators, but it's not always straight-forward and can significantly hamper the common case. Since iterators in general aren't shared between threads, and it's simply impossible to concurrently use many iterators (like generators), better to make sharing iterators without explicit synchronization clearly wrong.

Specific issues fixed in order to make the tests pass:

 - List iteration could occasionally fail an assertion when a shared list was shrunk and an item past the new end was retrieved concurrently. There's still some unsafety when deleting/inserting multiple items through for example slice assignment, which uses memmove/memcpy.

 - Tuple iteration could occasionally crash when the iterator's reference to the tuple was cleared on exhaustion. Like with list iteration, in free-threaded builds we can't safely and efficiently clear the iterator's reference to the iterable (doing it safely would mean extra, slow refcount operations), so just keep the iterable reference around.

8 months agoDocs: Upgrade Sphinx to 8.2 (#130171)
Adam Turner [Tue, 18 Feb 2025 23:45:02 +0000 (23:45 +0000)] 
Docs: Upgrade Sphinx to 8.2 (#130171)

8 months agogh-130094: Fix race conditions in `importlib` (gh-130101)
Sam Gross [Tue, 18 Feb 2025 23:02:42 +0000 (18:02 -0500)] 
gh-130094: Fix race conditions in `importlib` (gh-130101)

Entries may be added or removed from `sys.meta_path` concurrently. For
example, setuptools temporarily adds and removes the `distutils` finder from
the beginning of the list. The local copy ensures that we don't skip over any
entries.

Some packages modify `sys.modules` during import. For example, `collections`
inserts the entry for `collections.abc`  into `sys.modules` during import. We
need to ensure that we re-check `sys.modules` *after* the parent module is
fully initialized.

8 months agogh-124703: Add extra checks for pdb quit test (#130286)
Tian Gao [Tue, 18 Feb 2025 21:55:39 +0000 (16:55 -0500)] 
gh-124703: Add extra checks for pdb quit test (#130286)

8 months agogh-129515: Clarify syntax error messages for conditional expressions (#129880)
Sergey Miryanov [Tue, 18 Feb 2025 21:43:19 +0000 (02:43 +0500)] 
gh-129515: Clarify syntax error messages for conditional expressions (#129880)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
8 months agobpo-45325: Add a new 'p' parameter to Py_BuildValue to convert an integer into a...
Pablo Galindo Salgado [Tue, 18 Feb 2025 17:14:11 +0000 (17:14 +0000)] 
bpo-45325: Add a new 'p' parameter to Py_BuildValue to convert an integer into a Python bool (#28634)

8 months agogh-126944: Show explicit errors when required arguments of pdb commands are missing...
Tian Gao [Tue, 18 Feb 2025 15:58:15 +0000 (10:58 -0500)] 
gh-126944: Show explicit errors when required arguments of pdb commands are missing (#130240)

8 months agogh-127260: Improve error consistency in both `fromisoformat` implementations (#130134)
donBarbos [Tue, 18 Feb 2025 15:49:28 +0000 (19:49 +0400)] 
gh-127260: Improve error consistency in both `fromisoformat` implementations (#130134)

In the Python implementation, "Z" was allowed where only "+" or "-" should be allowed in time zone specifiers. In the C implementation, ":" was allowed as a separator between the whole and fractional portion of times (seconds). These have both been forbidden and the error messages harmonized.

8 months agogh-129989: Change Py_TAIL_CALL_INTERP ifndef to ! (#130269)
Ken Jin [Tue, 18 Feb 2025 15:48:49 +0000 (23:48 +0800)] 
gh-129989: Change Py_TAIL_CALL_INTERP ifndef to ! (#130269)

Change Py_TAIL_CALL_INTERP ifndef to !

8 months agogh-130164: Fix inspect.Signature.bind() handling of positional-only args without...
Jacob Walls [Tue, 18 Feb 2025 15:19:04 +0000 (10:19 -0500)] 
gh-130164: Fix inspect.Signature.bind() handling of positional-only args without defaults (GH-130192)

Follow-up to 9c15202.

8 months agogh-44827: Improve error if BOM on first line of .po file (GH-130187)
Stan Ulbrych [Tue, 18 Feb 2025 13:59:34 +0000 (13:59 +0000)] 
gh-44827: Improve error if BOM on first line of .po file (GH-130187)

8 months agogh-111178: fix UBSan failures in `Modules/_lzmamodule.c` (GH-129783)
Bénédikt Tran [Tue, 18 Feb 2025 13:48:21 +0000 (14:48 +0100)] 
gh-111178: fix UBSan failures in `Modules/_lzmamodule.c` (GH-129783)

fix UBSan failures for LZMA objects

suppress unused return values

8 months agogh-130160: use `option` instead of `cmdoption` in `dis.rst` (#130255)
sobolevn [Tue, 18 Feb 2025 12:54:14 +0000 (15:54 +0300)] 
gh-130160: use `option` instead of `cmdoption` in `dis.rst` (#130255)

8 months agogh-130160: use `.. program::` directive for documenting `ensurepip` CLI (gh-130253)
Kanishk Pachauri [Tue, 18 Feb 2025 12:09:22 +0000 (17:39 +0530)] 
gh-130160: use `.. program::` directive for documenting `ensurepip` CLI (gh-130253)

8 months agoimprove `test_tasks` to use correct idiom for starting task in asyncio (#130257)
Kumar Aditya [Tue, 18 Feb 2025 12:08:25 +0000 (17:38 +0530)] 
improve `test_tasks` to use correct idiom for starting task in asyncio (#130257)

The test should use the correct idiom for starting the task, `loop._run_once` is private API which should not be used directly, instead use `asyncio.sleep(0)` for 1 event loop cycle.

8 months agogh-130230: Fix crash in pow() with only Decimal third argument (GH-130237)
Serhiy Storchaka [Tue, 18 Feb 2025 07:46:48 +0000 (09:46 +0200)] 
gh-130230: Fix crash in pow() with only Decimal third argument (GH-130237)

8 months agogh-130195: Remove unimplemented option from pygettext (#130196)
Stan Ulbrych [Tue, 18 Feb 2025 03:01:36 +0000 (03:01 +0000)] 
gh-130195: Remove unimplemented option from pygettext (#130196)

Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
8 months agogh-118761: Improve import time of `cmd` module (#130056)
donBarbos [Mon, 17 Feb 2025 20:06:08 +0000 (00:06 +0400)] 
gh-118761: Improve import time of `cmd` module (#130056)

* Improve import time of `cmd` module
* Remove string import

8 months agoGH-127381: pathlib ABCs: remove `ReadablePath.rglob()` (#130207)
Barney Gale [Mon, 17 Feb 2025 19:15:59 +0000 (19:15 +0000)] 
GH-127381: pathlib ABCs: remove `ReadablePath.rglob()` (#130207)

Remove `ReadablePath.rglob()` from the private pathlib ABCs. This method is
a trivial wrapper around `glob()` and easily replaced.

8 months agoGH-125413: Add private metadata methods to `pathlib.Path.info` (#129897)
Barney Gale [Mon, 17 Feb 2025 19:15:25 +0000 (19:15 +0000)] 
GH-125413: Add private metadata methods to `pathlib.Path.info` (#129897)

Add the following private methods to `pathlib.Path.info`:

- `_posix_permissions()`: the POSIX file permissions (`S_IMODE(st_mode)`)
- `_file_id()`: the file ID (`(st_dev, st_ino)`)
- `_access_time_ns()`: the access time in nanoseconds (`st_atime_ns`)
- `_mod_time_ns()`: the modify time in nanoseconds (`st_mtime_ns`)
- `_bsd_flags()`: the BSD file flags (`st_flags`)
- `_xattrs()`: the file extended attributes as a list of key, value pairs,
  or an empty list if `listxattr()` or `getxattr()` fail in an ignorable
  way.

These methods replace `LocalCopyReader.read_metadata()`, and so we can
delete the `CopyReader` and `LocalCopyReader` classes. Rather than reading
metadata via `source._copy_reader.read_metadata()`, we instead call
`source.info._posix_permissions()`, `_access_time_ns()`, etc.

Preserving metadata is only supported for local-to-local copies at the
moment. To support copying metadata between arbitrary `ReadablePath` and
`WritablePath` objects, we'd need to make the new methods public and
documented.

Co-authored-by: Petr Viktorin <encukou@gmail.com>
8 months agocover `**/*hashopenssl*` in CODEOWNERS (#130236)
Gregory P. Smith [Mon, 17 Feb 2025 19:09:16 +0000 (11:09 -0800)] 
cover `**/*hashopenssl*` in CODEOWNERS (#130236)

8 months agogh-125756: Document Pickler.clear_memo() (GH-125762)
Tomas R. [Mon, 17 Feb 2025 15:48:29 +0000 (16:48 +0100)] 
gh-125756: Document Pickler.clear_memo() (GH-125762)

8 months agogh-111178: fix UBSan failures in `Modules/_lsprof.c` (GH-129782)
Bénédikt Tran [Mon, 17 Feb 2025 13:53:03 +0000 (14:53 +0100)] 
gh-111178: fix UBSan failures in `Modules/_lsprof.c` (GH-129782)

Fix UBSan failures for `ProfilerObject`

Suppress unused return value

8 months agogh-111178: fix UBSan failures in `Modules/_jsonmodule.c` (GH-129781)
Bénédikt Tran [Mon, 17 Feb 2025 13:51:18 +0000 (14:51 +0100)] 
gh-111178: fix UBSan failures in `Modules/_jsonmodule.c` (GH-129781)

Fix UBSan failures for `PyScannerObject`, fix UBSan failures for `PyEncoderObject`

8 months agogh-129678: ConfigParser: do not write an empty unnamed section (GH-129679)
Andrey Efremov [Mon, 17 Feb 2025 13:24:57 +0000 (20:24 +0700)] 
gh-129678: ConfigParser: do not write an empty unnamed section (GH-129679)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
8 months agogh-129701: Fix a data race in `intern_common` in the free threaded build (GH-130089)
Sam Gross [Mon, 17 Feb 2025 13:15:40 +0000 (08:15 -0500)] 
gh-129701: Fix a data race in `intern_common` in the free threaded build (GH-130089)

* gh-129701: Fix a data race in `intern_common` in the free threaded build

* Use a mutex to avoid potentially returning a non-immortalized string,
  because immortalization happens after the insertion into the interned
  dict.

* Use `Py_DECREF()` calls instead of `Py_SET_REFCNT(s, Py_REFCNT(s) - 2)`
  for thread-safety. This code path isn't performance sensistive, so
  just use `Py_DECREF()` unconditionally for simplicity.

8 months agogh-130214: Document `PyEllipsis_Type` (GH-130215)
Yuki Kobayashi [Mon, 17 Feb 2025 12:56:33 +0000 (21:56 +0900)] 
gh-130214: Document `PyEllipsis_Type` (GH-130215)

8 months agogh-111178: fix UBSan failures in `Modules/_collectionsmodule.c` (#129773)
Bénédikt Tran [Mon, 17 Feb 2025 12:12:03 +0000 (13:12 +0100)] 
gh-111178: fix UBSan failures in `Modules/_collectionsmodule.c` (#129773)

Fix some UBSan failures for `dequeobject`, `dequeiterobject`, `defdictobject` and `tuplegetterobject`.

We also perform some cleanup by suppressing unused return values and renaming the
unused argument in `METH_NOARGS` methods to `dummy` for semantic purposes.

8 months agoCI: Use ImageOS (ubuntu24) instead of runner.os (Linux) in cache keys (#130200)
Hugo van Kemenade [Mon, 17 Feb 2025 11:53:55 +0000 (13:53 +0200)] 
CI: Use ImageOS (ubuntu24) instead of runner.os (Linux) in cache keys (#130200)

8 months agogh-130057: Pygettext: Support translator comments (GH-130061)
Tomas R. [Mon, 17 Feb 2025 10:41:28 +0000 (11:41 +0100)] 
gh-130057: Pygettext: Support translator comments (GH-130061)

8 months agogh-111178: fix UBSan failures in `Modules/_interp*module.c` (GH-129779)
Bénédikt Tran [Mon, 17 Feb 2025 10:34:14 +0000 (11:34 +0100)] 
gh-111178: fix UBSan failures in `Modules/_interp*module.c` (GH-129779)

Fix UBSan failures for `XIBufferViewObject`

Remove redundant casts, suppress unused return values

8 months agogh-111178: fix UBSan failures in `Objects/exceptions.c` (GH-128154)
Bénédikt Tran [Mon, 17 Feb 2025 10:03:16 +0000 (11:03 +0100)] 
gh-111178: fix UBSan failures in `Objects/exceptions.c` (GH-128154)

Fix UBSan failures for `PyBaseExceptionObject`, `PyStopIterationObject`, `PySystemExitObject`, `PyImportErrorObject`, `PyOSErrorObject`,  `PyNameErrorObject`,  `PyAttributeErrorObject`, `PySyntaxErrorObject`,  `KeyError`,  `UnicodeError*`, `PyBaseExceptionGroupObject`

Remove redundant casts

Align the naming convention `Py[...]_CAST(op)` where only an assert-only type check is performed.

8 months agogh-127750: Fix and optimize functools.singledispatchmethod() (GH-130008)
Serhiy Storchaka [Mon, 17 Feb 2025 09:11:20 +0000 (11:11 +0200)] 
gh-127750: Fix and optimize functools.singledispatchmethod() (GH-130008)

Remove broken singledispatchmethod caching introduced in gh-85160.
Achieve the same performance using different optimization.

* Add more tests.

* Fix issues with __module__ and __doc__ descriptors.

8 months agogh-130193: Increase test coverage of gettext.c2py (GH-130208)
Tomas R. [Mon, 17 Feb 2025 08:57:34 +0000 (09:57 +0100)] 
gh-130193: Increase test coverage of gettext.c2py (GH-130208)

8 months agogh-129805: Fix `bytes` annotation in `Tools/jit` (#129806)
sobolevn [Mon, 17 Feb 2025 07:55:30 +0000 (10:55 +0300)] 
gh-129805: Fix `bytes` annotation in `Tools/jit` (#129806)

8 months agogh-86069: Add more PyNumber_InPlacePower() tests (GH-130111)
Serhiy Storchaka [Mon, 17 Feb 2025 00:07:10 +0000 (02:07 +0200)] 
gh-86069: Add more PyNumber_InPlacePower() tests (GH-130111)

Test it with the third argument.

8 months agogh-118761: Revert "Improve import time of `subprocess` (GH-129427)" (#130201)
Gregory P. Smith [Sun, 16 Feb 2025 18:40:08 +0000 (10:40 -0800)] 
gh-118761: Revert "Improve import time of `subprocess` (GH-129427)" (#130201)

* Revert "gh-118761: Improve import time of `subprocess` (GH-129427)"

This reverts commit 49f24650e4541456872490ec2b59d6d186204891.
Also known as f502c8f6a6db4be27c97a0e5466383d117859b7f in 3.13 (PR #129447)
Also known as f65aa0d1bf7b636ab8f9d226429205854b24cd7a in 3.12 (PR #129448)

This caused bugs in the `__del__` finalizer:
 https://github.com/python/cpython/issues/118761#issuecomment-2661504264

---------

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
8 months agopathlib ABCs: remove caching of path parser case sensitivity (#130194)
Barney Gale [Sun, 16 Feb 2025 17:08:55 +0000 (17:08 +0000)] 
pathlib ABCs: remove caching of path parser case sensitivity (#130194)

Remove the caching `_is_case_sensitive()` function.

The cache used to speed up `PurePath.[full_]match()` and `Path.[r]glob()`,
but that's no longer the case - these methods use
`self.parser is posixpath` to determine case sensitivity.

This makes the `pathlib._abc` module a little easier to backport to Python
3.8, where `functools.cache()` is unavailable.

8 months agogh-130179: Fix `persistent_{id,load}_attr` reference leaks in `_pickle` (#130180)
Sergey Miryanov [Sun, 16 Feb 2025 14:00:03 +0000 (19:00 +0500)] 
gh-130179: Fix `persistent_{id,load}_attr` reference leaks in `_pickle` (#130180)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
8 months agogh-130080: return in finally in subprocess.py (#130081)
Irit Katriel [Sun, 16 Feb 2025 13:52:04 +0000 (13:52 +0000)] 
gh-130080: return in finally in subprocess.py (#130081)

8 months agogh-130185: Fix unintentionally skipped tests in `test_functools` (#130186)
Tomas R. [Sun, 16 Feb 2025 13:34:54 +0000 (14:34 +0100)] 
gh-130185: Fix unintentionally skipped tests in `test_functools` (#130186)

8 months agogh-130139: always check ast node type in ast.parse() with ast input (#130140)
Irit Katriel [Sun, 16 Feb 2025 13:32:39 +0000 (13:32 +0000)] 
gh-130139: always check ast node type in ast.parse() with ast input (#130140)

8 months agogh-130177: Fix unintentionally skipped tests in test_gettext (GH-130178)
Tomas R. [Sun, 16 Feb 2025 12:14:37 +0000 (13:14 +0100)] 
gh-130177: Fix unintentionally skipped tests in test_gettext (GH-130178)