[Python-Dev] Omit Py_buffer struct from Stable ABI for Python 3.2?
Mark Dickinson
dickinsm at gmail.com
Wed Jan 5 15:03:41 CET 2011
On Wed, Jan 5, 2011 at 1:13 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Wed, 5 Jan 2011 12:55:55 +0000
> Mark Dickinson <dickinsm at gmail.com> wrote:
>> The need for obj is a little ugly: as far as I can tell, it's
>> meaningless for a 3rd-party object that wants to export buffers---it's
>> only really used by the memoryview object and by internal Python
>> types.
>
> I don't think it's ugly. It's the only way to know which object exported
> a Py_buffer. Otherwise you have to track the information separately,
> which is quite a bit uglier (especially when in conjunction with
> PyArg_ParseTuple and friends).
Maybe I'm misunderstanding. What's the responsibility of a buffer
export w.r.t. the obj field---i.e., what should 3rd party code be
filling that obj field with in a call to getbuffer?
It looks to me as though it's really the memoryview object that needs
this information; that it doesn't belong in the Py_buffer struct.
Isn't that what the 'base' field in PyMemoryViewObject in PEP 3118 was
supposed to be for? Though I notice that that field is unused in the
actual PyMemoryViewObject in Include/memoryobject.h.
Mark
More information about the Python-Dev
mailing list