]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
17 months ago[3.13] gh-120361: Add `nonmember` test with enum flags inside to `test_enum` (GH...
Miss Islington (bot) [Fri, 14 Jun 2024 19:08:21 +0000 (21:08 +0200)] 
[3.13] gh-120361: Add `nonmember` test with enum flags inside to `test_enum` (GH-120364) (#120511)

gh-120361: Add `nonmember` test with enum flags inside to `test_enum` (GH-120364)

* gh-120361: Add `nonmember` test with enum flags inside to `test_enum`
(cherry picked from commit 7fadfd82ebf6ea90b38cb3f2a046a51f8601a205)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
17 months ago[3.13] gh-117657: Add TSAN suppression for set_default_allocator_unlocked (GH-120500...
Miss Islington (bot) [Fri, 14 Jun 2024 16:34:07 +0000 (18:34 +0200)] 
[3.13] gh-117657: Add TSAN suppression for set_default_allocator_unlocked (GH-120500) (#120510)

gh-117657: Add TSAN suppression for set_default_allocator_unlocked (GH-120500)

Add TSAN suppression for set_default_allocator_unlocked
(cherry picked from commit 2bacc2343c24c49292dea3461f6b7664fc2d33e2)

Co-authored-by: AN Long <aisk@users.noreply.github.com>
17 months ago[3.13] gh-120400 :Support Linux perf profile to see Python calls on RISC-V architectu...
Miss Islington (bot) [Fri, 14 Jun 2024 15:03:24 +0000 (17:03 +0200)] 
[3.13] gh-120400 :Support Linux perf profile to see Python calls on RISC-V architecture (GH-120089) (#120413)

gh-120400 :Support Linux perf profile to see Python calls on RISC-V architecture (GH-120089)
(cherry picked from commit 4b1e85bafc5bcb8cb70bb17164e07aebf7ad7e8e)

Co-authored-by: ixgbe00 <yangwang@iscas.ac.cn>
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
17 months ago[3.13] gh-114053: Fix bad interaction of PEP 695, PEP 563 and `inspect.get_annotation...
Miss Islington (bot) [Thu, 13 Jun 2024 21:41:14 +0000 (23:41 +0200)] 
[3.13] gh-114053: Fix bad interaction of PEP 695, PEP 563 and `inspect.get_annotations` (GH-120270) (#120474)

gh-114053: Fix bad interaction of PEP 695, PEP 563 and `inspect.get_annotations` (GH-120270)
(cherry picked from commit 42351c3b9a357ec67135b30ed41f59e6f306ac52)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
17 months ago[3.13] GH-119054: Add "Renaming and deleting" section to pathlib docs. (GH-120465...
Miss Islington (bot) [Thu, 13 Jun 2024 20:43:59 +0000 (22:43 +0200)] 
[3.13] GH-119054: Add "Renaming and deleting" section to pathlib docs. (GH-120465) (#120472)

GH-119054: Add "Renaming and deleting" section to pathlib docs. (GH-120465)

Add dedicated subsection for `pathlib.Path.rename()`, `replace()`,
`unlink()` and `rmdir()`.
(cherry picked from commit d88a1f2e156cd1072119afa91d4f4dc4037c1b21)

Co-authored-by: Barney Gale <barney.gale@gmail.com>
17 months ago[3.13] gh-117398: Add datetime C-API type check test for subinterpreters (gh-120463)
Miss Islington (bot) [Thu, 13 Jun 2024 18:30:42 +0000 (20:30 +0200)] 
[3.13] gh-117398: Add datetime C-API type check test for subinterpreters (gh-120463)

Check if the DateTime C-API type matches the datetime.date type on main and shared/isolated subinterpreters.

(cherry picked from commit 50a389565aa0b480792ed06a2ab56fb5a72fc2d8, AKA gh-119604)

Co-authored-by: neonene <53406459+neonene@users.noreply.github.com>
17 months ago[3.13] GH-119054: Add "Creating files and directories" section to pathlib docs. ...
Miss Islington (bot) [Thu, 13 Jun 2024 18:17:57 +0000 (20:17 +0200)] 
[3.13] GH-119054: Add "Creating files and directories" section to pathlib docs. (GH-120186) (#120462)

GH-119054: Add "Creating files and directories" section to pathlib docs. (GH-120186)

Add dedicated subsection for `pathlib.Path.touch()`, `mkdir()`,
`symlink_to()` and `hardlink_to()`. Also note that `open()`, `write_text()`
and `write_bytes()` are often used to create files.

(cherry picked from commit c2d810b6d4deeea530648a8d0983e3a2adf6c942)

Co-authored-by: Barney Gale <barney.gale@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
17 months ago[3.13] gh-119146: Update ``regexp`` in `build.yml` to not trigger the jobs on `*...
Miss Islington (bot) [Thu, 13 Jun 2024 12:03:59 +0000 (14:03 +0200)] 
[3.13] gh-119146: Update ``regexp`` in `build.yml` to not trigger the jobs on `*.md` and `*.ini` files. (GH-120435) (#120447)

Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
17 months ago[3.13] gh-117657: Fix some simple races in instrumentation.c (GH-120118) (#120444)
Miss Islington (bot) [Thu, 13 Jun 2024 10:23:19 +0000 (12:23 +0200)] 
[3.13] gh-117657: Fix some simple races in instrumentation.c (GH-120118) (#120444)

gh-117657: Fix some simple races in instrumentation.c (GH-120118)

* stop the world when setting local events
(cherry picked from commit b1b61dc4cee43920ef2b08d5ac94ddf08119c507)

Co-authored-by: Ken Jin <kenjin@python.org>
17 months ago[3.13] gh-117657: Make PyType_HasFeature atomic (GH-120210) (#120443)
Miss Islington (bot) [Thu, 13 Jun 2024 10:06:04 +0000 (12:06 +0200)] 
[3.13] gh-117657: Make PyType_HasFeature atomic (GH-120210) (#120443)

gh-117657: Make PyType_HasFeature atomic (GH-120210)

Make PyType_HasFeature atomic
(cherry picked from commit eebae2c460dabdc70dc0d9b6e189368eb1abb716)

Co-authored-by: Ken Jin <kenjin@python.org>
17 months ago[3.13] gh-101575: document Decimal.__round__() (GH-101737) (GH-120394)
Miss Islington (bot) [Thu, 13 Jun 2024 07:07:37 +0000 (09:07 +0200)] 
[3.13] gh-101575: document Decimal.__round__() (GH-101737) (GH-120394)

gh-101575: document Decimal.__round__() (GH-101737)
(cherry picked from commit 7dd8c37a067f9fcb6a2a658d6a93b294cc2e6fb4)

Co-authored-by: Owain Davies <116417456+OTheDev@users.noreply.github.com>
17 months ago[3.13] Fix typos in documentation (GH-120338) (#120438)
Xie Yanbo [Thu, 13 Jun 2024 06:39:46 +0000 (14:39 +0800)] 
[3.13] Fix typos in documentation (GH-120338) (#120438)

(cherry picked from commit ce3879bd45e068f8e2a5a214acd234ca44cad53b)

17 months ago[3.13] gh-118908: Protect the REPL subprocess with a timeout in tests (GH-120408...
Miss Islington (bot) [Wed, 12 Jun 2024 19:58:29 +0000 (21:58 +0200)] 
[3.13] gh-118908: Protect the REPL subprocess with a timeout in tests (GH-120408) (#120430)

(cherry picked from commit 3453362183f083e37ea866a7ae1b34147ffaf81d)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
17 months ago[3.13] gh-120418: Don't assume wheeldata is deleted if `WHEEL_PKG_DIR` is set (GH...
Miss Islington (bot) [Wed, 12 Jun 2024 19:51:55 +0000 (21:51 +0200)] 
[3.13] gh-120418: Don't assume wheeldata is deleted if `WHEEL_PKG_DIR` is set (GH-120419) (#120432)

gh-120418: Don't assume wheeldata is deleted if `WHEEL_PKG_DIR` is set (GH-120419)

Remove wheeldata from both sides of the `assertEqual`, so that we're
*actually* ignoring it from the test set.

This test is only making assertions about the source tree, no code is
being executed that would do anything different based on the value of
`WHEEL_PKG_DIR`.
(cherry picked from commit 030b452e34bbb0096acacb70a31915b9590c8186)

Co-authored-by: Stefano Rivera <stefano@rivera.za.net>
17 months ago[3.13] gh-120417: Remove unused imports in the stdlib (GH-120420) (#120429)
Miss Islington (bot) [Wed, 12 Jun 2024 19:27:32 +0000 (21:27 +0200)] 
[3.13] gh-120417: Remove unused imports in the stdlib (GH-120420) (#120429)

gh-120417: Remove unused imports in the stdlib (GH-120420)
(cherry picked from commit 4c6d4f5cb33e48519922d635894eef356faddba2)

Co-authored-by: Victor Stinner <vstinner@python.org>
17 months ago[3.13] gh-120343: Fix column offsets of multiline tokens in tokenize (GH-120391)...
Miss Islington (bot) [Wed, 12 Jun 2024 19:22:44 +0000 (21:22 +0200)] 
[3.13] gh-120343: Fix column offsets of multiline tokens in tokenize (GH-120391) (#120427)

(cherry picked from commit 4b5d3e0e721a952f4ac9d17bee331e6dfe543dcd)

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
17 months ago[3.13] gh-71587: Drop local reference cache to `_strptime` module in `_datetime`...
Miss Islington (bot) [Wed, 12 Jun 2024 17:15:16 +0000 (19:15 +0200)] 
[3.13] gh-71587: Drop local reference cache to `_strptime` module in `_datetime` (gh-120424)

The _strptime module object was cached in a static local variable (in the datetime.strptime() implementation).  That's a problem when it crosses isolation boundaries, such as reinitializing the runtme or between interpreters.  This change fixes the problem by dropping the static variable, instead always relying on the normal sys.modules cache (via PyImport_Import()).

(cherry picked from commit 127c1d2771749853e287632c086b6054212bf12a, AKA gh-120224)

Co-authored-by: neonene <53406459+neonene@users.noreply.github.com>
17 months ago[3.13] gh-120326: Include <intrin.h> on Windows with Free Threading (GH-120329) ...
Miss Islington (bot) [Wed, 12 Jun 2024 15:39:54 +0000 (17:39 +0200)] 
[3.13] gh-120326: Include <intrin.h> on Windows with Free Threading (GH-120329) (#120414)

gh-120326: Include <intrin.h> on Windows with Free Threading (GH-120329)
(cherry picked from commit 939c201e00943c6dc2d515185168c30606ae522c)

Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
17 months ago[3.13] gh-120345: Fix incorrect use of the :class: role with the "()" suffix (GH...
Miss Islington (bot) [Wed, 12 Jun 2024 14:51:35 +0000 (16:51 +0200)] 
[3.13] gh-120345: Fix incorrect use of the :class: role with the "()" suffix (GH-120347) (GH-120411)

* Remove "()" when refer to a class as a type.
* Use :func: when refer to a callable.
* Fix reference to the datetime.astimezone() method.
(cherry picked from commit 92c9c6ae147e1e658bbc8d454f8c7b2c4dea31d1)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
17 months ago[3.13] gh-120155: Add assertion to sre.c match_getindex() (GH-120402) (#120409)
Miss Islington (bot) [Wed, 12 Jun 2024 14:07:36 +0000 (16:07 +0200)] 
[3.13] gh-120155: Add assertion to sre.c match_getindex() (GH-120402) (#120409)

gh-120155: Add assertion to sre.c match_getindex() (GH-120402)

Add an assertion to help static analyzers to detect that i*2 cannot
overflow.
(cherry picked from commit 42b25dd61ff3593795c4cc2ffe876ab766098b24)

Co-authored-by: Victor Stinner <vstinner@python.org>
17 months ago[3.13] gh-117657: Make Py_TYPE and Py_SET_TYPE thread safe (GH-120165) (GH-120403)
Miss Islington (bot) [Wed, 12 Jun 2024 13:37:26 +0000 (15:37 +0200)] 
[3.13] gh-117657: Make Py_TYPE and Py_SET_TYPE thread safe (GH-120165) (GH-120403)

gh-117657: Make Py_TYPE and Py_SET_TYPE thread safe (GH-120165)
(cherry picked from commit e16aed63f64b18a26859eff3de976ded373e66b8)

Co-authored-by: Ken Jin <kenjin@python.org>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Nadeshiko Manju <me@manjusaka.me>
17 months ago[3.13] gh-93691: fix too broad source locations of for statement iterators (GH-120330...
Miss Islington (bot) [Wed, 12 Jun 2024 12:18:43 +0000 (14:18 +0200)] 
[3.13] gh-93691: fix too broad source locations of for statement iterators (GH-120330) (#120399)

gh-93691: fix too broad source locations of for statement iterators (GH-120330)
(cherry picked from commit 97b69db167be28a33688db436551a6c3c3ea4662)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
17 months ago[3.13] gh-118908: Fix completions after namespace change in REPL (GH-120370) (#120392)
Miss Islington (bot) [Wed, 12 Jun 2024 08:48:22 +0000 (10:48 +0200)] 
[3.13] gh-118908: Fix completions after namespace change in REPL (GH-120370) (#120392)

(cherry picked from commit 02e74c356223feb0771759286d24d1dbac01d4ca)

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
17 months ago[3.13] gh-120128: fix description of argument to ipaddress.collapse_addresses() ...
Miss Islington (bot) [Wed, 12 Jun 2024 06:23:24 +0000 (08:23 +0200)] 
[3.13] gh-120128: fix description of argument to ipaddress.collapse_addresses() (GH-120131) (#120135)

gh-120128: fix description of argument to ipaddress.collapse_addresses() (GH-120131)

The argument to collapse_addresses() is now described as an *iterable*
(rather than *iterator*).
(cherry picked from commit f878d46e5614f08a9302fcb6fc611ef49e9acf2f)

Co-authored-by: Jan Kaliszewski <zuo@kaliszewski.net>
17 months ago[3.13] gh-120221: Deliver real singals on Ctrl-C and Ctrl-Z in the new REPL (GH-12035...
Miss Islington (bot) [Tue, 11 Jun 2024 19:46:07 +0000 (21:46 +0200)] 
[3.13] gh-120221: Deliver real singals on Ctrl-C and Ctrl-Z in the new REPL (GH-120354) (#120368)

17 months agogh-120198: Fix race condition when editing __class__ with an audit hook active (GH...
Miss Islington (bot) [Tue, 11 Jun 2024 19:35:49 +0000 (21:35 +0200)] 
gh-120198: Fix race condition when editing __class__ with an audit hook active (GH-120195)

(cherry picked from commit 203565b2f9c74656ba519780049b46d4e5afcba1)

Co-authored-by: Ken Jin <kenjin@python.org>
17 months ago[3.13] gh-118908: Limit exposed globals from internal imports and definitions on...
Miss Islington (bot) [Tue, 11 Jun 2024 18:04:39 +0000 (20:04 +0200)] 
[3.13] gh-118908: Limit exposed globals from internal imports and definitions on new REPL startup (GH-119547) (#120362)

17 months ago[3.13] gh-120343: Do not reset byte_col_offset_diff after multiline tokens (GH-120352...
Miss Islington (bot) [Tue, 11 Jun 2024 17:25:57 +0000 (19:25 +0200)] 
[3.13] gh-120343: Do not reset byte_col_offset_diff after multiline tokens (GH-120352) (#120355)

(cherry picked from commit 1b62bcee941e54244b3ce6476aef8913604987c9)

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
17 months ago[3.13] Fix typo in ElementTree docs (GH-120342) (#120357)
Miss Islington (bot) [Tue, 11 Jun 2024 17:24:29 +0000 (19:24 +0200)] 
[3.13] Fix typo in ElementTree docs (GH-120342) (#120357)

Fix typo in ElementTree docs (GH-120342)
(cherry picked from commit 0335662fe1f663fe96e3e4acf0f34c5959d06b00)

Co-authored-by: naglis <827324+naglis@users.noreply.github.com>
17 months ago[3.13] gh-119517: Fixes for pasting in pyrepl (GH-120253) (#120353)
Miss Islington (bot) [Tue, 11 Jun 2024 17:09:28 +0000 (19:09 +0200)] 
[3.13] gh-119517: Fixes for pasting in pyrepl (GH-120253) (#120353)

gh-119517: Fixes for pasting in pyrepl (GH-120253)

* Remove pyrepl's optimization for self-insert

This will be replaced by a less specialized optimization.

* Use line-buffering when pyrepl echoes pastes

Previously echoing was totally suppressed until the entire command had
been pasted and the terminal ended paste mode, but this gives the user
no feedback to indicate that an operation is in progress. Drawing
something to the screen once per line strikes a balance between
perceived responsiveness and performance.

* Remove dead code from pyrepl

`msg_at_bottom` is always true.

* Speed up pyrepl's screen rendering computation

The Reader in pyrepl doesn't hold a complete representation of the
screen area being drawn as persistent state. Instead, it recomputes it,
on each keypress. This is fast enough for a few hundred bytes, but
incredibly slow as the input buffer grows into the kilobytes (likely
because of pasting).

Rather than making some expensive and expansive changes to the repl's
internal representation of the screen, add some caching: remember some
data from one refresh to the next about what was drawn to the screen
and, if we don't find anything that has invalidated the results that
were computed last time around, reuse them. To keep this caching as
simple as possible, all we'll do is look for lines in the buffer that
were above the cursor the last time we were asked to update the screen,
and that are still above the cursor now. We assume that nothing can
affect a line that comes before both the old and new cursor location
without us being informed. Based on this assumption, we can reuse old
lines, which drastically speeds up the overwhelmingly common case where
the user is typing near the end of the buffer.

* Speed up pyrepl prompt drawing

Cache the `can_colorize()` call rather than repeatedly recomputing it.
This call looks up an environment variable, and is called once per
character typed at the REPL. The environment variable lookup shows up as
a hot spot when profiling, and we don't expect this to change while the
REPL is running.

* Speed up pasting multiple lines into the REPL

Previously, we were checking whether the command should be accepted each
time a line break was encountered, but that's not the expected behavior.
In bracketed paste mode, we expect everything pasted to be part of
a single block of code, and encountering a newline shouldn't behave like
a user pressing <Enter> to execute a command. The user should always
have a chance to review the pasted command before running it.

* Use a read buffer for input in pyrepl

Previously we were reading one byte at a time, which causes much slower
IO than necessary. Instead, read in chunks, processing previously read
data before asking for more.

* Optimize finding width of a single character

`wlen` finds the width of a multi-character string by adding up the
width of each character, and then subtracting the width of any escape
sequences. It's often called for single character strings, however,
which can't possibly contain escape sequences. Optimize for that case.

* Optimize disp_str for ASCII characters

Since every ASCII character is known to display as single width, we can
avoid not only the Unicode data lookup in `disp_str` but also the one
hidden in `str_width` for them.

* Speed up cursor movements in long pyrepl commands

When the current pyrepl command buffer contains many lines, scrolling up
becomes slow. We have optimizations in place to reuse lines above the
cursor position from one refresh to the next, but don't currently try to
reuse lines below the cursor position in the same way, so we wind up
with quadratic behavior where all lines of the buffer below the cursor
are recomputed each time the cursor moves up another line.

Optimize this by only computing one screen's worth of lines beyond the
cursor position. Any lines beyond that can't possibly be shown by the
console, and bounding this makes scrolling up have linear time
complexity instead.

---------

(cherry picked from commit 32a0faba439b239d7b0c242c1e3cd2025c52b8cf)

Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
Co-authored-by: Matt Wozniski <mwozniski@bloomberg.net>
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
17 months ago[3.13] gh-120346: Respect PYTHON_BASIC_REPL when running in interactive inspect mode...
Miss Islington (bot) [Tue, 11 Jun 2024 16:40:15 +0000 (18:40 +0200)] 
[3.13] gh-120346: Respect PYTHON_BASIC_REPL when running in interactive inspect mode (GH-120349) (#120351)

(cherry picked from commit ec3af291fe2f680ab277edde7113e2762754f4aa)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
17 months ago[3.13] gh-120268: Prohibit passing ``None`` to ``_pydatetime.date.fromtimestamp`...
Miss Islington (bot) [Tue, 11 Jun 2024 09:54:02 +0000 (11:54 +0200)] 
[3.13] gh-120268: Prohibit passing ``None`` to ``_pydatetime.date.fromtimestamp`` (GH-120269) (GH-120282)

This makes the pure Python implementation consistent with the C implementation.
(cherry picked from commit 34f5ae69fe9ab0f5b23311d5c396d0cbb5902913)

Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
17 months ago[3.13] bpo-24766: doc= argument to subclasses of property not handled correctly ...
Miss Islington (bot) [Tue, 11 Jun 2024 09:52:27 +0000 (11:52 +0200)] 
[3.13] bpo-24766: doc= argument to subclasses of property not handled correctly (GH-2487) (GH-120305)

(cherry picked from commit 4829522b8d3e1a28930f1cccfcc9635e035a0eb4)

Co-authored-by: E. M. Bray <erik.bray@lri.fr>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
17 months ago[3.13] gh-120291: Fix a bashism in python-config.sh.in (GH-120292) (#120341)
Miss Islington (bot) [Tue, 11 Jun 2024 07:29:01 +0000 (09:29 +0200)] 
[3.13] gh-120291: Fix a bashism in python-config.sh.in (GH-120292) (#120341)

gh-120291: Fix a bashism in python-config.sh.in (GH-120292)

gh-120291: Fix bashisms in python-config.sh.in

Replace the use of bash-specific `[[ ... ]]` with POSIX-compliant
`[ ... ]` to make the `python-config` shell script work with non-bash
shells again.  While at it, use `local` in a safer way, since it is
not in POSIX either (though universally supported).

Fixes GH-120291
(cherry picked from commit 7d2447137e117ea9a6ee1493bce0b071c76b1bd7)

Co-authored-by: Michał Górny <mgorny@gentoo.org>
17 months ago[3.13] gh-120298: Fix use-after-free in `list_richcompare_impl` (GH-120303) (#120340)
Miss Islington (bot) [Tue, 11 Jun 2024 07:28:45 +0000 (09:28 +0200)] 
[3.13] gh-120298: Fix use-after-free in `list_richcompare_impl` (GH-120303) (#120340)

gh-120298: Fix use-after-free in `list_richcompare_impl` (GH-120303)
(cherry picked from commit 141babad9b4eceb83371bf19ba3a36b50dd05250)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
17 months ago[3.13] gh-65454: avoid triggering call to a PropertyMock in NonCallableMock.__setattr...
Miss Islington (bot) [Tue, 11 Jun 2024 06:12:16 +0000 (08:12 +0200)] 
[3.13] gh-65454: avoid triggering call to a PropertyMock in NonCallableMock.__setattr__ (GH-120019) (#120336)

gh-65454: avoid triggering call to a PropertyMock in NonCallableMock.__setattr__ (GH-120019)
(cherry picked from commit 9e9ee50421c857b443e2060274f17fb884d54473)

Co-authored-by: blhsing <blhsing@gmail.com>
17 months ago[3.13] gh-119600: mock: do not access attributes of original when new_callable is...
Miss Islington (bot) [Tue, 11 Jun 2024 06:04:06 +0000 (08:04 +0200)] 
[3.13] gh-119600: mock: do not access attributes of original when new_callable is set (GH-119601) (#120334)

gh-119600: mock: do not access attributes of original when new_callable is set (GH-119601)

In order to patch flask.g e.g. as in GH-84982, that
proxies getattr must not be invoked. For that,
mock must not try to read from the original
object. In some cases that is unavoidable, e.g.
when doing autospec. However, patch("flask.g",
new_callable=MagicMock) should be entirely safe.
(cherry picked from commit 422c4fc855afd18bcc6415902ea1d85a50cb7ce1)

Co-authored-by: Robert Collins <robert.collins@cognite.com>
17 months ago[3.13] Fix the CODEOWNERS for _interpretersmodule.c (gh-120324)
Miss Islington (bot) [Mon, 10 Jun 2024 17:11:22 +0000 (19:11 +0200)] 
[3.13] Fix the CODEOWNERS for _interpretersmodule.c (gh-120324)

(cherry picked from commit 6efe3460693c4f39de198a64cebeeee8b1d4e8b6, AKA gh-120288)

Co-authored-by: AN Long <aisk@users.noreply.github.com>
17 months ago[3.13] gh-120155: Fix Coverity issue in zoneinfo load_data() (GH-120232) (#120310)
Miss Islington (bot) [Mon, 10 Jun 2024 10:18:18 +0000 (12:18 +0200)] 
[3.13] gh-120155: Fix Coverity issue in zoneinfo load_data() (GH-120232) (#120310)

gh-120155: Fix Coverity issue in zoneinfo load_data() (GH-120232)

Declare the 'rv' varaible at the top of the load_data() function to
make sure that it's initialized before the first 'goto error' which
uses 'rv' (return rv).

Fix the Coverity issue:

Error: UNINIT (CWE-457):
Python-3.12.2/Modules/_zoneinfo.c:1233:5: skipped_decl: Jumping over declaration of ""rv"".
Python-3.12.2/Modules/_zoneinfo.c:1284:5: uninit_use: Using uninitialized value ""rv"".
  1282|       }
  1283|
  1284|->     return rv;
  1285|   }
  1286|
(cherry picked from commit b90bd3e5bbc136f53b24ee791824acd6b17e0d42)

Co-authored-by: Victor Stinner <vstinner@python.org>
17 months ago[3.13] gh-119666: fix multiple class-scope comprehensions referencing __class__ ...
Miss Islington (bot) [Mon, 10 Jun 2024 04:37:28 +0000 (06:37 +0200)] 
[3.13] gh-119666: fix multiple class-scope comprehensions referencing __class__ (GH-120295) (#120299)

17 months ago[3.13] bpo-37755: Use configured output in pydoc instead of pager (GH-15105) (GH...
Miss Islington (bot) [Sat, 8 Jun 2024 17:48:47 +0000 (19:48 +0200)] 
[3.13] bpo-37755: Use configured output in pydoc instead of pager (GH-15105) (GH-120261)

If the Helper() class was initialized with an output, the topics, keywords
and symbols help still use the pager instead of the output.
Change the behavior so  the output is used if available while keeping the
previous behavior if no output was configured.
(cherry picked from commit 2080425154d235b4b7dcc9a8a2f58e71769125ca)

Co-authored-by: Enrico Tröger <enrico.troeger@uvena.de>
17 months ago[3.13] gh-120276: Fix incorrect email.header.Header maxlinelen default (GH-120277...
Miss Islington (bot) [Sat, 8 Jun 2024 17:37:50 +0000 (19:37 +0200)] 
[3.13] gh-120276: Fix incorrect email.header.Header maxlinelen default (GH-120277) (GH-120279)

(cherry picked from commit 7c016deae62308dd1b4e2767fc6abf04857c7843)

Co-authored-by: Clinton <pygeek@users.noreply.github.com>
17 months ago[3.13] gh-120121: Add InvalidStateError to concurrent.futures.__all__ (GH-120123...
Miss Islington (bot) [Sat, 8 Jun 2024 16:35:10 +0000 (18:35 +0200)] 
[3.13] gh-120121: Add InvalidStateError to concurrent.futures.__all__ (GH-120123) (#120273)

gh-120121: Add InvalidStateError to concurrent.futures.__all__ (GH-120123)
(cherry picked from commit 5d59b870effa0f576acf7264cfcbfca2b36e34e3)

Co-authored-by: AN Long <aisk@users.noreply.github.com>
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
17 months ago[3.13] gh-120244: Fix re.sub() reference leak (GH-120245) (GH-120264)
Miss Islington (bot) [Sat, 8 Jun 2024 11:10:28 +0000 (13:10 +0200)] 
[3.13] gh-120244: Fix re.sub() reference leak (GH-120245) (GH-120264)

(cherry picked from commit 38a25e9560cf0ff0b80d9e90bce793ff24c6e027)

Co-authored-by: neonene <53406459+neonene@users.noreply.github.com>
17 months ago[3.13] gh-120242: Fix handling of `[setUp,tearDown]Class` in `test_datetime` (GH...
Miss Islington (bot) [Sat, 8 Jun 2024 08:13:53 +0000 (10:13 +0200)] 
[3.13] gh-120242: Fix handling of `[setUp,tearDown]Class` in `test_datetime` (GH-120243) (#120259)

gh-120242: Fix handling of `[setUp,tearDown]Class` in `test_datetime` (GH-120243)
(cherry picked from commit 95f4db88d5ab7d900f05d0418b2a2e77bf9ff126)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
17 months ago[3.13] gh-120225: fix crash in compiler on empty block at end of exception handler...
Miss Islington (bot) [Fri, 7 Jun 2024 22:01:20 +0000 (00:01 +0200)] 
[3.13] gh-120225: fix crash in compiler on empty block at end of exception handler (GH-120235) (#120249)

gh-120225: fix crash in compiler on empty block at end of exception handler (GH-120235)
(cherry picked from commit 4fc82b6d3b99f873179937215833e7a573ca7876)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
17 months ago[3.13] gh-120200: Fix `inspect.iscoroutinefunction(inspect) is True` corner case...
Miss Islington (bot) [Fri, 7 Jun 2024 16:26:30 +0000 (18:26 +0200)] 
[3.13] gh-120200: Fix `inspect.iscoroutinefunction(inspect) is True` corner case (GH-120214) (#120237)

gh-120200: Fix `inspect.iscoroutinefunction(inspect) is True` corner case (GH-120214)
(cherry picked from commit 10fb1b8f36ab2fc3d2fe7392d5735dd19c5e2365)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
17 months ago[3.13] gh-120155: Fix copy/paste error in HAVE_SUBOFFSETS_IN_LAST_DIM() (GH-120228...
Miss Islington (bot) [Fri, 7 Jun 2024 16:23:34 +0000 (18:23 +0200)] 
[3.13] gh-120155: Fix copy/paste error in HAVE_SUBOFFSETS_IN_LAST_DIM() (GH-120228) (#120238)

gh-120155: Fix copy/paste error in HAVE_SUBOFFSETS_IN_LAST_DIM() (GH-120228)

Don't hardcode 'dest' in HAVE_SUBOFFSETS_IN_LAST_DIM() macro of
memoryobject.c, but use its 'view' parameter instead.

Fix the Coverity issue:

Error: COPY_PASTE_ERROR (CWE-398):
Python-3.12.2/Objects/memoryobject.c:273:14: original: ""dest->suboffsets + (dest->ndim - 1)"" looks like the original copy.
Python-3.12.2/Objects/memoryobject.c:274:14: copy_paste_error: ""dest"" in ""src->suboffsets + (dest->ndim - 1)"" looks like a copy-paste error.
Python-3.12.2/Objects/memoryobject.c:274:14: remediation: Should it say ""src"" instead?
GH-  272|       assert(dest->ndim > 0 && src->ndim > 0);
GH-  273|       return (!HAVE_SUBOFFSETS_IN_LAST_DIM(dest) &&
GH-  274|->             !HAVE_SUBOFFSETS_IN_LAST_DIM(src) &&
GH-  275|               dest->strides[dest->ndim-1] == dest->itemsize &&
GH-  276|               src->strides[src->ndim-1] == src->itemsize);
(cherry picked from commit 90b75405260467814c93738a3325645918d4ea51)

Co-authored-by: Victor Stinner <vstinner@python.org>
17 months ago[3.13] gh-94808: Add test coverage for "starred kind" in _PyPegen_set_expr_context...
Miss Islington (bot) [Fri, 7 Jun 2024 16:11:20 +0000 (18:11 +0200)] 
[3.13] gh-94808: Add test coverage for "starred kind" in _PyPegen_set_expr_context (GH-119222) (GH-119263)

gh-94808: Add test coverage for "starred kind" in _PyPegen_set_expr_context (GH-119222)

Add test coverage for "starred kind" in _PyPegen_set_expr_context
(cherry picked from commit 8231a24454c854ea22590fd74733d29e4274122d)

Co-authored-by: Mark Jason Dominus (陶敏修) <mjd@pobox.com>
17 months ago[3.13] gh-120211: Fix tkinter.ttk with Tcl/Tk 9.0 (GH-120213) (GH-120215)
Miss Islington (bot) [Fri, 7 Jun 2024 15:00:30 +0000 (17:00 +0200)] 
[3.13] gh-120211: Fix tkinter.ttk with Tcl/Tk 9.0 (GH-120213) (GH-120215)

* Use new methods for tracing Tcl variable.
* Fix Combobox.current() for empty combobox.
(cherry picked from commit d68a22e7a68ae09f7db61d5a1a3bd9c0360cf3ee)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
17 months ago[3.13] gh-110383: Improve 'old string formatting' text in tutorial (GH-120219) (...
Miss Islington (bot) [Fri, 7 Jun 2024 13:53:35 +0000 (15:53 +0200)] 
[3.13] gh-110383: Improve 'old string formatting' text in tutorial (GH-120219) (#120229)

(cherry picked from commit 225aab7f70d804174cc3a75bc04a5bb1545e5adb)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
17 months ago[3.13] gh-112672: Fix builtin Tkinter with Tcl 9.0 (GH-112681) (GH-120208)
Miss Islington (bot) [Fri, 7 Jun 2024 10:12:31 +0000 (12:12 +0200)] 
[3.13] gh-112672: Fix builtin Tkinter with Tcl 9.0 (GH-112681) (GH-120208)

* Add declaration of Tcl_AppInit(), missing in Tcl 9.0.
* Use Tcl_Size instead of int where needed.

(cherry picked from commit e0799352823289fafb8131341abd751923ee9c08)

Co-authored-by: Christopher Chavez <chrischavez@gmx.us>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
17 months ago[3.13] gh-110383: Clarify "non-integral" wording in pow() docs (GH-119688) (#120206)
Miss Islington (bot) [Fri, 7 Jun 2024 10:03:06 +0000 (12:03 +0200)] 
[3.13] gh-110383: Clarify "non-integral" wording in pow() docs (GH-119688) (#120206)

(cherry picked from commit 6646a9da26d12fc54263b22dd2916a2f710f1db7)

Co-authored-by: Aditya Borikar <adityaborikar2@gmail.com>
17 months ago[3.13] gh-120164: Fix test_os.test_win32_mkdir_700() (GH-120177) (#120202)
Miss Islington (bot) [Fri, 7 Jun 2024 09:39:56 +0000 (11:39 +0200)] 
[3.13] gh-120164: Fix test_os.test_win32_mkdir_700() (GH-120177) (#120202)

gh-120164: Fix test_os.test_win32_mkdir_700() (GH-120177)

Don't compare the path to avoid encoding issues.

(cherry picked from commit d5ba4fc9bc9b2d9eff2a90893e8d500e0c367237)

Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
Co-authored-by: Eryk Sun <eryksun@gmail.com>
17 months ago[3.13] gh-120154: Fix Emscripten/WASI pattern in case statement for LDSHARED (GH...
Miss Islington (bot) [Fri, 7 Jun 2024 09:16:43 +0000 (11:16 +0200)] 
[3.13] gh-120154: Fix Emscripten/WASI pattern in case statement for LDSHARED (GH-120173) (#120199)

Fix Emscripten/WASI pattern in case statement for LDSHARED
(cherry picked from commit 47816f465e833a5257a82b759b1081e06381e528)

Co-authored-by: Michael Allwright <contact@allwright.io>
17 months ago[3.13] Add Plausible for docs metrics (GH-119977) (#120193)
Miss Islington (bot) [Fri, 7 Jun 2024 07:42:19 +0000 (09:42 +0200)] 
[3.13] Add Plausible for docs metrics (GH-119977) (#120193)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Julien Palard <julien@palard.fr>
17 months ago[3.13] gh-119577: Adjust DeprecationWarning when testing element truth values in...
Miss Islington (bot) [Fri, 7 Jun 2024 03:43:17 +0000 (05:43 +0200)] 
[3.13] gh-119577: Adjust DeprecationWarning when testing element truth values in ElementTree (GH-119762) (GH-120189)

gh-119577: Adjust DeprecationWarning when testing element truth values in ElementTree (GH-119762)

Adjust DeprecationWarning when testing element truth values in ElementTree, we're planning to go with the more natural True return rather than a disruptive harder to code around exception raise, and are deferring the behavior change for a few more releases.
(cherry picked from commit 6b606522ca97488aad6fe2f193d4511e7a8f8334)

Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
17 months ago[3.13] GH-119054: Add "Reading directories" section to pathlib docs (GH-119956) ...
Barney Gale [Fri, 7 Jun 2024 00:23:49 +0000 (01:23 +0100)] 
[3.13] GH-119054: Add "Reading directories" section to pathlib docs (GH-119956) (#120183)

Add a dedicated subsection for `Path.iterdir()`-related methods,
specifically `iterdir()`, `glob()`, `rglob()` and `walk()`.

(cherry picked from commit 14e1506a6d7056c38fbbc0797268dcf783f91243)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
17 months ago[3.13] gh-117657: Fix TSAN race involving import lock (GH-118523) (#120169)
Miss Islington (bot) [Thu, 6 Jun 2024 18:03:01 +0000 (20:03 +0200)] 
[3.13] gh-117657: Fix TSAN race involving import lock (GH-118523) (#120169)

This adds a `_PyRecursiveMutex` type based on `PyMutex` and uses that
for the import lock. This fixes some data races in the free-threaded
build and generally simplifies the import lock code.
(cherry picked from commit e21057b99967eb5323320e6d1121955e0cd2985e)

Co-authored-by: Sam Gross <colesbury@gmail.com>
17 months ago[3.13] Restore decimal context after decimal doctests (GH-120149) (GH-120167)
Miss Islington (bot) [Thu, 6 Jun 2024 17:36:46 +0000 (19:36 +0200)] 
[3.13] Restore decimal context after decimal doctests (GH-120149) (GH-120167)

The modified context caused tests failures in several other tests.
(cherry picked from commit 2d7ff6e0e7d4c08ba84079a5c19a4a485626e1de)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
17 months agogh-119679: Fix layout of PYD and DLL files on Windows when using PC/layout script...
Miss Islington (bot) [Thu, 6 Jun 2024 15:38:31 +0000 (17:38 +0200)] 
gh-119679: Fix layout of PYD and DLL files on Windows when using PC/layout script (GH-120133)

(cherry picked from commit cccc9f63c63ae693ccd0e2d8fc6cfd3aa18feb8e)

Co-authored-by: Steve Dower <steve.dower@python.org>
17 months ago[3.13] gh-120111: Don't use cirrus M1 macOS runners on fork (GH-120116) (GH-120152)
Miss Islington (bot) [Thu, 6 Jun 2024 12:26:23 +0000 (14:26 +0200)] 
[3.13] gh-120111: Don't use cirrus M1 macOS runners on fork (GH-120116) (GH-120152)

(cherry picked from commit fd104dfcb838d735ef8128e3539d7a730d403422)

Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
17 months agoMerge branch '3.13' of https://github.com/python/cpython into 3.13
Thomas Wouters [Wed, 5 Jun 2024 22:46:27 +0000 (00:46 +0200)] 
Merge branch '3.13' of https://github.com/python/cpython into 3.13

17 months agoPost 3.13.0b2
Thomas Wouters [Wed, 5 Jun 2024 22:44:36 +0000 (00:44 +0200)] 
Post 3.13.0b2

17 months ago[3.13] Withdraw most of my ownership in favor of Mark (#120126)
Guido van Rossum [Wed, 5 Jun 2024 18:04:48 +0000 (11:04 -0700)] 
[3.13] Withdraw most of my ownership in favor of Mark (#120126)

Backport of #119611.

17 months agoPython 3.13.0b2 v3.13.0b2
Thomas Wouters [Wed, 5 Jun 2024 14:43:18 +0000 (16:43 +0200)] 
Python 3.13.0b2

17 months ago[3.13] gh-120065: Increase `collect_in_thread` period to 5 ms. (GH-120068) (#120110)
Miss Islington (bot) [Wed, 5 Jun 2024 13:46:17 +0000 (15:46 +0200)] 
[3.13] gh-120065: Increase `collect_in_thread` period to 5 ms. (GH-120068) (#120110)

This matches the default GIL switch interval. It greatly speeds up the
free-threaded build: previously, it spent nearly all its time in
`gc.collect()`.
(cherry picked from commit 4bba1c9e6cfeaf69302b501a4306668613db4b28)

Co-authored-by: Sam Gross <colesbury@gmail.com>
17 months ago[3.13] gh-119287: clarify doc on BaseExceptionGroup.derive and link to it from contex...
Miss Islington (bot) [Wed, 5 Jun 2024 12:15:51 +0000 (14:15 +0200)] 
[3.13] gh-119287: clarify doc on BaseExceptionGroup.derive and link to it from contextlib.suppress (GH-119657) (#120105)

gh-119287: clarify doc on BaseExceptionGroup.derive and link to it from contextlib.suppress (GH-119657)
(cherry picked from commit 5c02ea8bae2287a828840f5734966da23dc573dc)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
17 months ago[3.13] gh-119819: Update logging configuration to support joinable multiproc… (GH...
Miss Islington (bot) [Wed, 5 Jun 2024 06:59:41 +0000 (08:59 +0200)] 
[3.13] gh-119819: Update logging configuration to support joinable multiproc… (GH-120090) (GH-120093)

(cherry picked from commit 983efcf15b2503fe0c05d5e03762385967962b33)

17 months ago[3.13] gh-120078: Fix struct_time attr typo tm_day -> tm_mday in Doc/library/time...
Miss Islington (bot) [Wed, 5 Jun 2024 00:39:54 +0000 (02:39 +0200)] 
[3.13] gh-120078: Fix struct_time attr typo tm_day -> tm_mday in Doc/library/time.rst (GH-120085)

(cherry picked from commit b6b0dcbfc054f581b6f78602e4c2e9474e3efe21)

Co-authored-by: shurj0 <60540027+shurj0@users.noreply.github.com>
17 months ago[3.13] gh-114616: Improve docs regarding changes to caches representation in dis...
Miss Islington (bot) [Tue, 4 Jun 2024 23:15:39 +0000 (01:15 +0200)] 
[3.13] gh-114616: Improve docs regarding changes to caches representation in dis (GH-120033) (#120079)

gh-114616: Improve docs regarding changes to caches representation in dis (GH-120033)
(cherry picked from commit 770f3c1eadd3392c72fd55be47770234dd143a14)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
17 months ago[3.13] gh-119553: Fix console when pressing Ctrl-C within a multiline block (GH-12007...
Miss Islington (bot) [Tue, 4 Jun 2024 21:44:33 +0000 (23:44 +0200)] 
[3.13] gh-119553: Fix console when pressing Ctrl-C within a multiline block (GH-120075) (#120076)

(cherry picked from commit 69b3e8ea569faabccd74036e3d0e5ec7c0c62a20)

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
17 months ago[3.13] gh-120048: Make `test_imaplib` faster (GH-120050) (#120069)
Miss Islington (bot) [Tue, 4 Jun 2024 20:18:33 +0000 (22:18 +0200)] 
[3.13] gh-120048: Make `test_imaplib` faster (GH-120050) (#120069)

The `test_imaplib` was taking 40+ minutes in the refleak build bots because
the tests waiting on a client `self._setup()` was creating a client that
prevented progress until its connection timed out, which scaled with the
global timeout.

We should set `connect=False` for the tests that don't want `_setup()` to
create a client.

(cherry picked from commit 710cbea6604d27c7d59ae4953bf522b997a82cc7)

Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
17 months ago[3.13] gh-119999: Fix potential race condition in `_Py_ExplicitMergeRefcount` (GH...
Miss Islington (bot) [Tue, 4 Jun 2024 19:57:18 +0000 (21:57 +0200)] 
[3.13] gh-119999: Fix potential race condition in `_Py_ExplicitMergeRefcount` (GH-120000) (#120073)

We need to write to `ob_ref_local` and `ob_tid` before `ob_ref_shared`.
Once we mark `ob_ref_shared` as merged, some other thread may free the
object because the caller also passes in `-1` as `extra` to give up its
only reference.
(cherry picked from commit 4055577221f5f52af329e87f31d81bb8fb02c504)

Co-authored-by: Sam Gross <colesbury@gmail.com>
17 months ago[3.13] gh-119819: Update test to skip if _multiprocessing is unavailable. (GH-120067...
Miss Islington (bot) [Tue, 4 Jun 2024 19:50:48 +0000 (21:50 +0200)] 
[3.13] gh-119819: Update test to skip if _multiprocessing is unavailable. (GH-120067) (GH-120072)

(cherry picked from commit 109e1082ea92f89d42cd70f2cc7ca6fba6be9bab)

17 months ago[3.13] gh-119842: Honor PyOS_InputHook in the new REPL (GH-119843) (GH-120066)
Łukasz Langa [Tue, 4 Jun 2024 19:26:10 +0000 (15:26 -0400)] 
[3.13] gh-119842: Honor PyOS_InputHook in the new REPL (GH-119843) (GH-120066)

(cherry picked from commit d9095194dde27eaabfc0b86a11989cdb9a2acfe1)

Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
Co-authored-by: Michael Droettboom <mdboom@gmail.com>
17 months ago[3.13] gh-119553: Clear reader on Ctrl-C command (GH-119801) (#120062)
Miss Islington (bot) [Tue, 4 Jun 2024 18:45:22 +0000 (20:45 +0200)] 
[3.13] gh-119553: Clear reader on Ctrl-C command (GH-119801) (#120062)

(cherry picked from commit 010ea93b2b888149561becefeee90826bf8a2934)

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
17 months ago[3.13] gh-120039: Reduce expected timeout in test_siginterrupt_off (GH-120047) (...
Miss Islington (bot) [Tue, 4 Jun 2024 18:11:01 +0000 (20:11 +0200)] 
[3.13] gh-120039: Reduce expected timeout in test_siginterrupt_off (GH-120047) (#120060)

The process is expected to time out. In the refleak builds,
`support.SHORT_TIMEOUT` is often five minutes and we run the tests six
times, so test_signal was taking >30 minutes.
(cherry picked from commit d419d468ff4aaf6bc673354d0ee41b273d09dd3f)

Co-authored-by: Sam Gross <colesbury@gmail.com>
17 months ago[3.13] gh-120041: Do not use append_to_screen when completions are visible (GH-120042...
Miss Islington (bot) [Tue, 4 Jun 2024 18:10:29 +0000 (20:10 +0200)] 
[3.13] gh-120041: Do not use append_to_screen when completions are visible (GH-120042) (#120051)

* gh-120041: Do not use append_to_screen when completions are visible (GH-120042)
(cherry picked from commit 8fc7653766b106bdbc4ff6154e0020aea4ab15e6)

* gh-120041: Refactor check for visible completion menu in completing_reader (GH-120055)
(cherry picked from commit bf8e5e53d0c359a1f9c285d855e7a5e9b6d91375)
---------

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
17 months ago[3.13] gh-89928: Fix integer conversion of device numbers (GH-31794) (GH-120053)
Miss Islington (bot) [Tue, 4 Jun 2024 17:19:13 +0000 (19:19 +0200)] 
[3.13] gh-89928: Fix integer conversion of device numbers (GH-31794) (GH-120053)

Fix os.major(), os.minor() and os.makedev().
Support device numbers larger than 2**63-1.
Support non-existent device number (NODEV).
(cherry picked from commit 7111d9605f9db7aa0b095bb8ece7ccc0b8115c3f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
17 months ago[3.13] Fix incorrect pull GitHub link in What's New (GH-120045) (#120052)
Miss Islington (bot) [Tue, 4 Jun 2024 17:06:14 +0000 (19:06 +0200)] 
[3.13] Fix incorrect pull GitHub link in What's New (GH-120045) (#120052)

Co-authored-by: Trey Hunner <trey@treyhunner.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
17 months ago[3.13] gh-119588: Update docs to reflect decision to include the change with Python...
Miss Islington (bot) [Tue, 4 Jun 2024 15:39:49 +0000 (17:39 +0200)] 
[3.13] gh-119588: Update docs to reflect decision to include the change with Python 3.13 and not 3.12. (GH-120043) (#120046)

gh-119588: Update docs to reflect decision to include the change with Python 3.13 and not 3.12. (GH-120043)
(cherry picked from commit 4dcd91ceafce91ec37bb1a9d544e41fc65578994)

Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
17 months ago[3.13] gh-119588: Implement zipfile.Path.is_symlink (zipp 3.19.0). (GH-119591) (...
Miss Islington (bot) [Tue, 4 Jun 2024 14:56:06 +0000 (16:56 +0200)] 
[3.13] gh-119588: Implement zipfile.Path.is_symlink (zipp 3.19.0). (GH-119591) (#119985)

gh-119588: Implement zipfile.Path.is_symlink (zipp 3.19.0). (GH-119591)
(cherry picked from commit 42a34ddb0b63e638905b01e17a7254623a0de427)

Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
17 months ago[3.13] gh-106531: Apply changes from importlib_resources 6.3.2 (GH-117054) (#120014)
Miss Islington (bot) [Tue, 4 Jun 2024 14:54:59 +0000 (16:54 +0200)] 
[3.13] gh-106531: Apply changes from importlib_resources 6.3.2 (GH-117054) (#120014)

gh-106531: Apply changes from importlib_resources 6.3.2 (GH-117054)

Apply changes from importlib_resources 6.3.2.
(cherry picked from commit 8d63c8d47b9edd8ac2f0b395b2fa0ae5f571252d)

Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
17 months ago[3.13] gh-117657: Fix race involving GC and heap initialization (GH-119923) (#120038)
Miss Islington (bot) [Tue, 4 Jun 2024 14:08:10 +0000 (16:08 +0200)] 
[3.13] gh-117657: Fix race involving GC and heap initialization (GH-119923) (#120038)

The `_PyThreadState_Bind()` function is called before the first
`PyEval_AcquireThread()` so it's not synchronized with the stop the
world GC. We had a race where `gc_visit_heaps()` might visit a thread's
heap while it's being initialized.

Use a simple atomic int to avoid visiting heaps for threads that are not
yet fully initialized (i.e., before `tstate_mimalloc_bind()` is called).

The race was reproducible by running:
`python Lib/test/test_importlib/partial/pool_in_threads.py`.
(cherry picked from commit e69d068ad0bd6a25434ea476a647b635da4d82bb)

Co-authored-by: Sam Gross <colesbury@gmail.com>
17 months ago[3.13] gh-119819: Fix regression to allow logging configuration with multipr… (GH...
Miss Islington (bot) [Tue, 4 Jun 2024 12:46:41 +0000 (14:46 +0200)] 
[3.13] gh-119819: Fix regression to allow logging configuration with multipr… (GH-120030) (GH-120035)

(cherry picked from commit 99d945c0c006e3246ac00338e37c443c6e08fc5c)

17 months ago[3.13] gh-118868: logging QueueHandler fix passing of kwargs (GH-118869) (GH-120032)
Miss Islington (bot) [Tue, 4 Jun 2024 12:18:11 +0000 (14:18 +0200)] 
[3.13] gh-118868: logging QueueHandler fix passing of kwargs (GH-118869) (GH-120032)

(cherry picked from commit dce14bb2dce7887df40ae5c13b0d13e0dafceff7)

17 months ago[3.13] gh-119070: Update test_shebang_executable_extension to always use non-installe...
Miss Islington (bot) [Tue, 4 Jun 2024 11:24:10 +0000 (13:24 +0200)] 
[3.13] gh-119070: Update test_shebang_executable_extension to always use non-installed version (GH-119846) (#GH-120015)

gh-119070: Update test_shebang_executable_extension to always use non-installed version (GH-119846)
(cherry picked from commit 5c48eb0cc6c3e84aafda0a734a05ecec14fc0ccf)

Co-authored-by: Steve Dower <steve.dower@python.org>
17 months ago[3.13] gh-111499: Fix PYTHONMALLOCSTATS at Python exit (GH-120021) (#120022)
Miss Islington (bot) [Tue, 4 Jun 2024 10:02:12 +0000 (12:02 +0200)] 
[3.13] gh-111499: Fix PYTHONMALLOCSTATS at Python exit (GH-120021) (#120022)

gh-111499: Fix PYTHONMALLOCSTATS at Python exit (GH-120021)

Call _PyObject_DebugMallocStats() earlier in Py_FinalizeEx(), before
the interpreter is deleted.
(cherry picked from commit 5a1205b641df133932ed4c65b9a4ff5724e89963)

Co-authored-by: Victor Stinner <vstinner@python.org>
17 months ago[3.13] gh-111389: Add PyHASH_MULTIPLIER constant (GH-119214) (#119334)
Miss Islington (bot) [Tue, 4 Jun 2024 07:26:25 +0000 (09:26 +0200)] 
[3.13] gh-111389: Add PyHASH_MULTIPLIER constant (GH-119214) (#119334)

gh-111389: Add PyHASH_MULTIPLIER constant (GH-119214)
(cherry picked from commit f6da790122fdae1a28f444edfbb55202d6829cd1)

Co-authored-by: Victor Stinner <vstinner@python.org>
17 months ago[3.13] gh-119724: Revert "bpo-45759: Better error messages for non-matching 'elif...
T. Wouters [Tue, 4 Jun 2024 06:36:16 +0000 (23:36 -0700)] 
[3.13] gh-119724: Revert "bpo-45759: Better error messages for non-matching 'elif'/'else' statements (GH-29513)" (GH-119974) (GH-120013)

This reverts commit 1c8f912ebdfdb146cd7dd2d7a3a67d2c5045ddb0.
(cherry picked from commit 31a4fb3c74a0284436343858803b54471e2dc9c7)

17 months ago[3.13] gh-117398: Use Per-Interpreter State for the _datetime Static Types (gh-120009)
Miss Islington (bot) [Mon, 3 Jun 2024 23:37:28 +0000 (01:37 +0200)] 
[3.13] gh-117398: Use Per-Interpreter State for the _datetime Static Types (gh-120009)

We make use of the same mechanism that we use for the static builtin types.  This required a few tweaks.

This change is the final piece needed to make _datetime support multiple interpreters.  I've updated the module slot accordingly.

(cherry picked from commit 105f22ea46ac16866e6df18ebae2a8ba422b7f45, AKA gh-119929)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
17 months ago[3.13] gh-117142: Support Importing ctypes in Isolated Interpreters (gh-120008)
Miss Islington (bot) [Mon, 3 Jun 2024 23:06:56 +0000 (01:06 +0200)] 
[3.13] gh-117142: Support Importing ctypes in Isolated Interpreters (gh-120008)

This makes the support official.

(cherry picked from commit dba7a167dbbd50e83e58df351f3414b7a08e0188, AKA gh-119991)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
17 months ago[3.13] gh-117398: Add datetime Module State (gh-120004)
Miss Islington (bot) [Mon, 3 Jun 2024 23:05:04 +0000 (01:05 +0200)] 
[3.13] gh-117398: Add datetime Module State (gh-120004)

I was able to make use of the existing datetime_state struct, but there was one tricky thing I had to sort out.  We mostly aren't converting to heap types, so we can't use things like PyType_GetModuleByDef() to look up the module state.  The solution I came up with is somewhat novel, but I consider it straightforward.  Also, it shouldn't have much impact on performance.

In summary, this main changes here are:

* I've added some macros to help hide how various objects relate to module state
* as a solution to the module state lookup problem, I've stored the last loaded module on the current interpreter's internal dict (actually a weakref)
* if the static type method is used after the module has been deleted, it is reloaded
* to avoid extra work when loading the module, we directly copy the objects (new refs only) from the old module state into the new state if the old module hasn't been deleted yet
* during module init we set various objects on the static types' __dict__s; to simplify things, we only do that the first time; once those static types have a separate __dict__ per interpreter, we'll do it every time
* we now clear the module state when the module is destroyed (before, we were leaking everything in _datetime_global_state)

(cherry picked from commit d82a7ba041321e7b58a5a9bbc394670be6ceeb7c, AKA gh-119810)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
17 months ago[3.13] gh-117657: Fix itertools.count thread safety (GH-119268) (#120007)
Sam Gross [Mon, 3 Jun 2024 22:47:34 +0000 (18:47 -0400)] 
[3.13] gh-117657: Fix itertools.count thread safety (GH-119268) (#120007)

Fix itertools.count in free-threading mode
(cherry picked from commit 87939bd5790accea77c5a81093f16f28d3f0b429)

Co-authored-by: Arnon Yaari <wiggin15@yahoo.com>
17 months ago[3.13] gh-117657: Fix race involving immortalizing objects (GH-119927) (#120005)
Sam Gross [Mon, 3 Jun 2024 22:21:32 +0000 (18:21 -0400)] 
[3.13] gh-117657: Fix race involving immortalizing objects (GH-119927) (#120005)

The free-threaded build currently immortalizes objects that use deferred
reference counting (see gh-117783). This typically happens once the
first non-main thread is created, but the behavior can be suppressed for
tests, in subinterpreters, or during a compile() call.

This fixes a race condition involving the tracking of whether the
behavior is suppressed.

(cherry picked from commit 47fb4327b5c405da6df066dcaa01b7c1aefab313)

17 months ago[3.13] gh-117657: Avoid `sem_clockwait` in TSAN (GH-119915) (#119992)
Miss Islington (bot) [Mon, 3 Jun 2024 18:07:22 +0000 (20:07 +0200)] 
[3.13] gh-117657: Avoid `sem_clockwait` in TSAN (GH-119915) (#119992)

The `sem_clockwait` function is not currently instrumented, which leads
to false positives.
(cherry picked from commit 41c1cefbae71d687d1a935233b086473df65e15c)

Co-authored-by: Sam Gross <colesbury@gmail.com>
17 months ago[3.13] gh-118835: pyrepl: Fix prompt length computation for custom prompts containing...
Miss Islington (bot) [Mon, 3 Jun 2024 17:31:26 +0000 (19:31 +0200)] 
[3.13] gh-118835: pyrepl: Fix prompt length computation for custom prompts containing ANSI escape codes (GH-119942) (#119990)

gh-118835: pyrepl: Fix prompt length computation for custom prompts containing ANSI escape codes (GH-119942)
(cherry picked from commit 2e0aa731aebb8ef3d89ada82f5d39b1bbac65d1f)

Co-authored-by: Daniel Hollas <daniel.hollas@bristol.ac.uk>
17 months ago[3.13] Use Cirrus M1 macOS runners for CI (GH-119979) (GH-119986)
Miss Islington (bot) [Mon, 3 Jun 2024 16:15:37 +0000 (18:15 +0200)] 
[3.13] Use Cirrus M1 macOS runners for CI (GH-119979) (GH-119986)

(cherry picked from commit 6acb32fac3511c1d5500cac66f1d6397dcdab835)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Ee Durbin <ee@python.org>
17 months agogh-119679: Ensures correct import libraries are included in Windows install packages...
Miss Islington (bot) [Mon, 3 Jun 2024 15:06:53 +0000 (17:06 +0200)] 
gh-119679: Ensures correct import libraries are included in Windows install packages (GH-119790)

(cherry picked from commit fd01271366abefa8f991e53f090387882fbd6bdd)

Co-authored-by: Steve Dower <steve.dower@python.org>