gh-119004: fix a crash in equality testing between `OrderedDict` (GH-121329)
(cherry picked from commit 38a887dc3e)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
gh-124498: Fix `TypeAliasType` not to be generic, when `type_params=()` (GH-124499)
(cherry picked from commit abe5f799e6)
Co-authored-by: sobolevn <mail@sobolevn.me>
Fix parsing positional argument with nargs equal to '?' or '*' if it is
preceded by an option and another positional argument.
(cherry picked from commit 4a5e4aade4)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* Detect source file encoding.
* Use the "replace" error handler even for UTF-8 (default) encoding.
* Remove the BOM.
* Fix detection of too long lines if they contain NUL.
* Return the head rather than the tail for truncated long lines.
(cherry picked from commit e2f710792b)
This allows to use positional argument with nargs='*' and without default
in mutually exclusive group and improves error message about required
arguments.
(cherry picked from commit 3c83f9958c)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Arguments with the value identical to the default value (e.g. booleans,
small integers, empty or 1-character strings) are no longer considered
"not present".
(cherry picked from commit 3094cd17b0)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
In case of usage a long command along with max_help_position more than
the length of the command, the command's help was incorrectly started
on the new line.
(cherry picked from commit 7ee9921734)
Co-authored-by: Savannah Ostrowski <savannahostrowski@gmail.com>
Co-authored-by: Pavel Ditenbir <pavel.ditenbir@gmail.com>
gh-124248: Fix crash in struct when processing 0p fields (GH-124251)
(cherry picked from commit 63f196090f)
Co-authored-by: Brian Schubert <brianm.schubert@gmail.com>
Only the first one has now been removed, all subsequent ones are now
taken literally.
(cherry picked from commit aae126748f)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
gh-124083: Skip test_signal.test_strsignal() on NetBSD (GH-124084)
Skip test_strsignal() on NetBSD due to TypeError.
(cherry picked from commit 36682c0914)
Co-authored-by: Furkan Onder <furkanonder@protonmail.com>
gh-123836: Check zero signs in math_testcases.txt (GH-123854)
Just like cmath_testcases.txt. These tests require IEEE 754 anyway.
Correct zero sign for sqrt tests to match math.h convention.
(cherry picked from commit 28aea5d07d)
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
GH-124108: Skip test_locale.test_strcoll_with_diacritic() on NetBSD (GH-124110)
Skip test_strcoll_with_diacritic() and test_strxfrm_with_diacritic()
of test_locale on NetBSD due to lack of UTF-8 LC_COLLATE
support.
(cherry picked from commit 10de3600a9)
Co-authored-by: Furkan Onder <furkanonder@protonmail.com>
Add test coverage for "starred kind" in _PyPegen_set_expr_context
(cherry picked from commit 8231a24454)
Co-authored-by: Mark Jason Dominus (陶敏修) <mjd@pobox.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
gh-123811: test that round() can return signed zero (GH-123829)
(cherry picked from commit d2b9b6f919)
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
gh-123881: Add additional test coverage for PEP 695 edge cases (GH-123886)
(cherry picked from commit b52de7e02d)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
gh-123823: Fix test_posix for unsupported posix_fallocate on NetBSD (GH-123824)
Fix test_posix for unsupported posix_fallocate on NetBSD.
(cherry picked from commit df4f0cbfad)
Co-authored-by: Furkan Onder <furkanonder@protonmail.com>
gh-122792: Make IPv4-mapped IPv6 address properties consistent with IPv4 (GH-122793)
Make IPv4-mapped IPv6 address properties consistent with IPv4.
(cherry picked from commit 76a1c5d183)
Co-authored-by: Seth Michael Larson <seth@python.org>
This checks are redundant in normal circumstances and can only work if
the extension registry was intentionally broken.
(cherry picked from commit 0c3ea30238)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
The `PyStructSequence` destructor would crash if it was deallocated after
its type's dictionary was cleared by the GC, because it couldn't compute
the "real size" of the instance. This could occur with relatively
straightforward code in the free-threaded build or with a reference
cycle involving the type in the default build, due to differing orders
in which `tp_clear()` was called.
Account for the non-sequence fields in `tp_basicsize` and use that,
along with `Py_SIZE()`, to compute the "real" size of a
`PyStructSequence` in the dealloc function. This avoids the accesses to
the type's dictionary during dealloc, which were unsafe.
(cherry picked from commit 4b63cd170e)
Detect email address parsing errors and return empty tuple to
indicate the parsing error (old API). Add an optional 'strict'
parameter to getaddresses() and parseaddr() functions. Patch by
Thomas Dwyer.
Co-Authored-By: Thomas Dwyer <github@tomd.tel>
(cherry picked from commit 4a153a1d3b)
Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-123321: Fix Parser/myreadline.c to prevent a segfault during a multi-threaded race (GH-123323)
(cherry picked from commit a4562fedad)
Co-authored-by: Bar Harel <bharel@barharel.com>
* Remove @requires_gil_enabled for 3.12
---------
Co-authored-by: Bar Harel <bharel@barharel.com>
Co-authored-by: Sam Gross <colesbury@gmail.com>