gh-76785: Improved Subinterpreters Compatibility with 3.12 (gh-115424)

For the most part, these changes make is substantially easier to backport subinterpreter-related code to 3.12, especially the related modules (e.g. _xxsubinterpreters). The main motivation is to support releasing a PyPI package with the 3.13 capabilities compiled for 3.12.

A lot of the changes here involve either hiding details behind macros/functions or splitting up some files.
This commit is contained in:
Eric Snow 2024-02-13 14:56:49 -07:00 • committed by GitHub
parent 206f73dc5f
commit 514b1c91b8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 857 additions and 719 deletions

View file

@ -292,10 +292,10 @@ Objects/exceptions.c - PyExc_UnicodeWarning -
Objects/exceptions.c - PyExc_BytesWarning -
Objects/exceptions.c - PyExc_ResourceWarning -
Objects/exceptions.c - PyExc_EncodingWarning -
Python/crossinterp.c - _PyExc_InterpreterError -
Python/crossinterp.c - _PyExc_InterpreterNotFoundError -
Python/crossinterp.c - PyExc_InterpreterError -
Python/crossinterp.c - PyExc_InterpreterNotFoundError -
Python/crossinterp_exceptions.h - _PyExc_InterpreterError -
Python/crossinterp_exceptions.h - _PyExc_InterpreterNotFoundError -
Python/crossinterp_exceptions.h - PyExc_InterpreterError -
Python/crossinterp_exceptions.h - PyExc_InterpreterNotFoundError -
##-----------------------
## singletons

Can't render this file because it has a wrong number of fields in line 4.