Commit graph

117285 commits

Author SHA1 Message Date
Alex Waygood
52a2bbdc9d
[3.12] Typing docs: move the deprecated stuff below the non-deprecated stuff (#105781) (#105783) 2023-06-14 16:03:30 +01:00
Miss Islington (bot)
ad7371e407
[3.12] gh-105745: Fix open method of webbrowser.Konqueror (GH-105746) (#105777)
gh-105745: Fix open method of webbrowser.Konqueror (GH-105746)
(cherry picked from commit e5d45b7444)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-06-14 12:26:33 +00:00
Miss Islington (bot)
0a9346d3d8
[3.12] gh-105587: Remove assertion from _PyStaticObject_CheckRefcnt (GH-105638) (#105769)
gh-105587: Remove assertion from `_PyStaticObject_CheckRefcnt` (GH-105638)
(cherry picked from commit 6199fe3b32)

Co-authored-by: Eddie Elizondo <eduardo.elizondorueda@gmail.com>
2023-06-14 05:04:22 +00:00
Miss Islington (bot)
bc997b38b6
[3.12] gh-105699: Use a Thread-Local Variable for PKGCONTEXT (gh-105740) (gh-105765)
This fixes a race during import. The existing _PyRuntimeState.imports.pkgcontext is shared between interpreters, and occasionally this would cause a crash when multiple interpreters were importing extensions modules at the same time.  To solve this we add a thread-local variable for the value.  We also leave the existing state (and infrequent race) in place for platforms that do not support thread-local variables.
(cherry picked from commit b87d288275)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2023-06-14 01:34:26 +00:00
Miss Islington (bot)
26bc2cc061
[3.12] gh-105387: Limited C API implements Py_INCREF() as func (GH-105388) (#105763)
gh-105387: Limited C API implements Py_INCREF() as func (GH-105388)

In the limited C API version 3.12, Py_INCREF() and Py_DECREF()
functions are now implemented as opaque function calls to hide
implementation details.
(cherry picked from commit b542972dc1)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-06-14 01:05:01 +00:00
Eric Snow
33d3069c45
[3.12] gh-104812: Run Pending Calls in any Thread (gh-104813) (gh-105752)
For a while now, pending calls only run in the main thread (in the main interpreter).  This PR changes things to allow any thread run a pending call, unless the pending call was explicitly added for the main thread to run.
(cherry picked from commit 757b402)
2023-06-14 00:50:08 +00:00
Miss Islington (bot)
75239d5ec1
[3.12] gh-105436: Ignore unrelated errors when checking empty env (GH-105742) (#105756)
gh-105436: Ignore unrelated errors when checking empty env (GH-105742)
(cherry picked from commit 4cefe3cf10)

Co-authored-by: Steve Dower <steve.dower@python.org>
2023-06-13 23:41:07 +00:00
Miss Islington (bot)
51b533ec50
[3.12] gh-98040: Fix importbench: use types.ModuleType() (GH-105743) (#105754)
gh-98040: Fix importbench: use types.ModuleType() (GH-105743)

Replace removed imp.new_module(name) with types.ModuleType(name).
(cherry picked from commit 457a459c78)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-06-13 22:59:02 +00:00
Miss Islington (bot)
27426d8983
[3.12] gh-102613: Bump recursion limit to fix running test_pathlib under Coverage (GH-105744) (#105749)
gh-102613: Bump recursion limit to fix running test_pathlib under Coverage (GH-105744)
(cherry picked from commit 4e80082723)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2023-06-13 21:21:04 +00:00
Miss Islington (bot)
c3a2cbb54d
[3.12] gh-105603: Change the PyInterpreterConfig.own gil Field (gh-105620) (gh-105731)
We are changing it to be more flexible that a strict bool can be for possible future expanded used cases.
(cherry picked from commit b97e14a806)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2023-06-13 17:42:56 +00:00
Miss Islington (bot)
9c51ea5d55
[3.12] gh-105718: Fix buffer allocation in tokenizer with readline (GH-105728) (#105729)
Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
2023-06-13 15:53:51 +00:00
Miro Hrončok
04b9168037
[3.12] gh-105084: Tests: Use setuptools+wheel from sysconfig.get_config_var('WHEEL_PKG_DIR') if set (#105056) (#105424)
Includes part of the changes from afa759fb80,
to make this apply.

Co-Authored-By: Lysandros Nikolaou <lisandrosnik@gmail.com>

(cherry picked from commit bd98b65e97)
2023-06-13 12:54:11 +02:00
Miss Islington (bot)
92929fd20e
[3.12] gh-105713: Document that tokenize raises when mixing tabs/spaces (GH-105723) (#105725)
* gh-105713: Document that tokenize raises when mixing tabs/spaces
* Update Doc/whatsnew/3.12.rst

(cherry picked from commit ed8217b493)

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-13 12:48:43 +02:00
Erlend E. Aasland
56877e4560
[3.12] gh-105375: Improve error handling in _Unpickler_SetInputStream() (#105667) (#105720)
Prevent exceptions from possibly being overwritten in case of multiple
failures.

(cherry picked from commit 217589d4f3)
2023-06-13 09:15:19 +00:00
Miss Islington (bot)
017b9595d4
[3.12] gh-105375: Explicitly initialise all {Pickler,Unpickler}Object fields (GH-105686) (#105710)
All fields must be explicitly initialised to prevent manipulation of
uninitialised fields in dealloc.

Align initialisation order with the layout of the object structs.

(cherry picked from commit ca3cc4b95d)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-12 22:12:17 +00:00
Miss Islington (bot)
77bdeebdda
[3.12] gh-105436: The environment block should end with two null wchar_t values (GH-105495) (#105700)
gh-105436: The environment block should end with two null wchar_t values (GH-105495)
(cherry picked from commit 4f7d3b602d)

Co-authored-by: Dora203 <66343334+sku2000@users.noreply.github.com>
2023-06-12 16:50:58 +00:00
Miss Islington (bot)
2eed1f5868
[3.12] gh-103968: PyType_FromMetaclass: Allow metaclasses with tp_new=NULL (GH-105386) (GH-105697)
gh-103968: PyType_FromMetaclass: Allow metaclasses with tp_new=NULL (GH-105386)
(cherry picked from commit 2b90796be6)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
2023-06-12 16:24:21 +00:00
Miss Islington (bot)
9e3e5d533e
[3.12] ARM64 clamping bug also exists in MSVC 14.35 (GH-105679) (#105695)
ARM64 clamping bug also exists in MSVC 14.35 (GH-105679)
(cherry picked from commit 58f0bda341)

Co-authored-by: Steve Dower <steve.dower@python.org>
2023-06-12 17:02:30 +01:00
Miss Islington (bot)
0b305e8d36
[3.12] gh-105673: Fix uninitialized warning in sysmodule.c (GH-105674) (#105675)
In sys_add_xoption(), 'value' may be uninitialized for some error paths.
(cherry picked from commit a8d69fe92c)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-06-12 09:15:45 +00:00
Erlend E. Aasland
d310fc776e
[3.12] gh-105375: Harden pyexpat initialisation (#105606) (#105669)
(cherry picked from commit 20a56d8bec)

Add proper error handling to add_errors_module() to prevent exceptions
from possibly being overwritten.
2023-06-11 21:35:13 +00:00
Miss Islington (bot)
a1034b5fd3
[3.12] gh-105375: Improve error handling in the sys extension module (GH-105611) (#105665)
In _PySys_AddXOptionWithError() and sys_add_xoption(),
bail on first error to prevent exceptions from possibly being
overwritten.
(cherry picked from commit 41cddc2e93)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-11 21:12:17 +00:00
Miss Islington (bot)
82ac2be6b3
[3.12] gh-105375: Improve error handling in _ctypes (GH-105593) (#105663)
Prevent repeated PyLong_FromVoidPtr() from possibly overwriting the
current exception.
(cherry picked from commit e8998e46a7)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-11 20:25:27 +00:00
Miss Islington (bot)
ed038953fc
[3.12] gh-105375: Improve error handling in PyUnicode_BuildEncodingMap() (GH-105491) (#105661)
Bail on first error to prevent exceptions from possibly being overwritten.
(cherry picked from commit 555be81026)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-11 20:01:18 +00:00
Miss Islington (bot)
db5022c16f
[3.12] gh-105375: Improve PyErr_WarnExplicit() error handling (GH-105610) (#105659)
Bail on first error to prevent exceptions from possibly being
overwritten.
(cherry picked from commit 567d6ae8e7)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-11 19:51:30 +00:00
Miss Islington (bot)
c14f6ea7e4
[3.12] gh-105375: Improve posix error handling (GH-105592) (#105598)
Fix a bug where an IndexError could end up being overwritten.
(cherry picked from commit f668f73bc8)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-11 21:33:30 +02:00
Miss Islington (bot)
071d559def
[3.12] Fix typo in configparser module docstring (GH-105652) (#105653)
Fix typo in configparser module docstring (GH-105652)

"zc.buildbot" -> "zc.buildout"
(cherry picked from commit 845e593c4e)

Co-authored-by: litlighilit <97860435+litlighilit@users.noreply.github.com>
2023-06-11 14:31:04 +00:00
Miss Islington (bot)
122a1a2629
[3.12] gh-105375: Improve error handling in the builtins extension module (GH-105585) (#105649)
(cherry picked from commit d4fa52934a)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-11 11:17:48 +00:00
Miss Islington (bot)
b4b5565e47
[3.12] gh-105375: Improve _decimal error handling (GH-105605) (#105647)
Fix a bug where an exception could end up being overwritten.
(cherry picked from commit c932f72849)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-11 10:55:18 +00:00
Miss Islington (bot)
36ecbc3570
[3.12] gh-105375: Harden _datetime initialisation (GH-105604) (#105645)
Improve error handling so init bails on the first exception.
(cherry picked from commit 16d49680b5)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-11 10:46:33 +00:00
Miss Islington (bot)
85a1a0983f
[3.12] gh-105375: Harden _ssl initialisation (GH-105599) (#105642)
Add proper error handling to prevent reference leaks and overwritten
exceptions.
(cherry picked from commit 01f4230460)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-11 10:26:52 +00:00
Miss Islington (bot)
d3c69ed366
[3.12] gh-105375: Improve array.array exception handling (GH-105594) (#105644)
Fix a bug where 'tp_richcompare' could end up overwriting an exception.
(cherry picked from commit 35cff545db)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-11 10:24:22 +00:00
Miss Islington (bot)
bf6e0e618a
[3.12] gh-99108: Mention HACL\* in the hashlib docs. (GH-105634) (#105635)
gh-99108: Mention HACL\* in the hashlib docs. (GH-105634)
(cherry picked from commit 3a314f7c3d)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-06-10 12:10:04 -07:00
Miss Islington (bot)
e2bbe62e00
[3.12] Cleanup and clarify our hashlib docs. (GH-105624) (#105632)
Cleanup and clarify our hashlib docs. (GH-105624)

Clarify and improve our hashlib docs. Now with 50% less mess!
(cherry picked from commit 0d1d6ab966)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-06-10 11:49:59 -07:00
Miss Islington (bot)
8c4cf96a06
[3.12] gh-105375: Improve error handling in zoneinfo module (GH-105586) (#105612)
Fix bugs where exceptions could end up being overwritten
because of deferred error handling.

(cherry picked from commit 33c92c4f15)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-09 23:22:10 +00:00
Miss Islington (bot)
4fbbf699c0
[3.12] gh-105375: Harden error handling in _testcapi/heaptype.c (GH-105608) (#105615)
Bail on first error in heapctypesubclasswithfinalizer_finalize()
(cherry picked from commit d636d7dfe7)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-09 23:21:42 +00:00
Miss Islington (bot)
5dae2b1a5d
[3.12] Docs: fix formatting in 2023-06-09-12-59-18 NEWS item (GH-105607) (#105614)
(cherry picked from commit 91441bf7cb)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-09 21:53:53 +00:00
Miss Islington (bot)
ae6e002f5a
[3.12] gh-105549: Tokenize separately NUMBER and NAME tokens and allow 0-prefixed literals (GH-105555) (#105602)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2023-06-09 21:40:07 +00:00
Miss Islington (bot)
411366ccdb
[3.12] gh-105375: Improve error handling in _elementtree (GH-105591) (#105600)
Fix bugs where exceptions could end up being overwritten.
(cherry picked from commit 00b599ab5a)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-09 21:15:24 +00:00
Erlend E. Aasland
e0087df65d
[3.12] gh-105375: Improve errnomodule error handling (#105590) (#105596)
(cherry picked from commit eede1d2f48)

Bail immediately if an exception is set, to prevent exceptions from
being overwritten.
2023-06-09 20:36:53 +00:00
Erlend E. Aasland
04b76ece7f
[3.12] gh-105375: Improve _pickle error handling (#105475) (#105584)
(cherry picked from commit 89aac6f6b7)

Error handling was deferred in some cases, which could potentially lead
to exceptions being overwritten.
2023-06-09 18:08:32 +00:00
Miss Islington (bot)
65404930bd
[3.12] gh-105375: Improve error handling in compiler_enter_scope() (GH-105494) (#105581)
(cherry picked from commit 6c832ddcf2)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-09 17:23:45 +00:00
Miss Islington (bot)
bc365da711
[3.12] gh-105557: Remove duplicate sqlite3 test method (GH-105558) (#105561)
test_func_return_too_large_int() was defined twice.
Keep only the redefined method, as that also checks the tracebacks.
(cherry picked from commit b8fa7bda4f)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-09 17:15:55 +00:00
Miss Islington (bot)
16b1cdc87c
[3.12] gh-105564: Don't include artificial newlines in the line attribute of tokens (GH-105565) (#105579)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2023-06-09 16:58:14 +00:00
Miss Islington (bot)
97d846dc2b
[3.12] Clarify the supported cases in the tokenize module (GH-105569) (#105573)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2023-06-09 16:00:42 +00:00
Miss Islington (bot)
7c298d2dc5
[3.12] Miscellaneous improvements to the typing docs (GH-105529) (#105567)
Miscellaneous improvements to the typing docs (GH-105529)

Mostly, these are changes so that we use shorter sentences and shorter paragraphs. In particular, I've tried to make the first sentence introducing each object in the typing API short and declarative.
(cherry picked from commit 8e755923c9)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-09 15:37:33 +00:00
Victor Stinner
d29e86bea3
[3.12] gh-102304: Fix Py_INCREF() for limited C API 3.9 (#105553)
* gh-102304: Fix Py_INCREF() for limited C API 3.9 (#105550)

When Python is built in debug mode (Py_REF_DEBUG macro), Py_INCREF()
and Py_DECREF() of the limited C API 3.9 (and older) now call
Py_IncRef() and Py_DecRef(), since _Py_IncRef() and _Py_DecRef() were
added to Python 3.10.

(cherry picked from commit 7ba0fd9f87)

* gh-102304: Remove Py_INCREF() doc change (#105552)

Py_INCREF() was made compatible again with Python 3.9 and older in
the limited API of Python debug mode.

(cherry picked from commit 58e4b69f69)
2023-06-09 10:32:46 +00:00
Miss Islington (bot)
2f4a2d6c1b
[3.12] gh-105332: [Enum] Fix unpickling flags in edge-cases (GH-105348) (GH-105520)
* revert enum pickling from by-name to by-value

(cherry picked from commit 4ff5690e59)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
2023-06-08 18:01:51 -07:00
Miss Islington (bot)
68eeab7fdd
[3.12] CI: Configure macOS build as per updated devguide recommendations (GH-105533) (#105536)
(cherry picked from commit a5f23d4110)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-06-08 23:00:53 +00:00
Miss Islington (bot)
77c03a3b72
[3.12] gh-100227: Lock Around Modification of the Global Allocators State (gh-105516) (gh-105532)
The risk of a race with this state is relatively low, but we play it safe anyway. We do avoid using the lock in performance-sensitive cases where the risk of a race is very, very low.
(cherry picked from commit 68dfa49627)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2023-06-08 22:35:53 +00:00
Miss Islington (bot)
3eccd95f56
[3.12] gh-102832: IDLE - update stackviewer open (GH-105528) (#105534)
gh-102832: IDLE - update stackviewer open (GH-105528)

Use 'last_exc' instead of 'last_value' in 3.12/3.
(cherry picked from commit bb3454c1a7)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2023-06-08 22:29:24 +00:00