On Wed, Jan 5, 2011 at 1:13 PM, Antoine Pitrou <solip...@pitrou.net> wrote: > On Wed, 5 Jan 2011 12:55:55 +0000 > Mark Dickinson <dicki...@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 _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com