Eric Snow
758b74e71e
bpo-46008: Add _PyInterpreterState_Main(). (gh-29978)
...
PyInterpreterState_Main() is a plain function exposed in the public C-API. For internal usage we can take the more efficient approach in this PR.
https://bugs.python.org/issue46008
2021-12-07 18:56:06 -07:00
Eric Snow
1f384e3184
bpo-46008: Stop calling _PyThreadState_Init() in new_threadstate(). (gh-29973)
...
This simplifies new_threadstate(). We also rename _PyThreadState_Init() to _PyThreadState_SetCurrent() to reflect what it actually does.
https://bugs.python.org/issue46008
2021-12-07 17:26:29 -07:00
Eric Snow
9b577cd01f
bpo-46008: Use PyMem_RawCalloc() to allocate PyThreadState. (GH-29972)
...
Doing so allows us to stop assigning various fields to `NULL` and 0. It also more closely matches the behavior of a static initializer.
Automerge-Triggered-By: GH:ericsnowcurrently
2021-12-07 13:37:51 -08:00
Eric Snow
313f92a57b
bpo-46008: Move thread-related interpreter state into a sub-struct. (gh-29971)
...
This parallels _PyRuntimeState.interpreters. Doing this helps make it more clear what part of PyInterpreterState relates to its threads.
https://bugs.python.org/issue46008
2021-12-07 14:03:47 -07:00
Eric Snow
8262c96bcc
bpo-46008: Return void from _PyEval_InitState(). (gh-29970)
...
This falls into the category of keep-allocation-and-initialization separate. It also allows us to use _PyEval_InitState() safely in functions that return void.
https://bugs.python.org/issue46008
2021-12-07 14:02:17 -07:00
Christian Heimes
91b59a3fcd
bpo-45847: Revert Port _ctypes partly to PY_STDLIB_MOD (GH-29747) (GH-29969)
2021-12-07 20:56:41 +01:00
Christian Heimes
06c4ae8b13
bpo-45582: Fix framework path and bootstrap build (GH-29954)
...
* Check NS API return values for NULL to prevent segfault in
``_bootstrap_python``.
* Set modPathInitialized to 1 so the ``decode_to_dict`` path is used.
Signed-off-by: Christian Heimes <christian@python.org>
2021-12-07 19:09:53 +01:00
Mark Shannon
064e53d19a
Fix leak when an exception is raised during generator creation. (GH-29960)
2021-12-07 18:05:48 +00:00
Irit Katriel
d596acbd3b
bpo-45635: standardize error handling in traceback.c (GH-29905)
...
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
2021-12-07 16:17:22 +00:00
Mark Shannon
8319114fee
bpo-45947: Place dict and values pointer at fixed (negative) offset just before GC header. (GH-29879)
...
* Place __dict__ immediately before GC header for plain Python objects.
* Fix up lazy dict creation logic to use managed dict pointers.
* Manage values pointer, placing them directly before managed dict pointers.
* Convert hint-based load/store attr specialization target managed dict classes.
* Specialize LOAD_METHOD for managed dict objects.
* Remove unsafe _PyObject_GC_Calloc function.
* Remove unsafe _PyObject_GC_Malloc() function.
* Add comment explaning use of Py_TPFLAGS_MANAGED_DICT.
2021-12-07 16:02:53 +00:00
Ken Jin
c7e7a4b969
bpo-35821: Fix restructuredtext code formatting in logging.rst (GH-29963)
2021-12-07 23:25:13 +08:00
Pablo Galindo Salgado
1c7a1c3be0
bpo-46004: Fix error location for loops with invalid targets (GH-29959)
2021-12-07 13:02:15 +00:00
Victor Stinner
cf7eaa4617
Revert "bpo-28533: Remove asyncore, asynchat, smtpd modules (GH-29521)" (GH-29951)
...
This reverts commit 9bf2cbc4c4
.
2021-12-07 12:31:04 +01:00
Vinay Sajip
2bf551757e
bpo-35821: Add an example to Logger.propagate documentation. (GH-29841)
2021-12-07 11:15:44 +00:00
Irit Katriel
a310fd83a0
bpo-45890: Add tests for tracing try-except-finally blocks (GH-29746)
2021-12-07 10:50:37 +00:00
James Gerity
8db06528ca
bpo-46001: Change OverflowError to RecursionError in JSON library docstrings (GH-29943)
2021-12-07 11:58:40 +02:00
Ned Deily
ddbab69b6d
bpo-45798: Let libmpdec decide which archs to build on macOS as done previously. (GH-29949)
2021-12-06 21:35:50 -05:00
180909
c5c365220e
bpo-28953: Use raise from
when raising new IncompleteRead (GH-29861)
...
Automerge-Triggered-By: GH:asvetlov
2021-12-06 16:10:49 -08:00
Steve Dower
b7ef27bc08
bpo-45582: Ensure PYTHONHOME still overrides detected build prefixes (GH-29948)
2021-12-07 00:07:35 +00:00
Kumar Aditya
265918bb1d
bpo-23819: asyncio: Replace AssertionError with TypeError where it makes sense (GH-29894)
2021-12-07 01:40:35 +02:00
Taras Sereda
8518ee348c
removal of duplicated text paragraph ( #29666 )
2021-12-07 01:12:29 +02:00
Christian Heimes
fc012d8012
bpo-45847: Fix uuid detection on macOS (GH-29946)
2021-12-06 21:43:44 +01:00
Christian Heimes
f16f93e527
bpo-45582: framework build: modPath must not be const (GH-29944)
...
Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
2021-12-06 19:13:12 +01:00
neonene
af1db4eb55
bpo-45582: Fix getpath_isxfile() and test_embed on Windows (GH-29930)
2021-12-06 17:25:19 +00:00
Christian Heimes
612e59b53f
bpo-45950: Fix macOS framework builds of _bootstrap_python (GH-29936)
2021-12-06 17:13:53 +01:00
Christian Heimes
98fac8bc18
bpo-44035: Check autoconf files thoroughly (GH-29935)
...
Check that users don't push changes with outdated or patched autoconf.
The presence of runstatedir option and aclocal 1.16.3 are good markers.
Use my container image to regenerate autoconf files. "Check for changes"
will fail later when any file is regenerated.
Use ccache in check_generated_files to speed up testing.
2021-12-06 13:18:56 +01:00
Mark Shannon
299483c95d
bpo-45963: Make space for the InterpreterFrame of a generator in that generator. (GH-29891)
...
* Make generator, coroutine and async gen structs all the same size.
* Store interpreter frame in generator (and coroutine). Reduces the number of allocations neeeded for a generator from two to one.
2021-12-06 10:13:49 +00:00
Ned Deily
f34d181fa1
bpo-45732: Update python.org macOS installer to use Tcl/Tk 8.6.12. (GH-29931)
2021-12-06 02:44:09 -05:00
Alex Waygood
c0521fe49f
bpo-45840: Improve cross-references in the data model documentation (GH-29633)
2021-12-05 22:49:36 +02:00
Serhiy Storchaka
2b318ce1c9
bpo-45664: Fix resolve_bases() and new_class() for GenericAlias instance as a base (GH-29298)
2021-12-05 22:44:01 +02:00
Serhiy Storchaka
446be16686
bpo-45663: Fix is_dataclass() for dataclasses which are subclasses of types.GenericAlias (GH-29294)
2021-12-05 22:42:50 +02:00
Serhiy Storchaka
1fd4de5bdd
bpo-45662: Fix the repr of InitVar with a type alias to the built-in class (GH-29291)
...
For example, InitVar[list[int]].
2021-12-05 22:41:58 +02:00
Serhiy Storchaka
60c320c38e
bpo-37295: Optimize math.comb() and math.perm() (GH-29090)
...
For very large numbers use divide-and-conquer algorithm for getting
benefit of Karatsuba multiplication of large numbers.
Do calculations completely in C unsigned long long instead of Python
integers if possible.
2021-12-05 22:26:10 +02:00
Christian Heimes
628abe4463
bpo-45582: Fix signature of _Py_Get_Getpath_CodeObject (GH-29921)
2021-12-05 18:41:46 +01:00
Guido van Rossum
605f4bf783
Delete orphaned comment ( #29917 )
...
(The function this described was deleted by PR #23743 , the comment was accidentally retained.)
2021-12-05 09:03:58 -08:00
Serhiy Storchaka
d15cdb2f32
bpo-27946: Fix possible crash in ElementTree.Element (GH-29915)
...
Getting an attribute via attrib.get() simultaneously with replacing
the attrib dict can lead to access to deallocated dict.
2021-12-05 14:22:54 +02:00
Serhiy Storchaka
f42a06ba27
bpo-13236: Flush the output stream more often in unittest (GH-29864)
...
It can prevent some losses when output to buffered stream.
2021-12-04 20:57:20 +02:00
Vishal Pandey
87a18deda4
Fixed documentation typo in compileall.py (GH-29912)
2021-12-05 00:38:17 +09:00
Christian Heimes
64be8d369b
bpo-45847: Update whatsnew and add place holder entries for missing extensions (GH-29914)
2021-12-04 15:14:48 +01:00
Christian Heimes
4045392e0e
bpo-45847: Port _ctypes partly to PY_STDLIB_MOD (GH-29747)
...
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
2021-12-04 11:21:43 +01:00
Christian Heimes
cee07b1628
bpo-45695: Test out-of-tree builds on GHA (GH-29904)
2021-12-04 11:07:59 +01:00
Raymond Hettinger
135ecc3492
bpo-20751: Replace method example with attribute example, matching the descriptor howto (GH-29909)
2021-12-03 20:37:08 -06:00
Benjamin Peterson
0ae4e0c959
bpo-45582 Fix prototype of _Py_Get_Getpath_CodeObject. (GH-29907)
...
Automerge-Triggered-By: GH:tiran
2021-12-03 15:21:58 -08:00
neonene
7d7c91a8e8
bpo-45582: Add a NOT operator to the condition in getpath_isxfile (GH-29906)
2021-12-03 22:04:11 +00:00
Irit Katriel
5bb7ef2768
bpo-45607: Make it possible to enrich exception displays via setting their __note__ field (GH-29880)
2021-12-03 22:01:15 +00:00
Crowthebird
d9301703fb
bpo-45816: Support building with VS 2022 (v143 toolset) on Windows (GH-29577)
2021-12-03 19:47:38 +00:00
Irit Katriel
2ff758bd1a
bpo-45711: [asyncio] Normalize exceptions immediately after Fetch, before they are stored as StackItem, which should be normalized (GH-29890)
2021-12-03 19:05:14 +00:00
Christian Heimes
84ca1232b0
bpo-45950: Introduce Bootstrap Python again ( #29859 )
...
The build system now uses a :program:`_bootstrap_python` interpreter for
freezing and deepfreezing again. To speed up build process the build tools
:program:`_bootstrap_python` and :program:`_freeze_module` are no longer
build with LTO.
Cross building depends on a build Python interpreter, which must have same
version and bytecode as target host Python.
2021-12-03 16:01:11 +01:00
Christian Heimes
ccb73a0d50
bpo-45582: Fix out-of-tree build issues with new getpath (GH-29902)
2021-12-03 14:47:06 +01:00
Dennis Sweeney
03768c4d13
bpo-45885: Specialize COMPARE_OP (GH-29734)
...
* Add COMPARE_OP_ADAPTIVE adaptive instruction.
* Add COMPARE_OP_FLOAT_JUMP, COMPARE_OP_INT_JUMP and COMPARE_OP_STR_JUMP specialized instructions.
* Introduce and use _PyUnicode_Equal
2021-12-03 11:29:12 +00:00