Victor Stinner
8ddf0dd264
gh-105268: Remove _PyGC_FINALIZED() macro ( #105350 )
...
Remove the old private, undocumented and untested _PyGC_FINALIZED()
macro which was kept for backward compatibility with Python 3.8 and
older.
2023-06-06 11:54:23 +02:00
Petr Viktorin
49fe2e4af7
Add myself as codeowner for Limited API/Stable ABI, remove from *import* (GH-105349)
...
This should set up more relevant notifications for me.
2023-06-06 09:33:40 +00:00
Erlend E. Aasland
e01c4de35d
gh-90005: Don't link with libbsd if not needed ( #105236 )
...
The regression was introduced with commit 5b946cada
.
Restore pre gh-29696 behaviour.
2023-06-06 09:33:01 +00:00
Irit Katriel
f4d8e10d0d
gh-105292: Add option to make traceback.TracebackException.format_exception_only recurse into exception groups ( #105294 )
...
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2023-06-06 11:26:18 +02:00
Victor Stinner
92022d8416
gh-102304: Fix Py_INCREF() stable ABI in debug mode ( #104763 )
...
When Python is built in debug mode (if the Py_REF_DEBUG macro is
defined), the Py_INCREF() and Py_DECREF() function are now always
implemented as opaque functions to avoid leaking implementation
details like the "_Py_RefTotal" variable or the
_Py_DecRefTotal_DO_NOT_USE_THIS() function.
* Remove _Py_IncRefTotal_DO_NOT_USE_THIS() and
_Py_DecRefTotal_DO_NOT_USE_THIS() from the stable ABI.
* Remove _Py_NegativeRefcount() from limited C API.
2023-06-06 11:15:09 +02:00
Victor Stinner
bae415ad02
gh-102304: doc: Add links to Stable ABI and Limited C API ( #105345 )
...
* Add "limited-c-api" and "stable-api" references.
* Rename "stable-abi-list" reference to "limited-api-list".
* Makefile: Document files regenerated by "make regen-limited-abi"
* Remove first empty line in generated files:
- Lib/test/test_stable_abi_ctypes.py
- PC/python3dll.c
2023-06-06 08:40:32 +00:00
Christopher Chavez
00d73caf80
gh-104399: Use newer libtommath APIs when necessary (GH-104407)
2023-06-06 09:52:07 +03:00
Gregory P. Smith
852348ab65
Display the sanitizer config in the regrtest header. ( #105301 )
...
Display the sanitizers present in libregrtest.
Having this in the CI output for tests with the relevant environment
variable displayed will help make it easier to do what we need to
create an equivalent local test run.
2023-06-05 23:36:36 -07:00
Pablo Galindo Salgado
f04c16875b
gh-105324: Fix tokenize module main function for stdin ( #105325 )
2023-06-05 18:36:40 +02:00
Tian Gao
677cf39741
Remove dead code in codeop.py ( #105263 )
2023-06-05 18:14:10 +02:00
Jakub Kuczys
a4f72fa39a
gh-89412: Add missing attributes (added in 3.10) to traceback module docs ( #105046 )
2023-06-05 18:10:13 +02:00
Hugo van Kemenade
eb0ce92141
What's New in 3.12: List 'Improved Modules' alphabetically ( #105315 )
2023-06-05 18:04:11 +03:00
Alex Waygood
f714aa2c29
gh-105286: Improve `typing.py` docstrings ( #105287 )
...
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-06-05 14:16:09 +00:00
Alex Waygood
08756dbba6
gh-105280: Ensure `isinstance([], collections.abc.Mapping)` always evaluates to `False` ( #105281 )
2023-06-05 14:10:49 +00:00
Dong-hee Na
058b960535
gh-103906: Remove immortal refcounting in compile/marshal.c (gh-103922)
2023-06-05 22:38:36 +09:00
Alex Waygood
cdfb201bfa
gh-105237: Allow calling `issubclass(X, typing.Protocol)` again ( #105239 )
2023-06-05 06:36:51 -07:00
Jelle Zijlstra
69d1245685
gh-105164: Detect annotations inside match blocks ( #105177 )
2023-06-05 06:07:17 -07:00
Mark Shannon
0689340366
GH-105229: Replace some superinstructions with single instruction equivalent. (GH-105230)
2023-06-05 11:07:04 +01:00
Mark Shannon
e8ecb9ee6b
GH-104584: Allow optimizers to opt out of optimizing. (GH-105244)
2023-06-05 09:44:23 +01:00
Tian Gao
9efaff5fd3
gh-103558: Add coverage tests for argparse ( #103570 )
...
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
Co-authored-by: hauntsaninja <hauntsaninja@gmail.com>
2023-06-05 00:14:00 -07:00
Gregory P. Smith
418befd75d
gh-98963: Restore the ability to have a dict-less property. ( #105262 )
...
Ignore doc string assignment failures in `property` as has been the
behavior of all past Python releases.
2023-06-05 03:18:15 +00:00
Inada Naoki
1237fb6a4b
gh-80480: array: Add 'w' typecode. ( #105242 )
2023-06-04 16:45:00 +00:00
Joe Geisbauer
5a5ed7a3e6
gh-104882: Docs: fix description of relationship between `socket.getblocking()` and `socket.gettimeout()` ( #105026 )
2023-06-04 16:59:16 +01:00
Shantanu
9a90c9ace2
Fix typo in Python 3.12 What's New ( #105278 )
2023-06-04 16:42:00 +01:00
chgnrdv
ce558e69d4
gh-104690 Disallow thread creation and fork at interpreter finalization ( #104826 )
...
Disallow thread creation and fork at interpreter finalization.
in the following functions, check if interpreter is finalizing and raise `RuntimeError` with appropriate message:
* `_thread.start_new_thread` and thus `threading`
* `posix.fork`
* `posix.fork1`
* `posix.forkpty`
* `_posixsubprocess.fork_exec` when a `preexec_fn=` is supplied.
---------
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-06-04 04:06:45 +00:00
Nikita Sobolev
eaff9c39aa
gh-89415: Mention new `IP_*` constants in `socket` module in the docs ( #105266 )
2023-06-03 08:28:29 -07:00
Irit Katriel
94a1eea511
gh-103277: remove unused macros ( #105247 )
2023-06-03 05:12:07 -06:00
Eric Snow
e6373c0d8b
gh-101524: Only Use Public C-API in the _xxsubinterpreters Module (gh-105258)
...
The _xxsubinterpreters module was meant to only use public API. Some internal C-API usage snuck in over the last few years (e.g. gh-28969). This fixes that.
2023-06-02 22:52:33 +00:00
Tian Gao
9ad199ba36
gh-105080: Fixed inconsistent signature on derived classes ( #105217 )
2023-06-02 16:22:33 -06:00
Brett Cannon
70dc2fb973
GH-102404, GH-100956: Document how to do a WASI build (GH-105251)
...
Also includes a reference shell script to implements what is documented.
2023-06-02 15:15:41 -07:00
Erlend E. Aasland
e01b04c907
gh-104614: Fix potential ref. leak in _testcapimodule/get_basic_static_type() ( #105225 )
2023-06-02 18:44:24 +02:00
Irit Katriel
0dafc785ee
gh-102778: update documentation of PyErr_PrintEx and traceback.print_last() regarding sys.last_exc ( #105190 )
2023-06-02 17:01:46 +01:00
Dong-hee Na
2f5c1ae080
gh-87092: avoid gcc warning on uninitialized struct field in assemble… (gh-105243)
...
gh-87092: avoid gcc warning on uninitialized struct field in assemble.c (part2)
2023-06-02 16:00:50 +00:00
Irit Katriel
a9305b5e80
gh-105240: add missing function prototypes ( #105241 )
2023-06-02 15:11:20 +00:00
Jelle Zijlstra
44bb03f856
gh-105214: Use named constants for MAKE_FUNCTION oparg ( #105215 )
2023-06-02 14:10:45 +00:00
Pablo Galindo Salgado
41de54378d
gh-105194: Fix format specifier escaped characters in f-strings ( #105231 )
2023-06-02 13:33:26 +02:00
Mark Shannon
4bfa01b9d9
GH-104584: Plugin optimizer API (GH-105100)
2023-06-02 11:46:18 +01:00
Mark Shannon
601ae09f0c
GH-105162: Account for `INSTRUMENTED_RESUME` in gen.close/throw. (GH-105187)
2023-06-02 10:39:38 +01:00
Irit Katriel
ee26ca13a1
gh-105184: document that marshal functions can fail and need to be checked with PyErr_Occurred ( #105185 )
2023-06-02 08:59:18 +01:00
Jelle Zijlstra
77d2579586
gh-104799: Default missing lists in AST to the empty list ( #104834 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-06-01 18:39:39 -07:00
Inada Naoki
37498fc950
gh-85275: Remove old buffer APIs ( #105137 )
...
They are now abi-only.
Co-authored-by: Victor Stinner <vstinner@python.org>
2023-06-02 01:12:40 +00:00
Victor Stinner
ef300937c2
gh-92536: Remove PyUnicode_READY() calls ( #105210 )
...
Since Python 3.12, PyUnicode_READY() does nothing and always
returns 0.
2023-06-02 01:33:17 +02:00
Victor Stinner
cbb9ba844f
gh-92536: Argument Clinic no longer emits PyUnicode_READY() ( #105208 )
...
Since Python 3.12, PyUnicode_READY() does nothing and always
returns 0.
Argument Clinic now also checks for .cpp files (PC/_wmimodule.cpp).
2023-06-02 01:31:58 +02:00
Eric Snow
146939306a
gh-104614: Make Sure ob_type is Always Set Correctly by PyType_Ready() (gh-105122)
...
When I added the relevant condition to type_ready_set_bases() in gh-103912, I had missed that the function also sets tp_base and ob_type (if necessary). That led to problems for third-party static types.
We fix that here, by making those extra operations distinct and by adjusting the condition to be more specific.
2023-06-01 22:28:31 +00:00
Eric Snow
3698fda06e
gh-104341: Call _PyEval_ReleaseLock() with NULL When Finalizing the Current Thread (gh-105109)
...
This avoids the problematic race in drop_gil() by skipping the FORCE_SWITCHING code there for finalizing threads.
(The idea for this approach came out of discussions with @markshannon.)
2023-06-01 16:24:10 -06:00
Erlend E. Aasland
8a8ebf2e3d
GH-89886: Bump to GNU Autoconf v2.71 ( #104925 )
...
Co-authored-by: Christian Heimes <christian@python.org>
2023-06-01 23:44:25 +02:00
Irit Katriel
60f8117d0c
gh-105140: remove unused arg of _PyErr_ChainStackItem ( #105141 )
2023-06-01 20:57:28 +00:00
Gregory P. Smith
ede89af605
gh-103142: Upgrade binary builds and CI to OpenSSL 1.1.1u ( #105174 )
...
Upgrade builds to OpenSSL 1.1.1u.
This OpenSSL version addresses a pile if less-urgent CVEs since 1.1.1t.
The Mac/BuildScript/build-installer.py was already updated.
Also updates _ssl_data_111.h from OpenSSL 1.1.1u, _ssl_data_300.h from 3.0.9, and adds a new _ssl_data_31.h file from 3.1.1 along with the ssl.c code to use it.
Manual edits to the _ssl_data_300.h file prevent it from removing any existing definitions in case those exist in some peoples builds and were important (avoiding regressions during backporting).
backports of this prior to 3.12 will not include the openssl 3.1 header.
2023-06-01 09:42:18 -07:00
Lysandros Nikolaou
a241003d04
gh-105191: Cleanup peg generator; keep only necessary files ( #105197 )
2023-06-01 17:24:15 +02:00
Victor Stinner
c67121ac6b
gh-105145: Deprecate Py_GetPath() function ( #105179 )
...
Deprecate old Python initialization functions:
* PySys_ResetWarnOptions()
* Py_GetExecPrefix()
* Py_GetPath()
* Py_GetPrefix()
* Py_GetProgramFullPath()
* Py_GetProgramName()
* Py_GetPythonHome()
_tkinter.c uses sys.executable instead of Py_GetProgramName()
and uses sys.prefix instead of Py_GetPrefix().
2023-06-01 12:06:32 +00:00