Commit graph

25273 commits

Author SHA1 Message Date
Miss Islington (bot)
2f8aae38b9
gh-89973: Fix re.error in the fnmatch module. (GH-93072)
Character ranges with upper bound less that lower bound (e.g. [c-a])
are now interpreted as empty ranges, for compatibility with other glob
pattern implementations. Previously it was re.error.
(cherry picked from commit 0902c3d8ed)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-06-05 02:39:03 -07:00
Miss Islington (bot)
7b3cf3a288
gh-92886: Fix test that fails when running with -O in test_imaplib.py (GH-93237)
(cherry picked from commit 8150b8cf7f)

Co-authored-by: jackh-ncl <1750152+jackh-ncl@users.noreply.github.com>
2022-06-03 20:38:54 -07:00
Miss Islington (bot)
b382bf50c5
gh-93156 - fix negative indexing into absolute pathlib.PurePath().parents (GH-93273)
When a `_PathParents` object has a drive or a root, the length of the
object is *one less* than than the length of `self._parts`, which resulted
in an off-by-one error when `path.parents[-n]` was fed through to
`self._parts[:-n - 1]`. In particular, `path.parents[-1]` was a malformed
path object with spooky properties.

This is addressed by adding `len(self)` to negative indices.
(cherry picked from commit f32e6b48d1)

Co-authored-by: Barney Gale <barney.gale@gmail.com>
2022-06-03 14:53:00 -07:00
Miss Islington (bot)
855be47a02
gh-93418: Fix an assert when an f-string expression is followed by an '=', but no closing brace. (gh-93419) (gh-93423)
(cherry picked from commit ee70c70aa9)

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>

Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
2022-06-01 21:04:43 -04:00
Miss Islington (bot)
aa06a84099
bpo-42272: fix misleading warning filter message/module docs (GH-23172)
* bpo-42272: improve message/module warning filter docs

"The Warnings Filter" section of the warnings module documentation
describes the message and module filters as "a string containing a
regular expression".  While that is true when they are arguments to the
filterwarnings function, it is not true when they appear in -W or
$PYTHONWARNINGS where they are matched literally (after stripping any
starting/ending whitespace).  Update the documentation to note when they
are matched literally.  Also clarify that module matches the
"fully-qualified module name", rather than "module name" which is
ambiguous.

skip news (since this is a doc fix)

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>

* bpo-42272: remove bad submodule warning filter doc

The `error:::mymodule[.*]` example in the "Describing Warning Filters"
section of the warnings module documentation does not behave as the
comment describes.  Since the module portion of the filter string is
interpreted literally, it would match a module with a fully-qualified
name that is literally `mymodule[.*]`.

Unfortunately, there is not a way to match '"module" and any subpackages
of "mymodule"' as documented, since the module part of a filter string
is matched literally.  Instead, update the filter and comment to match
only "mymodule".

skip news (since this is a doc fix)

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>

* bpo-42272: add warning filter doc changes to NEWS

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
(cherry picked from commit 8136606769)

Co-authored-by: Kevin Locke <kevin@kevinlocke.name>
2022-05-29 19:03:15 -07:00
Éric
c649526f92
[3.10] gh-93217: fix some issues in man page and --help (GH-93219) (#93261) 2022-05-29 14:04:23 -04:00
Miss Islington (bot)
738c730b5c
gh-92240 : Include release dates for "What's New In Python 3.X" (GH-92937)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
(cherry picked from commit 877ad7b3b2)

Co-authored-by: georgically <40323509+georgically@users.noreply.github.com>
2022-05-28 20:41:40 -07:00
Miss Islington (bot)
550c44b895
gh-92839: fixed typo in _bisectmodule.c (line 131) (GH-92849) (#93321) 2022-05-28 13:48:25 -05:00
Victor Stinner
9369942054
[3.10] gh-91924: Fix __ltrace__ for non-UTF-8 stdout encoding (#93214)
Fix __ltrace__ debug feature if the stdout encoding is not UTF-8.

If the stdout encoding is not UTF-8, the first call to
lltrace_resume_frame() indirectly sets lltrace to 0 when calling
unicode_check_encoding_errors() which calls
encodings.search_function().

Add test_lltrace.test_lltrace() test.
2022-05-26 00:16:32 +02:00
Miss Islington (bot)
132ea29936
[3.10] gh-83245: Raise BadZipFile instead of ValueError when reading a corrupt ZIP file (GH-32291) (GH-93140)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
(cherry picked from commit 202ed2506c)


Co-authored-by: Sam Ezeh <sam.z.ezeh@gmail.com>

Automerge-Triggered-By: GH:serhiy-storchaka
2022-05-25 00:57:56 -07:00
Miss Islington (bot)
a4bea26ee4
gh-93065: Fix HAMT to iterate correctly over 7-level deep trees (GH-93066) (GH-93146)
Also while there, clarify a few things about why we reduce the hash to 32 bits.

Co-authored-by: Eli Libman <eli@hyro.ai>
Co-authored-by: Yury Selivanov <yury@edgedb.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>

(cherry picked from commit c1f5c903a7)
2022-05-24 10:52:29 +02:00
Dennis Sweeney
c1b12495f6
gh-93061: Mark as artificial: backwards jump after async for (GH-93120) 2022-05-23 19:53:38 -04:00
Miss Islington (bot)
b15b94de09
gh-93010: InvalidHeaderError used but nonexistent (GH-93015)
* fix issue 93010

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
(cherry picked from commit 71abeb0895)

Co-authored-by: oda-gitso <105083118+oda-gitso@users.noreply.github.com>
2022-05-23 10:02:15 -07:00
Miss Islington (bot)
49526080eb
gh-92984: Explicitly disable incremental linking for Windows Release and PGO builds (GH-92985)
(cherry picked from commit 38feffa09c)

Co-authored-by: David Machaj <46852402+dmachaj@users.noreply.github.com>
2022-05-19 15:48:42 -07:00
Łukasz Langa
c146525844
[3.10] bpo-28249: fix lineno location for empty DocTest instances (GH-30498) (#92981)
(cherry picked from commit 8db2b3b687)

Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2022-05-19 21:16:57 +02:00
Miss Islington (bot)
fb566cacb3
bpo-45393: help() on operator precedence has misleading entries (GH-31246) (GH-92966)
(cherry picked from commit fb082c2fc5)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2022-05-19 17:32:54 +02:00
Miss Islington (bot)
56c8d7cc83
gh-92670: Skip test_shutil.TestCopy.test_copyfile_nonexistent_dir on AIX (GH-92718)
(cherry picked from commit 654032ac5f)

Co-authored-by: Ayappan Perumal <ayappap2@in.ibm.com>
2022-05-19 02:52:41 -07:00
Miss Islington (bot)
ed75d2183f
bpo-40838: document getdoc, getmodule, getsourcefile in inspect returns None (GH-30575)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
(cherry picked from commit b86d783a4e)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2022-05-18 05:49:15 -07:00
Miss Islington (bot)
009aeb6bb6
bpo-39829: Fix __len__() is called twice in list() constructor (GH-31816)
(cherry picked from commit 2153daf0a0)

This patch fixes gh-87740 too.

Co-authored-by: Crowthebird <78076854+thatbirdguythatuknownot@users.noreply.github.com>
2022-05-18 13:16:58 +09:00
Miss Islington (bot)
e29ce9a5f1
gh-92530: Fix an issue that occurred after interrupting threading.Condition.notify (GH-92534) (GH-92830)
If Condition.notify() was interrupted just after it released the waiter lock,
but before removing it from the queue, the following calls of notify() failed
with RuntimeError: cannot release un-acquired lock.
(cherry picked from commit 70af994fee)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-05-16 18:54:01 +02:00
Miss Islington (bot)
36d42e701f
Check result of utc_to_seconds and skip fold probe in pure Python (GH-91582)
The `utc_to_seconds` call can fail, here's a minimal reproducer on
Linux:

TZ=UTC python -c "from datetime import *; datetime.fromtimestamp(253402300799 + 1)"

The old behavior still raised an error in a similar way, but only
because subsequent calculations happened to fail as well. Better to fail
fast.

This also refactors the tests to split out the `fromtimestamp` and
`utcfromtimestamp` tests, and to get us closer to the actual desired
limits of the functions. As part of this, we also changed the way we
detect platforms where the same limits don't necessarily apply (e.g.
Windows).

As part of refactoring the tests to hit this condition explicitly (even
though the user-facing behvior doesn't change in any way we plan to
guarantee), I noticed that there was a difference in the places that
`datetime.utcfromtimestamp` fails in the C and pure Python versions, which
was fixed by skipping the "probe for fold" logic for UTC specifically —
since UTC doesn't have any folds or gaps, we were never going to find a
fold value anyway. This should prevent some failures in the pure python
`utcfromtimestamp` method on timestamps close to 0001-01-01.

There are two separate news entries for this because one is a
potentially user-facing change, the other is an internal code
correctness change that, if anything, changes some error messages. The
two happen to be coupled because of the test refactoring, but they are
probably best thought of as independent changes.

Fixes GH-91581
(cherry picked from commit 83c0247d47)

Co-authored-by: Paul Ganssle <1377457+pganssle@users.noreply.github.com>
2022-05-14 08:01:53 -07:00
Dennis Sweeney
a24e676973
[3.10] gh-92311: Let frame_setlineno jump over listcomps (GH-92717) 2022-05-12 16:31:43 +01:00
Miss Islington (bot)
9743524fc1
bpo-42627: Fix incorrect parsing of Windows registry proxy settings (GH-26307)
(cherry picked from commit b69297ea23)

Co-authored-by: 狂男风 <CrazyBoyFeng@Live.com>
2022-05-12 01:21:39 +01:00
Miss Islington (bot)
4730b0d6f3
[3.10] gh-91810: ElementTree: Use text file's encoding by default in XML declaration (GH-91903) (GH-92664)
ElementTree method write() and function tostring() now use the text file's
encoding ("UTF-8" if not available) instead of locale encoding in XML
declaration when encoding="unicode" is specified.
(cherry picked from commit 707839b0fe)


Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>

Automerge-Triggered-By: GH:serhiy-storchaka
2022-05-11 10:39:21 -07:00
Itai Steinherz
9be9b585aa
bpo-46785: Fix race condition between os.stat() and unlink on Windows (GH-31858)
* [3.10] bpo-46785: Fix race condition between os.stat() and unlink on Windows (GH-31858).
(cherry picked from commit 39e6b8ae6a)

Co-authored-by: Itai Steinherz <itaisteinherz@gmail.com>
2022-05-10 23:52:39 +01:00
Miss Islington (bot)
5ed2f11834
bpo-13553: Document tkinter.Tk args (GH-4786)
(cherry picked from commit c56e2bb994)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2022-05-09 21:27:37 -07:00
Miss Islington (bot)
cd11068712
bpo-38056: overhaul Error Handlers section in codecs documentation (GH-15732)
* Some handlers were wrongly described as text-encoding only, but actually they can also be used in text-decoding.
* Add more description to each handler.
* Add two REPL examples.
* Add indexes for Error Handler's name.

Co-authored-by: Kyle Stanley <aeros167@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
(cherry picked from commit 5bc2390229)

Co-authored-by: Ma Lin <animalize@users.noreply.github.com>
2022-05-08 20:16:26 -07:00
Ezio Melotti
8883172893
Fix use of the default role in a news entry. (#92500) 2022-05-08 19:32:54 +02:00
Gregory P. Smith
b795376a62
[3.10] gh-90622: Do not spawn ProcessPool workers on demand via fork method. (GH-91598) (#92497)
Do not spawn ProcessPool workers on demand when they spawn via fork.

This avoids potential deadlocks in the child processes due to forking from
a multithreaded process..
(cherry picked from commit ebb37fc3fd)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2022-05-08 10:12:46 -07:00
Dong-hee Na
731d893bdf
[3.10] gh-92448: Update the documentation builder to render the GitHub issue (GH-92449). (GH-92457) 2022-05-08 22:31:40 +09:00
Jelle Zijlstra
4674b315e5
[3.10] gh-92112: Fix crash triggered by an evil custom mro() (GH-92113) (#92370)
(cherry picked from commit 85354ed78c)

Co-authored-by: Alexey Izbyshev <izbyshev@ispras.ru>
2022-05-06 21:01:23 -07:00
Miss Islington (bot)
3db0e0b9f7
NEWS: Reorder items by section (GH-92373)
They caused duplicated sections.
(cherry picked from commit 9b491ae04c)

Co-authored-by: Inada Naoki <songofacandy@gmail.com>
2022-05-05 22:15:53 -07:00
Erlend Egeberg Aasland
2a2421e538
[3.10] gh-80254: Disallow recursive usage of cursors in sqlite3 converters (#92274)
* [3.10] gh-80254: Disallow recursive usage of cursors in `sqlite3` converters (#29054)

(cherry picked from commit f629dcfe83)

Co-authored-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>

* Fix ref leak in pysqlite_cursor_iternext
2022-05-05 12:46:21 -07:00
Miss Islington (bot)
178a238f25
gh-92036: Fix gc_fini_untrack() (GH-92037)
Fix a crash in subinterpreters related to the garbage collector. When
a subinterpreter is deleted, untrack all objects tracked by its GC.
To prevent a crash in deallocator functions expecting objects to be
tracked by the GC, leak a strong reference to these objects on
purpose, so they are never deleted and their deallocator functions
are not called.
(cherry picked from commit 14243369b5)

Co-authored-by: Victor Stinner <vstinner@python.org>
2022-05-04 03:23:29 -07:00
Miss Islington (bot)
28eea73e7c
bpo-47029: Fix BrokenPipeError in multiprocessing.Queue at garbage collection and explicit close (GH-31913)
(cherry picked from commit dfb1b9da8a)

Co-authored-by: Géry Ogam <gery.ogam@gmail.com>
2022-05-03 17:16:21 -07:00
Miss Islington (bot)
30681d6655
bpo-29890: Test IPv*Interface construction with tuple argument (GH-30862)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
(cherry picked from commit b295a92c50)

Co-authored-by: Humbled Drugman <humbled.drugman@gmail.com>
2022-05-03 11:18:31 -07:00
Miss Islington (bot)
5f709bdb86
bpo-46415: Use f-string for ValueError in ipaddress.ip_{address,network,interface} helper functions (GH-30642)
`IPv*Network` and `IPv*Interface` constructors accept a 2-tuple of
(address description, netmask) as the address parameter.
When the tuple-based address is used errors are not propagated
correctly through the `ipaddress.ip_*` helper because of the %-formatting now expecting several arguments:

	In [7]: ipaddress.ip_network(("192.168.100.0", "fooo"))
        ...
	TypeError: not all arguments converted during string formatting

Compared to:

	In [8]: ipaddress.IPv4Network(("192.168.100.0", "foo"))
        ...
	NetmaskValueError: 'foo' is not a valid netmask

Use an f-string to make sure the error is always properly formatted.

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
(cherry picked from commit 52dc9c3066)

Co-authored-by: Thomas Cellerier <thomascellerier@gmail.com>
2022-05-03 05:37:17 -07:00
Serhiy Storchaka
62ddbbcfaf
[3.10] gh-91583: AC: Fix regression for functions with defining_class (GH-91739) (GH-92079)
Argument Clinic now generates the same efficient code as before
adding the defining_class parameter.
(cherry picked from commit a055dac0b4)
2022-05-03 11:53:46 +03:00
Miss Islington (bot)
c467812bc0
bpo-46787: Fix ProcessPoolExecutor exception memory leak (GH-31408) (GH-31408)
Do not store `ProcessPoolExecutor` work item exception traceback that prevents
exception frame locals from being garbage collected.
(cherry picked from commit 9c204b148f)

Co-authored-by: themylogin <themylogin@gmail.com>
2022-05-02 15:45:22 -07:00
Miss Islington (bot)
bab4d0bb16
gh-91783: Document security considerations for shutil.unpack_archive (GH-91844)
(cherry picked from commit 4b297a9ffd)

Co-authored-by: Sam Ezeh <sam.z.ezeh@gmail.com>
2022-05-02 10:34:59 -07:00
Erlend Egeberg Aasland
178d79ae67
[3.10] gh-89301: Fix regression with bound values in traced SQLite statements (#92147)
(cherry picked from commit 721aa96540)
2022-05-02 10:21:13 -06:00
Miss Islington (bot)
d985c8e2e0
bpo-36819: Fix crashes in built-in encoders with weird error handlers (GH-28593)
If the error handler returns position less or equal than the starting
position of non-encodable characters, most of built-in encoders didn't
properly re-size the output buffer. This led to out-of-bounds writes,
and segfaults.
(cherry picked from commit 18b07d773e)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-05-02 02:58:41 -07:00
Gregory P. Smith
ea1eba03e7
[3.10] gh-91401: Conservative backport of subprocess._USE_VFORK (#91932)
This does not alter the `_posixsubprocess.fork_exec()` private API to
avoid issues for anyone relying on that (bad idea) or for anyone who's
`subprocess.py` and `_posixsubprocess.so` upgrades may not become
visible to existing Python 3.10 processes at the same time.

Backports the concept of cd5726fe67.

Provides a fail-safe way to disable vfork for #91401.

I didn't backport the documentation as I don't actually expect this to be used and `.. versionadded: 3.10.5` always looks weird in docs. It's being done more to have a fail-safe in place for people just in case.
2022-05-01 16:09:50 -07:00
Serhiy Storchaka
e8ff3c92f6
[3.10] gh-92049: Forbid pickling constants re._constants.SUCCESS etc (GH-92070) (GH-92073)
Previously, pickling did not fail, but the result could not be unpickled.
(cherry picked from commit 6d0d547033)
2022-04-30 15:33:39 +03:00
Miss Islington (bot)
19a079690c
bpo-43323: Fix UnicodeEncodeError in the email module (GH-32137)
It was raised if the charset itself contains characters not encodable
in UTF-8 (in particular \udcxx characters representing non-decodable
bytes in the source).
(cherry picked from commit e91dee87ed)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-04-30 05:31:28 -07:00
Miss Islington (bot)
7bd4411b90
bpo-26792: Improve docstrings of runpy module run_functions (GH-30729)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
(cherry picked from commit 117836f123)

Co-authored-by: Humbled Drugman <humbled.drugman@gmail.com>
2022-04-29 11:45:43 -07:00
Miss Islington (bot)
11652ceccf
gh-91832: Add 'required' attr to argparse.Action repr (GH-91841)
GH- Adding 'required' to names in Lib.argparse.Action

gh-91832:
Added 'required' to the list `names` in `Lib.argparse.Action`.
Changed constant strings that test the Action object.

Automerge-Triggered-By: GH:merwok
(cherry picked from commit 4ed3900041)

Co-authored-by: Abhigyan Bose <abhigyandeepbose@gmail.com>
2022-04-28 08:27:17 -07:00
Miss Islington (bot)
280749a8fd
Fix missing f prefix on f-strings (GH-91910)
(cherry picked from commit f882d33778)

Co-authored-by: Alexander Shadchin <alexandr.shadchin@gmail.com>
2022-04-27 00:08:05 -07:00
Ezio Melotti
4120bbae49
[3.10] gh-91888: add a :gh: role to the documentation (GH-91889) (#91934)
* gh-91888: Add a :gh: role to the documentation (GH-91889).

* [3.10] gh-91888: add a `:gh:` role to the documentation (GH-91889)

* Add a new :gh:`...` role for GitHub issues.

* Fix a GitHub id to use the :gh: role.

* Add Misc/NEWS entry.

* Refactoring and rephrasing.

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>.
(cherry picked from commit f7641a2ffe)

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2022-04-26 02:51:28 +02:00
Miss Islington (bot)
971343eb56
gh-91904: Fix setting envvar PYTHONREGRTEST_UNICODE_GUARD (GH-91905)
It always failed on non-UTF-8 locale and prevented running regrtests.
(cherry picked from commit 54d068adfb)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-04-25 08:03:47 -07:00