]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
65 min agogh-154345: Fix test_posix_pty_functions() killing the worker on Solaris (GH-154346) main
Serhiy Storchaka [Tue, 21 Jul 2026 13:12:20 +0000 (16:12 +0300)] 
gh-154345: Fix test_posix_pty_functions() killing the worker on Solaris (GH-154346)

Pushing the "ptem" STREAMS module makes a session leader without a
controlling terminal acquire the slave as one, so closing the file
descriptors sent SIGHUP to the session and killed the regrtest worker.
Disown it after the pushes, as os.openpty() does.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
91 min agogh-154320: Fix swapped __defaults__/__kwdefaults__ in annotationlib docs (#154321)
Solaris-star [Tue, 21 Jul 2026 12:45:42 +0000 (20:45 +0800)] 
gh-154320: Fix swapped __defaults__/__kwdefaults__ in annotationlib docs (#154321)

The bullet list under "Creating a custom callable annotate function"
had the attribute names reversed: positional defaults are __defaults__
(a tuple) and keyword defaults are __kwdefaults__ (a dict). The example
code below was already correct.

Fixes #154320

2 hours agogh-153881: Atomically load `dk_nentries` in `_PyObject_IsInstanceDictEmpty` (#153882)
Brij Kapadia [Tue, 21 Jul 2026 12:07:17 +0000 (08:07 -0400)] 
gh-153881: Atomically load `dk_nentries` in `_PyObject_IsInstanceDictEmpty` (#153882)

3 hours agogh-154275: Fix cleanup code in `_Py_make_parameters` (#154341)
sobolevn [Tue, 21 Jul 2026 10:25:37 +0000 (13:25 +0300)] 
gh-154275: Fix cleanup code in `_Py_make_parameters` (#154341)

5 hours agogh-139373: Fix asyncio Process.communicate() losing output when cancelled (#154223)
Kumar Aditya [Tue, 21 Jul 2026 08:53:58 +0000 (14:23 +0530)] 
gh-139373: Fix asyncio Process.communicate() losing output when cancelled (#154223)

Output already read when communicate() is cancelled (e.g. by a
wait_for() timeout) is now retained on the Process and returned by a
subsequent communicate() call, matching subprocess.Popen.communicate()
behaviour on timeout. Passing input to a communicate() call following a
cancelled one now raises ValueError.

5 hours agogh-145685: per-type method cache implementation (#150160)
Kumar Aditya [Tue, 21 Jul 2026 08:41:22 +0000 (14:11 +0530)] 
gh-145685: per-type method cache implementation (#150160)

7 hours agogh-154326: Fix test_fsize_not_too_big() on Solaris (GH-154329)
Serhiy Storchaka [Tue, 21 Jul 2026 06:39:44 +0000 (09:39 +0300)] 
gh-154326: Fix test_fsize_not_too_big() on Solaris (GH-154329)

Solaris silently converts resource limits that do not fit in a signed
64-bit integer to RLIM_INFINITY.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
7 hours agogh-83273: Rewrite csv.Sniffer dialect detection using trial parsing (GH-153694)
Serhiy Storchaka [Tue, 21 Jul 2026 06:22:53 +0000 (09:22 +0300)] 
gh-83273: Rewrite csv.Sniffer dialect detection using trial parsing (GH-153694)

Guess the dialect by parsing the sample with every plausible
combination of delimiter, quotechar and escapechar, using the actual
CSV parser in strict mode, and choosing the combination which splits
the sample into rows with the most consistent number of fields.  The
old heuristics, which guessed the delimiter from characters adjacent
to quotes and from character frequencies, are removed.

A large sample is parsed incrementally: first only its beginning,
then, after eliminating the combinations which are clearly worse than
the leader, a several times larger part, and so on.

* csv.Sniffer can now detect escapechar='\\'.
* Explicitly requested delimiters are no longer restricted to ASCII.
* A delimiter inside a quoted field no longer wins over the actual
  delimiter, and sniffing no longer takes quadratic time on quoted
  samples.
* The sample can be cut off at an arbitrary point: in the middle of a
  row, of a quoted field or of an escaped sequence.
* Only '\r', '\n' and '\r\n' are treated as row separators, so
  characters like '\x1c' can now be detected as a delimiter.
* A preamble (title or comment lines) before the data does not prevent
  detection if the data rows outnumber the preamble lines.
* A sample consisting of a single column of quoted fields now raises
  csv.Error instead of guessing a delimiter from the content of the
  fields, and Sniffer.has_header() no longer raises ValueError for
  such samples.
* doublequote is detected by comparing the two readings of the sample.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
8 hours agogh-154325: Skip test_add_file_after_2107() if the file system rejects the timestamp...
Serhiy Storchaka [Tue, 21 Jul 2026 06:08:45 +0000 (09:08 +0300)] 
gh-154325: Skip test_add_file_after_2107() if the file system rejects the timestamp (GH-154328)

Some file systems (UFS and ZFS on illumos) reject timestamps that do not
fit in 32 bits with EOVERFLOW instead of raising OverflowError.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
8 hours agogh-103925: Fix csv.Sniffer for a quoted field ending a CRLF line (GH-103926)
Zhou Wei [Tue, 21 Jul 2026 05:24:21 +0000 (13:24 +0800)] 
gh-103925: Fix csv.Sniffer for a quoted field ending a CRLF line (GH-103926)

"$" does not match before "\r" even in the MULTILINE mode, so such a
field was not found and the delimiter was guessed from character
frequencies instead, which could give a letter.

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
13 hours agogh-148665: Enable socket.shutdown function for emscripten (#148666)
Gyeongjae Choi [Tue, 21 Jul 2026 00:46:48 +0000 (02:46 +0200)] 
gh-148665: Enable socket.shutdown function for emscripten (#148666)

Re-enable the autoconf check for socket.shutdown on Emscripten, as some
Emscripten environments are able to provide this call.

15 hours agogh-154308: Clear file flags in os_helper.rmtree() (GH-154310)
Serhiy Storchaka [Mon, 20 Jul 2026 22:47:43 +0000 (01:47 +0300)] 
gh-154308: Clear file flags in os_helper.rmtree() (GH-154310)

On BSD systems a test may leave behind files or directories with flags
such as UF_IMMUTABLE or UF_NOUNLINK set, which prevent the directory from
being modified or removed.  Clear the flags before removing, so cleaning
up a temporary directory does not fail.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
15 hours agogh-154307: Fix TemporaryDirectory cleanup on DragonFly BSD (GH-154309)
Serhiy Storchaka [Mon, 20 Jul 2026 22:46:59 +0000 (01:46 +0300)] 
gh-154307: Fix TemporaryDirectory cleanup on DragonFly BSD (GH-154309)

On DragonFly BSD, removing a file or directory with the UF_NOUNLINK flag
fails with EISDIR (IsADirectoryError) instead of EPERM, so the cleanup did
not reset the flags.  Handle IsADirectoryError the same as PermissionError.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
16 hours agogh-154275: Do not crash on deeply nested `__parameters__` in `GenericAlias` (#154277)
sobolevn [Mon, 20 Jul 2026 22:11:04 +0000 (01:11 +0300)] 
gh-154275: Do not crash on deeply nested `__parameters__` in `GenericAlias` (#154277)

16 hours agogh-154303: Skip test_sqlite3 CLI completion tests on OpenBSD (GH-154304)
Serhiy Storchaka [Mon, 20 Jul 2026 22:10:11 +0000 (01:10 +0300)] 
gh-154303: Skip test_sqlite3 CLI completion tests on OpenBSD (GH-154304)

OpenBSD's readline does not honor "completion-query-items 0", so completing
many candidates blocks on a "Display all N?" prompt that hangs the
pseudo-terminal opened by run_pty().  Skip the whole Completion class on
OpenBSD, like the existing libedit skip.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
16 hours agogh-153511: Removes Tools/msi, Tools/nuget, and legacy py.exe launcher sources (GH...
Steve Dower [Mon, 20 Jul 2026 21:25:12 +0000 (22:25 +0100)] 
gh-153511: Removes Tools/msi, Tools/nuget, and legacy py.exe launcher sources (GH-153512)

18 hours agogh-154291: Fix socket.has_dualstack_ipv6() on DragonFly BSD (GH-154292)
Serhiy Storchaka [Mon, 20 Jul 2026 19:59:56 +0000 (22:59 +0300)] 
gh-154291: Fix socket.has_dualstack_ipv6() on DragonFly BSD (GH-154292)

On DragonFly BSD setsockopt(IPPROTO_IPV6, IPV6_V6ONLY, 0) succeeds without
actually clearing the flag, so has_dualstack_ipv6() wrongly returned True.
Verify with getsockopt() that IPV6_V6ONLY was cleared.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
18 hours agogh-154289: Fix test_socket.testGetServBy on DragonFly (GH-154290)
Serhiy Storchaka [Mon, 20 Jul 2026 19:25:33 +0000 (22:25 +0300)] 
gh-154289: Fix test_socket.testGetServBy on DragonFly (GH-154290)

DragonFly lists "echo 4/ddp" before "echo 7/tcp" in /etc/services, like
FreeBSD, so avoid the "echo" service there too.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
19 hours agogh-154283: Make threading.get_native_id() unique across processes on DragonFly (GH...
Serhiy Storchaka [Mon, 20 Jul 2026 19:13:21 +0000 (22:13 +0300)] 
gh-154283: Make threading.get_native_id() unique across processes on DragonFly (GH-154287)

On DragonFly BSD lwp_gettid() is only unique within a process (the main
thread is always LWP 1), so combine it with the process id, like Solaris.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
19 hours agogh-154279: Skip readline completion tests that fail on DragonFly and illumos (GH...
Serhiy Storchaka [Mon, 20 Jul 2026 18:32:24 +0000 (21:32 +0300)] 
gh-154279: Skip readline completion tests that fail on DragonFly and illumos (GH-154280)

They are already skipped on FreeBSD, where a backspace does not remove
the auto-indentation.  The same happens on DragonFly and illumos.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
23 hours agogh-154240: Skip cmsg truncation socket tests on OpenBSD and DragonFly (GH-154244)
Serhiy Storchaka [Mon, 20 Jul 2026 14:54:22 +0000 (17:54 +0300)] 
gh-154240: Skip cmsg truncation socket tests on OpenBSD and DragonFly (GH-154244)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
23 hours agogh-154260: Fix test_flush_parameters on DragonFly BSD (GH-154261)
Serhiy Storchaka [Mon, 20 Jul 2026 14:22:51 +0000 (17:22 +0300)] 
gh-154260: Fix test_flush_parameters on DragonFly BSD (GH-154261)

DragonFly, like FreeBSD, rejects mmap.flush() with MS_ASYNC|MS_INVALIDATE
(EINVAL).  Use str.startswith() so the check also matches DragonFly, whose
sys.platform carries a version suffix.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
24 hours agogh-99968: FAQ: dev versions end in `+dev` (#153262)
Hugo van Kemenade [Mon, 20 Jul 2026 14:17:28 +0000 (16:17 +0200)] 
gh-99968: FAQ: dev versions end in `+dev` (#153262)

Co-authored-by: Stan Ulbrych <stan@python.org>
24 hours agogh-154167: Fix test suite hang when SIGINT is ignored (GH-154168)
Serhiy Storchaka [Mon, 20 Jul 2026 14:14:50 +0000 (17:14 +0300)] 
gh-154167: Fix test suite hang when SIGINT is ignored (GH-154168)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
24 hours agogh-154258: Fix mmap.resize() crash on NetBSD growing a shared anonymous mapping ...
Serhiy Storchaka [Mon, 20 Jul 2026 14:06:19 +0000 (17:06 +0300)] 
gh-154258: Fix mmap.resize() crash on NetBSD growing a shared anonymous mapping (GH-154259)

NetBSD mremap() returns a mapping whose grown region is not backed when
growing a shared anonymous mapping, so accessing it crashes.  Reject it
with ValueError, as is already done on Linux.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
26 hours agogh-152433: Alternate implementation of _winapi.GetVersion for modern API sets (GH...
thexai [Mon, 20 Jul 2026 11:28:06 +0000 (13:28 +0200)] 
gh-152433: Alternate implementation of _winapi.GetVersion for modern API sets (GH-152694)

27 hours agoFix two typos in two stdlib docstrings (#153479)
Javad Koushyar [Mon, 20 Jul 2026 10:22:08 +0000 (05:22 -0500)] 
Fix two typos in two stdlib docstrings (#153479)

28 hours agoBump `profiling.sampling.cli._SYNC_TIMEOUT_SEC` to fix failures on slow Buildbots...
Stan Ulbrych [Mon, 20 Jul 2026 10:14:45 +0000 (12:14 +0200)] 
Bump `profiling.sampling.cli._SYNC_TIMEOUT_SEC` to fix failures on slow Buildbots (#154248)

28 hours agoFix typo in C API Type Object Structures documentation (#154249)
Michael Newman [Mon, 20 Jul 2026 10:07:05 +0000 (06:07 -0400)] 
Fix typo in C API Type Object Structures documentation (#154249)

28 hours agogh-125860: Skip separate-SCM_RIGHTS socket tests on NetBSD, OpenBSD and DragonFly...
Serhiy Storchaka [Mon, 20 Jul 2026 09:22:00 +0000 (12:22 +0300)] 
gh-125860: Skip separate-SCM_RIGHTS socket tests on NetBSD, OpenBSD and DragonFly (GH-154239)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
29 hours agogh-154226: Fix test_posix_pty_functions on Solaris (GH-154230)
Serhiy Storchaka [Mon, 20 Jul 2026 08:51:10 +0000 (11:51 +0300)] 
gh-154226: Fix test_posix_pty_functions on Solaris (GH-154230)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
29 hours agogh-154225: Fix os.openpty() acquiring a controlling terminal on Solaris (GH-154229)
Serhiy Storchaka [Mon, 20 Jul 2026 08:48:30 +0000 (11:48 +0300)] 
gh-154225: Fix os.openpty() acquiring a controlling terminal on Solaris (GH-154229)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
29 hours agogh-154227: Fix os.posix_openpt() on OpenBSD (GH-154228)
Serhiy Storchaka [Mon, 20 Jul 2026 08:48:14 +0000 (11:48 +0300)] 
gh-154227: Fix os.posix_openpt() on OpenBSD (GH-154228)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
30 hours agogh-154218: Fix test_posix_fallocate on file systems that do not support posix_falloca...
Serhiy Storchaka [Mon, 20 Jul 2026 08:11:53 +0000 (11:11 +0300)] 
gh-154218: Fix test_posix_fallocate on file systems that do not support posix_fallocate() (GH-154219)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
31 hours agogh-127049: fix race condition in asyncio signalling an unrelated process with Threade...
Kumar Aditya [Mon, 20 Jul 2026 06:27:32 +0000 (11:57 +0530)] 
gh-127049: fix race condition in asyncio signalling an unrelated process with ThreadedChildWatcher (#153810)

32 hours agogh-154176: Fix locale.strxfrm() crash on DragonFly BSD (GH-154177)
Serhiy Storchaka [Mon, 20 Jul 2026 05:59:31 +0000 (08:59 +0300)] 
gh-154176: Fix locale.strxfrm() crash on DragonFly BSD (GH-154177)

Query the result size with a real one-element buffer instead of
wcsxfrm(NULL, s, 0): DragonFly BSD's wcsxfrm() crashes when the
destination is NULL or the size is 0.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
32 hours agogh-154211: Skip C-stack exhaustion tests when the C stack is huge (GH-154212)
Serhiy Storchaka [Mon, 20 Jul 2026 05:58:25 +0000 (08:58 +0300)] 
gh-154211: Skip C-stack exhaustion tests when the C stack is huge (GH-154212)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
32 hours agogh-154146: Fix accuracy of the math.acospi() fallback near 1 (GH-154148)
Serhiy Storchaka [Mon, 20 Jul 2026 05:56:50 +0000 (08:56 +0300)] 
gh-154146: Fix accuracy of the math.acospi() fallback near 1 (GH-154148)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
33 hours agogh-154136: Define _ISOC23_SOURCE to fix building the math module on FreeBSD (GH-154138)
Serhiy Storchaka [Mon, 20 Jul 2026 05:00:11 +0000 (08:00 +0300)] 
gh-154136: Define _ISOC23_SOURCE to fix building the math module on FreeBSD (GH-154138)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
33 hours agogh-154046: docs: fix dead link to codahale timing attacks article in secrets.rst...
Pranav Choudhary [Mon, 20 Jul 2026 04:54:04 +0000 (10:24 +0530)] 
gh-154046: docs: fix dead link to codahale timing attacks article in secrets.rst (#154047)

39 hours agogh-154137: Fix handle leak in test_winapi (#154201)
Victor Stinner [Sun, 19 Jul 2026 22:19:32 +0000 (00:19 +0200)] 
gh-154137: Fix handle leak in test_winapi (#154201)

Make sure that events handles are closed.

40 hours agogh-145177: Upgrade to Emscripten 6.0.3 (#154029)
Hood Chatham [Sun, 19 Jul 2026 22:17:04 +0000 (00:17 +0200)] 
gh-145177: Upgrade to Emscripten 6.0.3 (#154029)

43 hours agoFix grammatical typos in documentation (#154181)
ilya [Sun, 19 Jul 2026 19:15:23 +0000 (22:15 +0300)] 
Fix grammatical typos in documentation (#154181)

43 hours agogh-151022: Fix remote debugging linetable reads (#151036)
Goutam Adwant [Sun, 19 Jul 2026 18:32:43 +0000 (11:32 -0700)] 
gh-151022: Fix remote debugging linetable reads (#151036)

43 hours agofix ResourceWarnings of test_kill_issue43884 in asyncio (#154178)
Kumar Aditya [Sun, 19 Jul 2026 18:18:14 +0000 (23:48 +0530)] 
fix ResourceWarnings of test_kill_issue43884 in asyncio (#154178)

44 hours agoFix typos in `Py_tp_base` macro documentation (#154150)
Michael Newman [Sun, 19 Jul 2026 17:33:57 +0000 (13:33 -0400)] 
Fix typos in `Py_tp_base` macro documentation (#154150)

45 hours agogh-104533: Fix ctypes test_pointer_proto_missing_argtypes_error() (#154169)
Victor Stinner [Sun, 19 Jul 2026 16:24:12 +0000 (18:24 +0200)] 
gh-104533: Fix ctypes test_pointer_proto_missing_argtypes_error() (#154169)

Save/restore Py_GetVersion.argtypes, since Py_GetVersion is used in
another test.

46 hours agogh-119710: fix asyncio Process.wait() to finish on process exit and not wait for...
Tobias Alex-Petersen [Sun, 19 Jul 2026 15:58:58 +0000 (15:58 +0000)] 
gh-119710: fix asyncio Process.wait() to finish on process exit and not wait for closing of pipes (#151983)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
46 hours agogh-62534: Document that three-argument type() does not call __prepare__ (GH-154028)
soreavis [Sun, 19 Jul 2026 15:31:59 +0000 (17:31 +0200)] 
gh-62534: Document that three-argument type() does not call __prepare__ (GH-154028)

The three-argument form of type() skips the metaclass __prepare__
method, which is called by the class statement machinery rather than
by the metaclass call itself. Say so in the type() entry and point to
types.new_class() for dynamic class creation with the appropriate
metaclass, as directed in the issue thread.

46 hours agogh-139806: Mention pickle error changes in What's New in 3.14 (GH-154020)
Serhiy Storchaka [Sun, 19 Jul 2026 15:20:35 +0000 (18:20 +0300)] 
gh-139806: Mention pickle error changes in What's New in 3.14 (GH-154020)

The gh-122311 changes made pickle.dump() and pickle.dumps() raise
PicklingError for some failures that previously raised AttributeError,
ImportError, ValueError or UnicodeEncodeError, depending on the
implementation.
Add an entry about this in the "Porting to Python 3.14" section.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
47 hours agogh-153903: Use `@ctypes.util.wrap_dll_function()` (#154122)
Victor Stinner [Sun, 19 Jul 2026 15:12:07 +0000 (17:12 +0200)] 
gh-153903: Use `@ctypes.util.wrap_dll_function()` (#154122)

47 hours agogh-154144: Fix false positive from the stdbool.h guard in _testcapimodule.c (GH-154145)
Serhiy Storchaka [Sun, 19 Jul 2026 15:06:48 +0000 (18:06 +0300)] 
gh-154144: Fix false positive from the stdbool.h guard in _testcapimodule.c (GH-154145)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
47 hours agogh-153906: Show 'Data' in code formatting (#154132)
Hugo van Kemenade [Sun, 19 Jul 2026 14:45:17 +0000 (16:45 +0200)] 
gh-153906: Show 'Data' in code formatting (#154132)

2 days agogh-153932: protect read of en_index during enumerate.reduce (GH-154118)
L. Le [Sun, 19 Jul 2026 13:20:56 +0000 (15:20 +0200)] 
gh-153932: protect read of en_index during enumerate.reduce (GH-154118)

2 days agogh-152433: Windows: ``_uuid`` module: improve UWP compatibility (#152793)
thexai [Sun, 19 Jul 2026 13:19:40 +0000 (15:19 +0200)] 
gh-152433: Windows: ``_uuid`` module: improve UWP compatibility (#152793)

2 days agoimprove json test coverage (GH-154123)
David [Sun, 19 Jul 2026 13:19:00 +0000 (15:19 +0200)] 
improve json test coverage (GH-154123)

Add test that covers the except block on line 106 of decoder.py

2 days agogh-151949: Fix Sphinx reference warnings in `Doc/library/lzma.rst` (GH-153878)
Vyron Vasileiadis [Sun, 19 Jul 2026 13:10:47 +0000 (16:10 +0300)] 
gh-151949: Fix Sphinx reference warnings in `Doc/library/lzma.rst` (GH-153878)

The lzma module constants (FORMAT_*, CHECK_*, PRESET_*, FILTER_*, MODE_*
and MF_*) were referenced with the :const: role throughout the module
documentation but were never defined as reference targets, producing
"reference target not found" warnings under nitpicky mode.

Document these public constants with .. data:: directives, following the
convention used by the signal, socket and ssl modules, so the existing
references resolve. The now-redundant inline descriptions of the format
and check constants are condensed into linked references.

2 days agourllib: Add tests for HTTP errors to complete coverage (#154102)
Ajob Kustra [Sun, 19 Jul 2026 12:29:17 +0000 (14:29 +0200)] 
urllib: Add tests for HTTP errors to complete coverage (#154102)

* add test for httperror props such as reason and fp, and stringified urlerror test

* rm unnecessary 'reason' attr test, change url to filename and add reason and headers attr

* separate file pointer test

* prevent resource warning, close httperror exception

* exc > err

2 days agogh-154055: Gate optional curses functions absent on old SVr4 curses (GH-154057)
Serhiy Storchaka [Sun, 19 Jul 2026 12:26:47 +0000 (15:26 +0300)] 
gh-154055: Gate optional curses functions absent on old SVr4 curses (GH-154057)

Build hygiene so the curses modules build against a limited curses (e.g. the
native SVr4 curses of illumos/Solaris), matching how other optional functions
are already gated:

* Probe and #ifdef-gate the X/Open attr_t functions (window.attr_get/attr_set/
  attr_on/attr_off/color_set), the soft-label attribute functions
  (slk_attr_on/off/set, slk_color) and scr_set(); scr_set is probed separately
  from the scr_dump family, which SVr4 has without it.
* Stop gating update_lines_cols() on resizeterm(): it only reads LINES/COLS and
  is used unconditionally (e.g. by set_term()), so a build without resizeterm()
  failed to link.
* On Solaris/illumos define _BOOL (and include <stdbool.h>) so the SVr4
  <curses.h> "typedef char bool" does not clash with C's bool.

test.test_curses: skip or guard the tests that use the now-optional functions,
split test_attributes so its chtype-based part still runs, and treat the native
curses of NetBSD and illumos/Solaris as having broken newterm() (they crash on
repeated newterm()/delscreen(), like ncurses before 6.5).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2 days agogh-104533: Use `@ctypes.util.struct` decorator (#154031)
Victor Stinner [Sun, 19 Jul 2026 12:08:56 +0000 (14:08 +0200)] 
gh-104533: Use `@ctypes.util.struct` decorator (#154031)

Use also `@ctypes.util.wrap_dll_function()` decorator.

2 days agogh-153903: Use `@ctypes.util.wrap_dll_function()` with pythonapi (#154030)
Victor Stinner [Sun, 19 Jul 2026 12:04:30 +0000 (14:04 +0200)] 
gh-153903: Use `@ctypes.util.wrap_dll_function()` with pythonapi (#154030)

Use the `@ctypes.util.wrap_dll_function()` decorator with
ctypes.pythonapi to wrap Python C API functions in the test suite.

2 days agoAdd test for explicit `cls` argument bypassing default JSON decoder (#154094)
Dominic H. [Sun, 19 Jul 2026 11:58:06 +0000 (13:58 +0200)] 
Add test for explicit `cls` argument bypassing default JSON decoder (#154094)

* Add test for skipped `cls=None` case

* Fix lint

* Add new line between classes

2 days agogh-104533: Update test_ctypes.test_structures (#154091)
Victor Stinner [Sun, 19 Jul 2026 10:51:29 +0000 (12:51 +0200)] 
gh-104533: Update test_ctypes.test_structures (#154091)

2 days agoDocument getopt and gnu_getopt longopts argument as string (#153976)
Florian Freitag [Sun, 19 Jul 2026 10:26:26 +0000 (12:26 +0200)] 
Document getopt and gnu_getopt longopts argument as string (#153976)

Document getopt and gnu_getopt longopts as string

2 days agogh-104533: Fix `@ctypes.util.struct` with endian (#154038)
Victor Stinner [Sun, 19 Jul 2026 10:07:43 +0000 (12:07 +0200)] 
gh-104533: Fix `@ctypes.util.struct` with endian (#154038)

Change `_fields_` type to a list of tuples, instead of a list of lists.

Modify test.test_ctypes.test_aligned_structures to test also
`@ctypes.util.struct` decorator.

2 days agogh-104533: Fix `@ctypes.util.struct` with string annotations (#154040)
Victor Stinner [Sun, 19 Jul 2026 10:05:22 +0000 (12:05 +0200)] 
gh-104533: Fix `@ctypes.util.struct` with string annotations (#154040)

Fix `@ctypes.util.struct` on structures declared in a module which uses
`from __future__ import annotations`. The decorator now calls
get_annotations() with eval_str=True.

2 days agogh-153903: Fix ctypes wrap_dll_function() with string annotations (#154042)
Victor Stinner [Sun, 19 Jul 2026 10:04:40 +0000 (12:04 +0200)] 
gh-153903: Fix ctypes wrap_dll_function() with string annotations (#154042)

Call get_annotations() with eval_str=True.

2 days agogh-153906: Modernize pydoc HTML output (GH-153909)
Serhiy Storchaka [Sun, 19 Jul 2026 09:59:58 +0000 (12:59 +0300)] 
gh-153906: Modernize pydoc HTML output (GH-153909)

Follow-up of the HTML5 migration in bpo-10716: replace the layout
tables, the &nbsp;/<br> encoding of docstrings and the obsolete
<a name=...> anchors with semantic markup (header, section, h1-h4,
CSS multi-column lists, white-space: pre-wrap, id= anchors), and
restyle the pages after the python-docs-theme used by docs.python.org,
including dark mode support.  Members inherited from other classes
are now collapsed by default.  The pydoc API is unchanged; obsolete
arguments of HTMLDoc methods are accepted and ignored.  ServerHTMLDoc
in xmlrpc.server is updated to match.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 days agoDocs: add frozendict to data types theme (#154063)
Rodrigo Girão Serrão [Sun, 19 Jul 2026 09:58:18 +0000 (11:58 +0200)] 
Docs: add frozendict to data types theme (#154063)

2 days agoImprove colorsys coverage (#153982)
MonadChains [Sun, 19 Jul 2026 09:48:02 +0000 (11:48 +0200)] 
Improve colorsys coverage (#153982)

* improve colorsys coverage

* add subtest

2 days agogh-154053: Fix compilation of the ssl module against LibreSSL (GH-154054)
Serhiy Storchaka [Sun, 19 Jul 2026 09:38:47 +0000 (12:38 +0300)] 
gh-154053: Fix compilation of the ssl module against LibreSSL (GH-154054)

LibreSSL does not provide SSL_CTX_set1_sigalgs_list() or
SSL_CTX_set1_client_sigalgs_list(), added in gh-138252, so _ssl failed to
compile against LibreSSL on 3.15+. Guard the set_server_sigalgs() and
set_client_sigalgs() methods so they raise NotImplementedError on LibreSSL,
and skip the corresponding tests.

2 days agoFix typo "interruptability" in Logging Cookbook documentation (#154027)
Michael Newman [Sun, 19 Jul 2026 08:54:25 +0000 (04:54 -0400)] 
Fix typo "interruptability" in Logging Cookbook documentation (#154027)

2 days agogh-153864: Fix curses window.insch() for non-ASCII characters on a wide build (GH...
Serhiy Storchaka [Sun, 19 Jul 2026 08:45:06 +0000 (11:45 +0300)] 
gh-153864: Fix curses window.insch() for non-ASCII characters on a wide build (GH-153865)

On a wide build, winsch() does not locale-decode a byte above 127, unlike
waddch(), so insch() inserted '¤' (U+00A4) instead of '€' for byte 0xA4
under ISO-8859-15.  Decode the byte with btowc() and insert it as a wide
character, like addch().

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2 days agoTest that `ValueError` is raised when `vfsopen` is passed an invalid mode (#154008)
Rayan [Sun, 19 Jul 2026 08:21:26 +0000 (10:21 +0200)] 
Test that `ValueError` is raised when `vfsopen` is passed an invalid mode (#154008)

* ValueError with message test

* Remove white space

* Apply suggestions from code review

Change from double quotes to single quotes.

Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
---------

Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
2 days agofix typos in `abi3t-migration.rst` (GH-153918)
Jost Migenda [Sun, 19 Jul 2026 07:49:00 +0000 (09:49 +0200)] 
fix typos in `abi3t-migration.rst` (GH-153918)

Co-authored-by: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
2 days agogh-153862: Fix curses window.inch() for non-ASCII characters on a wide build (GH...
Serhiy Storchaka [Sun, 19 Jul 2026 07:43:22 +0000 (10:43 +0300)] 
gh-153862: Fix curses window.inch() for non-ASCII characters on a wide build (GH-153863)

On a wide build, winch() returns the low 8 bits of the character's code
point with no locale conversion, so inch()/mvinch() disagreed with instr()
for a non-ASCII character of an 8-bit locale ('€' under ISO-8859-15 gave
0xAC instead of 0xA4).  Re-encode the cell to its locale byte via wctob(),
as ncurses does for getbkgd().

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2 days agogh-154048: Fix building the iconv codec on illumos/Solaris (GH-154049)
Serhiy Storchaka [Sun, 19 Jul 2026 06:23:26 +0000 (09:23 +0300)] 
gh-154048: Fix building the iconv codec on illumos/Solaris (GH-154049)

iconv()'s input-buffer argument is declared "const char **" on some systems
(illumos/Solaris, old GNU libiconv) rather than the POSIX "char **", so passing
a "char **" failed to compile.  Cast it through void*, which converts to either
without a warning.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2 days agogh-136687: Add ./configure --with-curses to select the curses backend (GH-153992)
Serhiy Storchaka [Sun, 19 Jul 2026 06:08:30 +0000 (09:08 +0300)] 
gh-136687: Add ./configure --with-curses to select the curses backend (GH-153992)

Add --with-curses=ncursesw|ncurses|curses|no, mirroring --with-readline.
The default (auto) keeps the current behaviour: prefer ncursesw, fall back
to ncurses.  --with-curses=curses links the system's native curses (e.g. on
NetBSD or Solaris), which has no pkg-config file and was previously
unreachable; it is built with wide-character support when the library
provides it.  --without-curses excludes the curses and _curses_panel modules
from the build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2 days agogh-154001: Avoid division by zero in binomialvariate (GH-154004)
Łukasz [Sun, 19 Jul 2026 06:06:09 +0000 (08:06 +0200)] 
gh-154001: Avoid division by zero in binomialvariate (GH-154004)

2 days agoUse Py_complex_protected AC converter for cmath.rect() (GH-154034)
Sergey B Kirpichev [Sun, 19 Jul 2026 00:24:16 +0000 (03:24 +0300)] 
Use Py_complex_protected AC converter for cmath.rect() (GH-154034)

2 days agoDocs: point `uu` module users to the `"uu"` encoding (#153657)
Ondřej Hošek [Sat, 18 Jul 2026 19:46:16 +0000 (21:46 +0200)] 
Docs: point `uu` module users to the `"uu"` encoding (#153657)

Co-authored-by: Stan Ulbrych <stan@python.org>
2 days agogh-153856: Add `os.RWF_NOSIGNAL` constant (#153858)
Benjamin Peterson [Sat, 18 Jul 2026 19:26:11 +0000 (12:26 -0700)] 
gh-153856: Add `os.RWF_NOSIGNAL` constant (#153858)

RWF_NOSIGNAL was added in Linux 6.18 to prevent pwritev2() from raising SIGPIPE when writing to disconnected pipes or sockets.

fixes gh-153856

2 days agogh-150663: Document that PyErr_SetRaisedException accepts null (#153046)
Andrii Hrimov [Sat, 18 Jul 2026 18:10:05 +0000 (20:10 +0200)] 
gh-150663: Document that PyErr_SetRaisedException accepts null (#153046)

2 days agogh-153395: Fix test_complexchar on narrow curses builds (GH-154005)
Serhiy Storchaka [Sat, 18 Jul 2026 16:33:03 +0000 (19:33 +0300)] 
gh-153395: Fix test_complexchar on narrow curses builds (GH-154005)

On a narrow build, complexchar() of a multibyte character raises
OverflowError, not ValueError.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2 days agogh-153568: Skip parser memo lookups that cannot match (#153571)
Pablo Galindo Salgado [Sat, 18 Jul 2026 16:12:38 +0000 (18:12 +0200)] 
gh-153568: Skip parser memo lookups that cannot match (#153571)

Each token now carries a small filter of the rule types present in its
memo list, so the common case of a miss no longer walks the list.

2 days agoAdd vfspath TypeError test (#153987)
Ajob Kustra [Sat, 18 Jul 2026 16:03:54 +0000 (18:03 +0200)] 
Add vfspath TypeError test (#153987)

typeerror with message test

2 days agoAdd test coverage to check execution of GetoptError.__str__ (#153941)
Manith Hettiarachchilage [Sat, 18 Jul 2026 15:00:13 +0000 (16:00 +0100)] 
Add test coverage to check execution of GetoptError.__str__ (#153941)

* Increase test coverage of getopt to check execution of GetoptError.__str__

* Add test coverage to check execution of GetoptError.__str__

* Add test coverage to check execution of GetoptError.__str__

* Add test coverage to check execution of GetoptError.__str__

* Add test coverage to check execution of GetoptError.__str__

* Add test coverage to check execution of GetoptError.__str__

2 days agogh-124111: Update Windows builds to Tcl/Tk 9.0.4 (GH-153901)
Zachary Ware [Sat, 18 Jul 2026 14:52:10 +0000 (16:52 +0200)] 
gh-124111: Update Windows builds to Tcl/Tk 9.0.4 (GH-153901)

2 days agogh-141004: Document unstable executable kind macros from `pyframe.h` (GH-143490)
Yashraj [Sat, 18 Jul 2026 14:50:40 +0000 (20:20 +0530)] 
gh-141004: Document unstable executable kind macros from `pyframe.h` (GH-143490)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2 days agogh-141004: Document remaining `PyCF_*` compiler flag macros (GH-153958)
Bartosz Sławecki [Sat, 18 Jul 2026 14:42:24 +0000 (16:42 +0200)] 
gh-141004: Document remaining `PyCF_*` compiler flag macros (GH-153958)

2 days agoFix parameter name of read_mime_types() in mimetypes docs (GH-153974)
Raúl Santos Quirós [Sat, 18 Jul 2026 14:29:45 +0000 (16:29 +0200)] 
Fix parameter name of read_mime_types() in mimetypes docs (GH-153974)

3 days agoImprove `getopt.getopt` and `getopt.gnu_getopt` test coverage (GH-153933)
Florian Freitag [Sat, 18 Jul 2026 13:50:28 +0000 (15:50 +0200)] 
Improve `getopt.getopt` and `getopt.gnu_getopt` test coverage (GH-153933)

3 days agogh-71896: Add a docs warning about trailing newlines ignored by `difflib.HtmlDiff...
Lenormand Julien [Sat, 18 Jul 2026 13:40:11 +0000 (15:40 +0200)] 
gh-71896: Add a docs warning about trailing newlines ignored by `difflib.HtmlDiff` (GH-153930)

3 days agoDocs: Fix typo in the pymanager command name (GH-153877)
Sam Katakouzinos [Sat, 18 Jul 2026 13:27:59 +0000 (23:27 +1000)] 
Docs: Fix typo in the pymanager command name (GH-153877)

3 days agogh-153568: Cache repeated identifiers while parsing (#153577)
Pablo Galindo Salgado [Sat, 18 Jul 2026 13:25:39 +0000 (15:25 +0200)] 
gh-153568: Cache repeated identifiers while parsing (#153577)

3 days agogh-153896: Deduplicate unhashable arguments in `typing.Literal` (GH-153914)
Massimiliano Bruni [Sat, 18 Jul 2026 13:16:03 +0000 (15:16 +0200)] 
gh-153896: Deduplicate unhashable arguments in `typing.Literal` (GH-153914)

3 days agogh-153908: Fix data race in `itertools.count.__repr__` (GH-153917)
John [Sat, 18 Jul 2026 13:01:51 +0000 (15:01 +0200)] 
gh-153908: Fix data race in `itertools.count.__repr__` (GH-153917)

3 days agogh-122102: Fix/improve docs of descriptor-related tools in `inspect` (GH-122104)
Jan Kaliszewski [Sat, 18 Jul 2026 13:01:31 +0000 (15:01 +0200)] 
gh-122102: Fix/improve docs of descriptor-related tools in `inspect` (GH-122104)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
3 days agogh-153934: Correct documented paramemeter in `calendar.weekheader` from `n` to `width...
Marta [Sat, 18 Jul 2026 12:46:23 +0000 (14:46 +0200)] 
gh-153934: Correct documented paramemeter in `calendar.weekheader` from `n` to `width` (GH-153942)

3 days agogh-153903: Add a `ctypes` decorator for generating function pointers using annotation...
Peter Bierma [Sat, 18 Jul 2026 12:30:50 +0000 (08:30 -0400)] 
gh-153903: Add a `ctypes` decorator for generating function pointers using annotations (GH-153904)

Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>