-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
gh-132246: Add special buffer methods to C API Type Object docs #132247
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
base: main
Are you sure you want to change the base?
Conversation
Two special methods, __buffer__ and __release_buffer__ were added to Python 3.12 by PEP 688. The C API Type Object documentation for slots includes `tp_as_buffer`, and sub-slots `bf_getbuffer`, `bf_releasebuffer` but does not refer to the Python Data Model version of those. Add the missing references.
Doc/c-api/typeobj.rst
Outdated
@@ -325,9 +325,16 @@ sub-slots | |||
+---------------------------------------------------------+-----------------------------------+---------------+ | |||
| | | |||
+---------------------------------------------------------+-----------------------------------+---------------+ | |||
| :c:member:`~PyBufferProcs.bf_getbuffer` | :c:func:`getbufferproc` | | | |||
| :c:member:`~PyBufferProcs.bf_getbuffer` | :c:func:`getbufferproc` | :meth:`\ | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The :meth:
references make it link to the right document; can also match the other cases and not use. The __release_buffer__
is one character wider than the table column even without the :meth:
pieces...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should be using a :meth:
reference here. Nothing else in the table has one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated. A little unexpected (for me) escaping, \__
at the end is needed so buffer__
doesn't become a link.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could also expand the table so __release_buffer__
fits, but I don't have much of a preference.
I tried a couple times to get my head around emacs table mode to automatedly do that but was unsuccessful, for one char I don't think worth the big diff. I may look at making all entries |
Two special methods,
__buffer__
and__release_buffer__
were added to Python 3.12 by PEP-688. The C API Type Object documentation for slots includestp_as_buffer
, and sub-slotsbf_getbuffer
,bf_releasebuffer
but does not refer to the Python Data Model version of those. Add the missing references.📚 Documentation preview 📚: https://cpython-previews--132247.org.readthedocs.build/en/132247/c-api/typeobj.html#quick-reference