]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
16 months agogh-120633: Move scrollbar and remove tear-off menus in turtledemo (#120634)
Wulian233 [Wed, 19 Jun 2024 06:20:54 +0000 (14:20 +0800)] 
gh-120633: Move scrollbar and remove tear-off menus in turtledemo (#120634)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
16 months agoGH-119726: Deduplicate JIT trampolines for out-of-range jumps (GH-120250)
Diego Russo [Wed, 19 Jun 2024 01:27:02 +0000 (02:27 +0100)] 
GH-119726: Deduplicate JIT trampolines for out-of-range jumps (GH-120250)

16 months agoIgnore some failing tests in emulated JIT CI (GH-120375)
Diego Russo [Wed, 19 Jun 2024 01:24:29 +0000 (02:24 +0100)] 
Ignore some failing tests in emulated JIT CI (GH-120375)

16 months agoGH-73991: Add follow_symlinks argument to `pathlib.Path.copy()` (#120519)
Barney Gale [Wed, 19 Jun 2024 00:59:54 +0000 (01:59 +0100)] 
GH-73991: Add follow_symlinks argument to `pathlib.Path.copy()` (#120519)

Add support for not following symlinks in `pathlib.Path.copy()`.

On Windows we add the `COPY_FILE_COPY_SYMLINK` flag is following symlinks is disabled. If the source is symlink to a directory, this call will fail with `ERROR_ACCESS_DENIED`. In this case we add `COPY_FILE_DIRECTORY` to the flags and retry. This can fail on old Windowses, which we note in the docs.

No news as `copy()` was only just added.

16 months agoGH-73991: pathlib ABC tests: add `DummyPath.unlink()` and `rmdir()` (#120715)
Barney Gale [Tue, 18 Jun 2024 22:13:45 +0000 (23:13 +0100)] 
GH-73991: pathlib ABC tests: add `DummyPath.unlink()` and `rmdir()` (#120715)

In preparation for the addition of `PathBase.rmtree()`, implement
`DummyPath.unlink()` and `rmdir()`, and move corresponding tests into
`test_pathlib_abc` so they're run against `DummyPath`.

16 months agogh-120367: fix bug where compiler detects redundant jump after pseudo op replacement...
Irit Katriel [Tue, 18 Jun 2024 22:09:23 +0000 (23:09 +0100)] 
gh-120367: fix bug where compiler detects redundant jump after pseudo op replacement (#120714)

16 months agoGH-73991: Use same signature for `shutil._rmtree_[un]safe()`. (#120517)
Barney Gale [Tue, 18 Jun 2024 21:15:18 +0000 (22:15 +0100)] 
GH-73991: Use same signature for `shutil._rmtree_[un]safe()`. (#120517)

Preparatory work for moving `_rmtree_unsafe()` and `_rmtree_safe_fd()` to
`pathlib._os` so that they can be used from both `shutil` and `pathlib`.

Move implementation-specific setup from `rmtree()` into the safe/unsafe
functions, and give them the same signature `(path, dir_fd, onexc)`.

In the tests, mock `os.open` rather than `_rmtree_safe_fd()` to ensure the
FD-based walk is used, and replace a couple references to
`shutil._use_fd_functions` with `shutil.rmtree.avoids_symlink_attacks`
(which has the same value).

No change of behaviour.

16 months agogh-120688: Build WASI with -O3 in debug mode (#120691)
Victor Stinner [Tue, 18 Jun 2024 17:35:44 +0000 (19:35 +0200)] 
gh-120688: Build WASI with -O3 in debug mode (#120691)

On WASI in debug mode, Python is now built with compiler flag -O3
instead of -Og, to support more recursive calls.

16 months agogh-119574: Add some missing environment variables to '--help-env'. (GH-120006)
devdanzin [Tue, 18 Jun 2024 17:12:58 +0000 (14:12 -0300)] 
gh-119574: Add some missing environment variables to '--help-env'. (GH-120006)

16 months agogh-120417: Add #noqa: F401 to tests (#120627)
Victor Stinner [Tue, 18 Jun 2024 15:51:47 +0000 (17:51 +0200)] 
gh-120417: Add #noqa: F401 to tests (#120627)

Ignore linter "imported but unused" warnings in tests when the linter
doesn't understand how the import is used.

16 months agogh-120496: Add a note about iterator thread-safe (gh-120685)
Donghee Na [Tue, 18 Jun 2024 15:37:34 +0000 (00:37 +0900)] 
gh-120496: Add a note about iterator thread-safe (gh-120685)

16 months agogh-117953: Skip `test_interpreters` properly without GIL (#120689)
Nice Zombies [Tue, 18 Jun 2024 15:22:24 +0000 (17:22 +0200)] 
gh-117953: Skip `test_interpreters` properly without GIL (#120689)

16 months agogh-120417: Use import_helper() in test_regrtest (#120680)
Victor Stinner [Tue, 18 Jun 2024 15:15:04 +0000 (17:15 +0200)] 
gh-120417: Use import_helper() in test_regrtest (#120680)

16 months agogh-120449: fix ``test_pyclbr`` introspection for mangled names (GH-120450)
Bénédikt Tran [Tue, 18 Jun 2024 14:29:43 +0000 (16:29 +0200)] 
gh-120449: fix ``test_pyclbr`` introspection for mangled names (GH-120450)

16 months agogh-120600: Make Py_TYPE() opaque in limited C API 3.14 (#120601)
Victor Stinner [Tue, 18 Jun 2024 14:28:48 +0000 (16:28 +0200)] 
gh-120600: Make Py_TYPE() opaque in limited C API 3.14 (#120601)

In the limited C API 3.14 and newer, Py_TYPE() is now implemented as
an opaque function call to hide implementation details.

16 months agogh-118789: Add `PyUnstable_Object_ClearWeakRefsNoCallbacks` (#118807)
Sam Gross [Tue, 18 Jun 2024 13:57:23 +0000 (09:57 -0400)] 
gh-118789: Add `PyUnstable_Object_ClearWeakRefsNoCallbacks` (#118807)

This exposes `PyUnstable_Object_ClearWeakRefsNoCallbacks` as an unstable
C-API function to provide a thread-safe mechanism for clearing weakrefs
without executing callbacks.

Some C-API extensions need to clear weakrefs without calling callbacks,
such as after running finalizers like we do in subtype_dealloc.
Previously they could use `_PyWeakref_ClearRef` on each weakref, but
that's not thread-safe in the free-threaded build.

Co-authored-by: Petr Viktorin <encukou@gmail.com>
16 months agogh-120659: Skip `test_freethreading` with GIL (#120660)
Nice Zombies [Tue, 18 Jun 2024 13:56:20 +0000 (15:56 +0200)] 
gh-120659: Skip `test_freethreading` with GIL (#120660)

16 months agogh-120417: Move imports to doctests in test_doctest (#120679)
Victor Stinner [Tue, 18 Jun 2024 13:54:53 +0000 (15:54 +0200)] 
gh-120417: Move imports to doctests in test_doctest (#120679)

16 months agogh-119241: Add HOWTO for free-threaded C API extensions (#119877)
Sam Gross [Tue, 18 Jun 2024 13:49:51 +0000 (09:49 -0400)] 
gh-119241: Add HOWTO for free-threaded C API extensions (#119877)

Some sections adapted from https://github.com/Quansight-Labs/free-threaded-compatibility/
written by Nathan Goldbaum.

Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>
16 months agogh-120381: Fix inspect.ismethoddescriptor() (#120383)
Jan Kaliszewski [Tue, 18 Jun 2024 12:19:43 +0000 (14:19 +0200)] 
gh-120381: Fix inspect.ismethoddescriptor() (#120383)

The `inspect.ismethoddescriptor()` function did not check for the lack of
`__delete__()` and, consequently, erroneously returned True when applied
to *data* descriptors with only `__get__()` and `__delete__()` defined.

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
16 months agogh-120674: Protect multi-line macros in _testbuffer.c and _testcapimodule.c (#120675)
Bénédikt Tran [Tue, 18 Jun 2024 12:04:52 +0000 (14:04 +0200)] 
gh-120674: Protect multi-line macros in _testbuffer.c and _testcapimodule.c (#120675)

Add do { ... } while (0) pattern.

16 months agogh-120662: Improve `smtplib` example (#120668)
Bénédikt Tran [Tue, 18 Jun 2024 11:56:58 +0000 (13:56 +0200)] 
gh-120662: Improve `smtplib` example (#120668)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
16 months agoNo longer watch the queue module, remove rhettinger (#120664)
Raymond Hettinger [Tue, 18 Jun 2024 11:47:32 +0000 (06:47 -0500)] 
No longer watch the queue module, remove rhettinger (#120664)

16 months agoGH-120507: Lower the `BEFORE_WITH` and `BEFORE_ASYNC_WITH` instructions. (#120640)
Mark Shannon [Tue, 18 Jun 2024 11:17:46 +0000 (12:17 +0100)] 
GH-120507: Lower the `BEFORE_WITH` and `BEFORE_ASYNC_WITH` instructions. (#120640)

* Remove BEFORE_WITH and BEFORE_ASYNC_WITH instructions.

* Add LOAD_SPECIAL instruction

* Reimplement `with` and `async with` statements using LOAD_SPECIAL

16 months agogh-119897: Add test for lambda generator invocation (#120658)
Irit Katriel [Tue, 18 Jun 2024 09:45:23 +0000 (10:45 +0100)] 
gh-119897: Add test for lambda generator invocation (#120658)

gh-120467: Add test for lambda generator invocation

16 months agogh-120590: Fix test_pydoc in the refleak hunting mode (GH-120615)
Serhiy Storchaka [Tue, 18 Jun 2024 09:19:32 +0000 (12:19 +0300)] 
gh-120590: Fix test_pydoc in the refleak hunting mode (GH-120615)

Mocking only works if sys.modules['pydoc'] and pydoc are the same,
but some pydoc functions reload the module and change sys.modules.
Ensure that sys.modules['pydoc'] is always restored after the corresponding
tests.

16 months agogh-120560: Mark `zip64` tests in `test_zipimport` as CPU-heavy (GH-120564)
Nice Zombies [Mon, 17 Jun 2024 22:18:51 +0000 (00:18 +0200)] 
gh-120560: Mark `zip64` tests in `test_zipimport` as CPU-heavy (GH-120564)

16 months agogh-120417: Remove unused imports in cases_generator (#120622)
Victor Stinner [Mon, 17 Jun 2024 19:58:56 +0000 (21:58 +0200)] 
gh-120417: Remove unused imports in cases_generator (#120622)

16 months agogh-120524: Avoid a Race On _PyRuntime.types.managed_static.types[i].interp_count...
Eric Snow [Mon, 17 Jun 2024 19:16:00 +0000 (15:16 -0400)] 
gh-120524: Avoid a Race On _PyRuntime.types.managed_static.types[i].interp_count (gh-120529)

gh-120182 added new global state (interp_count), but didn't add thread-safety for it.  This change eliminates the possible race.

16 months agogh-120417: Modify test_bdb to use the import (#120628)
Victor Stinner [Mon, 17 Jun 2024 19:06:18 +0000 (21:06 +0200)] 
gh-120417: Modify test_bdb to use the import (#120628)

Run test_module_for_bdb with a specific namespace.

16 months agogh-120417: Remove unused imports in tests (part 1) (#120629)
Victor Stinner [Mon, 17 Jun 2024 19:05:56 +0000 (21:05 +0200)] 
gh-120417: Remove unused imports in tests (part 1) (#120629)

16 months agogh-120417: Remove unused imports in tests (part 2) (#120630)
Victor Stinner [Mon, 17 Jun 2024 19:05:37 +0000 (21:05 +0200)] 
gh-120417: Remove unused imports in tests (part 2) (#120630)

16 months agogh-120417: Remove unused imports in tests (part 3) (#120631)
Victor Stinner [Mon, 17 Jun 2024 19:04:58 +0000 (21:04 +0200)] 
gh-120417: Remove unused imports in tests (part 3) (#120631)

16 months agogh-117657: Fix `__slots__` thread safety in free-threaded build (#119368)
Daniele Parmeggiani [Mon, 17 Jun 2024 18:44:54 +0000 (14:44 -0400)] 
gh-117657:  Fix `__slots__` thread safety in free-threaded build (#119368)

Fix a race in `PyMember_GetOne` and `PyMember_SetOne` for `Py_T_OBJECT_EX`.
These functions implement `__slots__` accesses for Python objects.

16 months agogh-117657: Fix TSan reported data race on ioctl_works (#120175)
Sam Gross [Mon, 17 Jun 2024 17:23:40 +0000 (13:23 -0400)] 
gh-117657: Fix TSan reported data race on ioctl_works (#120175)

16 months agogh-120417: Remove unused imports in Tools (#120623)
Victor Stinner [Mon, 17 Jun 2024 16:09:26 +0000 (18:09 +0200)] 
gh-120417: Remove unused imports in Tools (#120623)

16 months agogh-120507: Double WASI memory (#120648)
Victor Stinner [Mon, 17 Jun 2024 16:08:05 +0000 (18:08 +0200)] 
gh-120507: Double WASI memory (#120648)

Use 16 MiB stack with 40 MiB memory limit, instead of 8 MiB stack
with 20 MiB memory limit.

16 months agofix enum doc typo (#120091)
Saul Pwanson [Mon, 17 Jun 2024 16:01:15 +0000 (09:01 -0700)] 
fix enum doc typo (#120091)

16 months agogh-115649: Copy the filename into main interpreter before intern in import.c (#120315)
AN Long [Mon, 17 Jun 2024 15:57:22 +0000 (23:57 +0800)] 
gh-115649: Copy the filename into main interpreter before intern in import.c (#120315)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
16 months agogh-120433: Mention ``chocolatey`` for installing llvm on Windows as an alternative...
Kirill Podoprigora [Mon, 17 Jun 2024 15:52:07 +0000 (18:52 +0300)] 
gh-120433: Mention ``chocolatey`` for installing llvm on Windows as an alternative option (#120434)

16 months agogh-120417: Remove unused imports in tests (part 4) (#120632)
Victor Stinner [Mon, 17 Jun 2024 15:35:20 +0000 (17:35 +0200)] 
gh-120417: Remove unused imports in tests (part 4) (#120632)

16 months ago gh-119182: Add PyUnicodeWriter C API (#119184)
Victor Stinner [Mon, 17 Jun 2024 15:10:52 +0000 (17:10 +0200)] 
 gh-119182: Add PyUnicodeWriter C API (#119184)

16 months agogh-114091: Reword error message for unawaitable types (#114090)
Steele Farnsworth [Mon, 17 Jun 2024 14:48:17 +0000 (10:48 -0400)] 
gh-114091: Reword error message for unawaitable types (#114090)

Reword error message for unawaitable types.

16 months agoUpdate the documentation howto index page and group docs into 3 logical sections...
Carol Willing [Mon, 17 Jun 2024 14:37:33 +0000 (07:37 -0700)] 
Update the documentation howto index page and group docs into 3 logical sections (GH-119366)

Co-authored-by: Ned Batchelder <ned@nedbatchelder.com>
16 months agogh-119933: Improve ``SyntaxError`` message for invalid type parameters expressions...
Bénédikt Tran [Mon, 17 Jun 2024 13:51:03 +0000 (15:51 +0200)] 
gh-119933: Improve ``SyntaxError`` message for invalid type parameters expressions (#119976)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
16 months agoGH-120619: Clean up `RETURN_VALUE` instruction (GH-120624)
Mark Shannon [Mon, 17 Jun 2024 13:40:11 +0000 (14:40 +0100)] 
GH-120619: Clean up `RETURN_VALUE` instruction (GH-120624)

* Rename _POP_FRAME to _RETURN_VALUE as it returns a value as well as popping a frame.

* Remove remaining _POP_FRAMEs

16 months agoitertools doc: examples for groupby() and tee() (#120618)
Frank Dana [Mon, 17 Jun 2024 13:19:14 +0000 (09:19 -0400)] 
itertools doc: examples for groupby() and tee() (#120618)

16 months agogh-120196: Reuse find_max_char() for bytes objects (#120497)
Ruben Vorderman [Mon, 17 Jun 2024 10:21:58 +0000 (12:21 +0200)] 
gh-120196: Reuse find_max_char() for bytes objects (#120497)

16 months agogh-120367: fix removal of redundant NOPs and jumps after reordering hot-cold blocks...
Irit Katriel [Mon, 17 Jun 2024 10:10:06 +0000 (11:10 +0100)] 
gh-120367: fix removal of redundant NOPs and jumps after reordering hot-cold blocks (#120425)

16 months agogh-83754: Use the Py_TYPE() macro (#120599)
Victor Stinner [Mon, 17 Jun 2024 08:34:29 +0000 (10:34 +0200)] 
gh-83754: Use the Py_TYPE() macro (#120599)

Don't access directly PyObject.ob_type, but use the Py_TYPE() macro
instead.

16 months agogh-120586: Fix several "unused function" warnings in `posixmodule.c` (#120588)
Nikita Sobolev [Mon, 17 Jun 2024 06:44:13 +0000 (09:44 +0300)] 
gh-120586: Fix several "unused function" warnings in `posixmodule.c` (#120588)

16 months agogh-112346: Document the OS byte in `gzip.compress` output change in 3.11 (#120480)
Gregory P. Smith [Mon, 17 Jun 2024 05:47:10 +0000 (22:47 -0700)] 
gh-112346: Document the OS byte in `gzip.compress` output change in 3.11 (#120480)

gh-112346: Describe the "os" byte in gzip output change.

16 months agogh-120567: Clarify weekday return in calendar.monthrange docstring (#120570)
Terry Jan Reedy [Sun, 16 Jun 2024 20:43:57 +0000 (16:43 -0400)] 
gh-120567: Clarify weekday return in calendar.monthrange docstring (#120570)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
16 months agogh-118596: Add thread-safety clarifications to the SSLContext documentation (#118597)
mm-matthias [Sun, 16 Jun 2024 20:27:44 +0000 (22:27 +0200)] 
gh-118596: Add thread-safety clarifications to the SSLContext documentation (#118597)

Add thread-safety clarifications to the SSLContext documentation. Per the issue:

This issue has also come up [here](https://github.com/psf/requests/pull/6667) where the matter was clarified by @tiran in [this comment](https://github.com/psf/requests/pull/6667):
> `SSLContext` is designed to be shared and used for multiple connections. It is thread safe as long as you don't reconfigure it once it is used by a connection. Adding new certs to the internal trust store is fine, but changing ciphers, verification settings, or mTLS certs can lead to surprising behavior. The problem is unrelated to threads and can even occur in a single-threaded program.

16 months agogh-120568: fix file leak in PyUnstable_CopyPerfMapFile (#120569)
Carson Radtke [Sun, 16 Jun 2024 17:51:52 +0000 (12:51 -0500)] 
gh-120568: fix file leak in PyUnstable_CopyPerfMapFile (#120569)

16 months agogh-120584: Fix "unused thread_critical_sections" warning in `test_critical_sections...
Nikita Sobolev [Sun, 16 Jun 2024 17:13:56 +0000 (20:13 +0300)] 
gh-120584: Fix "unused thread_critical_sections" warning in `test_critical_sections` (#120585)

16 months agoDocs: remove temporary hardcoded links (#120348)
Hugo van Kemenade [Sun, 16 Jun 2024 12:51:17 +0000 (06:51 -0600)] 
Docs: remove temporary hardcoded links (#120348)

16 months agogh-120485: Add an override of `allow_reuse_port` on classes subclassing `socketserver...
Idan Kapustian [Sun, 16 Jun 2024 12:15:03 +0000 (15:15 +0300)] 
gh-120485: Add an override of `allow_reuse_port` on classes subclassing `socketserver.TCPServer` (GH-120488)

Co-authored-by: Vinay Sajip <vinay_sajip@yahoo.co.uk>
16 months agogh-120579: Guard `_testcapi` import in `test_free_threading` (#120580)
Nikita Sobolev [Sun, 16 Jun 2024 08:26:13 +0000 (11:26 +0300)] 
gh-120579: Guard `_testcapi` import in `test_free_threading` (#120580)

16 months agogh-120360: Add self as IDLE doc owner (#120571)
Terry Jan Reedy [Sun, 16 Jun 2024 05:55:47 +0000 (01:55 -0400)] 
gh-120360: Add self as IDLE doc owner (#120571)

Add self as IDLE doc owner

16 months agogh-120572: add missing parentheses in TypeIs documentation (#120573)
Nyuan Zhang [Sun, 16 Jun 2024 05:36:10 +0000 (13:36 +0800)] 
gh-120572: add missing parentheses in TypeIs documentation (#120573)

16 months agogh-112346: Always set OS byte to 255, simpler gzip.compress function. (GH-120486)
Ruben Vorderman [Sat, 15 Jun 2024 18:46:39 +0000 (20:46 +0200)] 
gh-112346: Always set OS byte to 255, simpler gzip.compress function. (GH-120486)

This matches the output behavior in 3.10 and earlier; the optimization in 3.11 allowed the zlib library's "os" value to be filled in instead in the circumstance when mtime was 0.  this keeps things consistent.

16 months agogh-120541: Improve the "less" prompt in pydoc (GH-120543)
Serhiy Storchaka [Sat, 15 Jun 2024 17:56:40 +0000 (20:56 +0300)] 
gh-120541: Improve the "less" prompt in pydoc (GH-120543)

When help() is called with non-string argument, use __qualname__ or
__name__ if available, otherwise use "{typename} object".

16 months agoannotations: expand documentation on "simple" assignment targets (#120535)
Jelle Zijlstra [Sat, 15 Jun 2024 15:18:16 +0000 (08:18 -0700)] 
annotations: expand documentation on "simple" assignment targets (#120535)

This behavior is rather surprising and it was not clearly specified.

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
16 months agogh-117657: Make PyType_HasFeature (exported version) atomic (#120484)
Ken Jin [Sat, 15 Jun 2024 14:39:22 +0000 (22:39 +0800)] 
gh-117657: Make PyType_HasFeature (exported version) atomic (#120484)

Make PyType_HasFeature (exported version) atomic

16 months agoAdd some more edge-case tests for `inspect.get_annotations` with `eval_str=True`...
Alex Waygood [Sat, 15 Jun 2024 12:51:58 +0000 (13:51 +0100)] 
Add some more edge-case tests for `inspect.get_annotations` with `eval_str=True` (#120550)

16 months agogh-120495: Fix incorrect exception handling in Tab Nanny (#120498)
Wulian233 [Sat, 15 Jun 2024 11:04:14 +0000 (19:04 +0800)] 
gh-120495: Fix incorrect exception handling in Tab Nanny (#120498)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
16 months agogh-120544: Add `else: fail()` to tests where exception is expected (#120545)
Nikita Sobolev [Sat, 15 Jun 2024 10:33:14 +0000 (13:33 +0300)] 
gh-120544: Add `else: fail()` to tests where exception is expected (#120545)

16 months agogh-120526: Correct signature of map() builtin (GH-120528)
Adam Williamson [Sat, 15 Jun 2024 05:33:09 +0000 (22:33 -0700)] 
gh-120526: Correct signature of map() builtin (GH-120528)

map() requires at least one iterable arg.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
16 months agogh-117398: Use the correct module loader for iOS in datetime CAPI test. (#120477)
Russell Keith-Magee [Sat, 15 Jun 2024 00:05:30 +0000 (08:05 +0800)] 
gh-117398: Use the correct module loader for iOS in datetime CAPI test. (#120477)

Use the correct loader for iOS.

16 months agogh-119819: Conditional skip of logging tests that require multiprocessing subprocess...
Russell Keith-Magee [Sat, 15 Jun 2024 00:05:18 +0000 (08:05 +0800)] 
gh-119819: Conditional skip of logging tests that require multiprocessing subprocess support (#120476)

Skip tests that require multiprocessing subprocess support.

16 months agogh-120524: Temporarily Skip test_create_many_threaded In test_interpreters.test_stres...
Eric Snow [Fri, 14 Jun 2024 22:12:35 +0000 (18:12 -0400)] 
gh-120524: Temporarily Skip test_create_many_threaded In test_interpreters.test_stress (gh-120525)

16 months agogh-120161: Fix a Crash in the _datetime Module (gh-120182)
Eric Snow [Fri, 14 Jun 2024 19:29:09 +0000 (15:29 -0400)] 
gh-120161: Fix a Crash in the _datetime Module (gh-120182)

In gh-120009 I used an atexit hook to finalize the _datetime module's static types at interpreter shutdown.  However, atexit hooks are executed very early in finalization, which is a problem in the few cases where a subclass of one of those static types is still alive until the final GC collection.  The static builtin types don't have this probably because they are finalized toward the end, after the final GC collection.  To avoid the problem for _datetime, I have applied a similar approach here.

Also, credit goes to @mgorny and @neonene for the new tests.

FYI, I would have liked to take a slightly cleaner approach with managed static types, but wanted to get a smaller fix in first for the sake of backporting.  I'll circle back to the cleaner approach with a future change on the main branch.

16 months agogh-120417: Fix "imported but unused" linter warnings (#120461)
Victor Stinner [Fri, 14 Jun 2024 18:39:50 +0000 (20:39 +0200)] 
gh-120417: Fix "imported but unused" linter warnings (#120461)

Add __all__ to the following modules:
importlib.machinery, importlib.util and xml.sax.

Add also "# noqa: F401" in collections.abc,
subprocess and xml.sax.

* Sort __all__; remove collections.abc.__all__; remove private names

* Add tests

16 months agogh-119824: Print stack entry when user input is needed (#119882)
Tian Gao [Fri, 14 Jun 2024 18:25:23 +0000 (11:25 -0700)] 
gh-119824: Print stack entry when user input is needed (#119882)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
16 months agogh-120361: Add `nonmember` test with enum flags inside to `test_enum` (GH-120364)
Nikita Sobolev [Fri, 14 Jun 2024 17:25:35 +0000 (20:25 +0300)] 
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`

16 months agoGH-73991: Add `pathlib.Path.copy()` (#119058)
Barney Gale [Fri, 14 Jun 2024 16:15:49 +0000 (17:15 +0100)] 
GH-73991: Add `pathlib.Path.copy()` (#119058)

Add a `Path.copy()` method that copies the content of one file to another.

This method is similar to `shutil.copyfile()` but differs in the following ways:

- Uses `fcntl.FICLONE` where available (see GH-81338)
- Uses `os.copy_file_range` where available (see GH-81340)
- Uses `_winapi.CopyFile2` where available, even though this copies more metadata than the other implementations. This makes `WindowsPath.copy()` more similar to `shutil.copy2()`.

The method is presently _less_ specified than the `shutil` functions to allow OS-specific optimizations that might copy more or less metadata.

Incorporates code from GH-81338 and GH-93152.

Co-authored-by: Eryk Sun <eryksun@gmail.com>
16 months agogh-117657: Add TSAN suppression for set_default_allocator_unlocked (#120500)
AN Long [Fri, 14 Jun 2024 16:10:18 +0000 (00:10 +0800)] 
gh-117657: Add TSAN suppression for set_default_allocator_unlocked (#120500)

Add TSAN suppression for set_default_allocator_unlocked

16 months agoUpdate tests for the itertools docs rough equivalents (#120509)
Raymond Hettinger [Fri, 14 Jun 2024 16:00:46 +0000 (11:00 -0500)] 
Update tests for the itertools docs rough equivalents (#120509)

16 months agoStronger tests for the statistics kernel formulas (gh-120506)
Raymond Hettinger [Fri, 14 Jun 2024 15:21:35 +0000 (10:21 -0500)] 
Stronger tests for the statistics kernel formulas (gh-120506)

16 months agogh-114053: Fix bad interaction of PEP 695, PEP 563 and `inspect.get_annotations`...
Alex Waygood [Thu, 13 Jun 2024 21:16:40 +0000 (22:16 +0100)] 
gh-114053: Fix bad interaction of PEP 695, PEP 563 and `inspect.get_annotations` (#120270)

16 months agoGH-119054: Add "Renaming and deleting" section to pathlib docs. (#120465)
Barney Gale [Thu, 13 Jun 2024 20:25:26 +0000 (21:25 +0100)] 
GH-119054: Add "Renaming and deleting" section to pathlib docs. (#120465)

Add dedicated subsection for `pathlib.Path.rename()`, `replace()`,
`unlink()` and `rmdir()`.

16 months agogh-120012: clarify the behaviour of `multiprocessing.Queue.empty` on closed queues...
Bénédikt Tran [Thu, 13 Jun 2024 19:03:01 +0000 (21:03 +0200)] 
gh-120012: clarify the behaviour of `multiprocessing.Queue.empty` on closed queues. (GH-120102)

* improve doc for `multiprocessing.Queue.empty`
* add tests for checking emptiness of queues

Co-authored-by: Gregory P. Smith <greg@krypto.org>
16 months agoAdd codeowner for Makefile.pre.in and Modules/Setup* (#120468)
Erlend E. Aasland [Thu, 13 Jun 2024 19:01:05 +0000 (21:01 +0200)] 
Add codeowner for Makefile.pre.in and Modules/Setup* (#120468)

16 months agogh-117398: Add datetime C-API type check test for subinterpreters (gh-119604)
neonene [Thu, 13 Jun 2024 18:05:03 +0000 (03:05 +0900)] 
gh-117398: Add datetime C-API type check test for subinterpreters (gh-119604)

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

16 months agoGH-119054: Add "Creating files and directories" section to pathlib docs. (#120186)
Barney Gale [Thu, 13 Jun 2024 17:58:46 +0000 (18:58 +0100)] 
GH-119054: Add "Creating files and directories" section to pathlib docs. (#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.

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
16 months agogh-120397: Fix typo in NEWS entry (#120455)
Kirill Podoprigora [Thu, 13 Jun 2024 16:53:45 +0000 (19:53 +0300)] 
gh-120397: Fix typo in NEWS entry (#120455)

16 months agogh-120397: Optimize str.count() for single characters (#120398)
Ruben Vorderman [Thu, 13 Jun 2024 14:28:59 +0000 (16:28 +0200)] 
gh-120397: Optimize str.count() for single characters (#120398)

16 months agogh-120417: Add #noqa to used imports in the stdlib (#120421)
Victor Stinner [Thu, 13 Jun 2024 14:14:50 +0000 (16:14 +0200)] 
gh-120417: Add #noqa to used imports in the stdlib (#120421)

Tools such as ruff can ignore "imported but unused" warnings if a
line ends with "# noqa: F401". It avoids the temptation to remove
an import which is used effectively.

16 months agogh-119146: Update ``regexp`` in `build.yml` to not trigger the jobs on `*.md` and...
Kirill Podoprigora [Thu, 13 Jun 2024 11:38:31 +0000 (14:38 +0300)] 
gh-119146: Update ``regexp`` in `build.yml` to not trigger the jobs on `*.md` and `*.ini` files. (#120435)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
16 months agoFix typos in documentation (GH-120440)
Xie Yanbo [Thu, 13 Jun 2024 09:37:21 +0000 (17:37 +0800)] 
Fix typos in documentation (GH-120440)

16 months agogh-117657: Fix some simple races in instrumentation.c (GH-120118)
Ken Jin [Thu, 13 Jun 2024 09:31:21 +0000 (17:31 +0800)] 
gh-117657: Fix some simple races in instrumentation.c (GH-120118)

* stop the world when setting local events

16 months agogh-117657: Make PyType_HasFeature atomic (GH-120210)
Ken Jin [Thu, 13 Jun 2024 09:29:19 +0000 (17:29 +0800)] 
gh-117657: Make PyType_HasFeature atomic (GH-120210)

Make PyType_HasFeature atomic

16 months agogh-120418: Don't assume wheeldata is deleted if `WHEEL_PKG_DIR` is set (#120419)
Stefano Rivera [Wed, 12 Jun 2024 19:19:36 +0000 (12:19 -0700)] 
gh-120418: Don't assume wheeldata is deleted if `WHEEL_PKG_DIR` is set (#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`.

16 months agogh-118908: Protect the REPL subprocess with a timeout in tests (#120408)
Pablo Galindo Salgado [Wed, 12 Jun 2024 19:09:25 +0000 (20:09 +0100)] 
gh-118908: Protect the REPL subprocess with a timeout in tests (#120408)

16 months agogh-120417: Remove unused imports in the stdlib (#120420)
Victor Stinner [Wed, 12 Jun 2024 18:56:42 +0000 (20:56 +0200)] 
gh-120417: Remove unused imports in the stdlib (#120420)

16 months agogh-120343: Fix column offsets of multiline tokens in tokenize (#120391)
Lysandros Nikolaou [Wed, 12 Jun 2024 18:52:55 +0000 (20:52 +0200)] 
gh-120343: Fix column offsets of multiline tokens in tokenize (#120391)

16 months agogh-71587: Drop local reference cache to `_strptime` module in `_datetime` (gh-120224)
neonene [Wed, 12 Jun 2024 16:46:39 +0000 (01:46 +0900)] 
gh-71587: Drop local reference cache to `_strptime` module in `_datetime` (gh-120224)

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()).

16 months agogh-120388: Improve deprecation warning message, when test returns non-None (#120401)
Nikita Sobolev [Wed, 12 Jun 2024 14:50:58 +0000 (17:50 +0300)] 
gh-120388: Improve deprecation warning message, when test returns non-None (#120401)

Co-authored-by: Alex Waygood <alex.waygood@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
16 months agogh-120345: Fix incorrect use of the :class: role with the "()" suffix (GH-120347)
Serhiy Storchaka [Wed, 12 Jun 2024 14:23:03 +0000 (17:23 +0300)] 
gh-120345: Fix incorrect use of the :class: role with the "()" suffix (GH-120347)

* Remove "()" when refer to a class as a type.
* Use :func: when refer to a callable.
* Fix reference to the datetime.astimezone() method.