Skip to content
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

bpo-43795: Don't list private names in the limited API #26740

Merged
merged 4 commits into from
Jun 16, 2021

Conversation

encukou
Copy link
Member

@encukou encukou commented Jun 15, 2021

  • Use the public alias PyFrameObject rather than _frame
  • Remove _node, which disappeared in 3.9 along with the old parser
  • Ensure private (underscore-prefixed) names are not on the Limited API list. (They can be part of the stable ABI, though, e.g. as implementation details of macros.)

This only affects documentation.

https://bugs.python.org/issue43795

This struct was removed along with the old parser in Python 3.9 (PEP 617)
Names prefixed by an underscore are private by definition.
@encukou encukou merged commit 7cad9cb into python:main Jun 16, 2021
@miss-islington
Copy link
Contributor

Thanks @encukou for the PR 🌮🎉.. I'm working now to backport this PR to: 3.10.
🐍🍒⛏🤖

@encukou encukou deleted the pep652-privatenamed-structs branch June 16, 2021 09:22
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Jun 16, 2021
* Remove struct _node from the stable ABI list

This struct was removed along with the old parser in Python 3.9 (PEP 617)

* Stable ABI list: Use the public name "PyFrameObject" rather than "_frame"

* Ensure limited API doesn't contain private names

Names prefixed by an underscore are private by definition.

* Add a blurb
(cherry picked from commit 7cad9cb)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
@bedevere-bot bedevere-bot removed the needs backport to 3.10 only security fixes label Jun 16, 2021
@bedevere-bot
Copy link

GH-26753 is a backport of this pull request to the 3.10 branch.

miss-islington added a commit that referenced this pull request Jun 16, 2021
* Remove struct _node from the stable ABI list

This struct was removed along with the old parser in Python 3.9 (PEP 617)

* Stable ABI list: Use the public name "PyFrameObject" rather than "_frame"

* Ensure limited API doesn't contain private names

Names prefixed by an underscore are private by definition.

* Add a blurb
(cherry picked from commit 7cad9cb)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
jdevries3133 pushed a commit to jdevries3133/cpython that referenced this pull request Jun 19, 2021
* Remove struct _node from the stable ABI list

This struct was removed along with the old parser in Python 3.9 (PEP 617)

* Stable ABI list: Use the public name "PyFrameObject" rather than "_frame"

* Ensure limited API doesn't contain private names

Names prefixed by an underscore are private by definition.

* Add a blurb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants