-
Notifications
You must be signed in to change notification settings - Fork 692
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
plugins/python: use PyOS_*Fork stable API functions on 3.7+ #2655
plugins/python: use PyOS_*Fork stable API functions on 3.7+ #2655
Conversation
To avoid calling functions made private from 3.13+. And probably fixing issues with C extensions.
As it should have been since years :_)
c1a3093
to
8d12fa1
Compare
Use current_frame instead
That is still in beta but removed private C APIs we were using.
8d12fa1
to
d6211dc
Compare
I've build some packages for the upcoming Fedora 41 with this (which will ship 3.13 and currently has RC versions), and I can confirm that the code builds, and it so far hasn't blown up with the test cases that I have. As for the patch itself, may I suggest not nesting the |
@Lalufu thanks for checking, I'll merge this as is and then we can revise it later. |
As mentioned in unbit#2655, this changes the way support for python 3.13 is handled. Instead of handling python 3.13 as a minor change from 3.12, and handling support for it under the 3.12 `#ifdef` blocks, this breaks out 3.13 into its own block, apart from 3.12. This makes the code a bit more verbose, but makes it easier to see what the structures look like for different python versions.
As mentioned in unbit#2655, this changes the way support for python 3.13 is handled. Instead of handling python 3.13 as a minor change from 3.12, and handling support for it under the 3.12 `#ifdef` blocks, this breaks out 3.13 into its own block, apart from 3.12. This makes the code a bit more verbose, but makes it easier to see what the structures look like for different python versions.
To avoid calling functions made private from 3.13+. And probably fixing issues with C extensions.