Remove buffer API from stable ABI for now, see #10181.

This commit is contained in:
Martin v. Löwis 2011-01-06 19:15:47 +00:00
parent e85da7aa4f
commit c83bc3c1fb
5 changed files with 8 additions and 11 deletions

View File

@ -488,6 +488,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/* new buffer API */
#ifndef Py_LIMITED_API
#define PyObject_CheckBuffer(obj) \
(((obj)->ob_type->tp_as_buffer != NULL) && \
((obj)->ob_type->tp_as_buffer->bf_getbuffer != NULL))
@ -575,6 +576,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
/* Releases a Py_buffer obtained from getbuffer ParseTuple's s*.
*/
#endif /* Py_LIMITED_API */
PyAPI_FUNC(PyObject *) PyObject_Format(PyObject* obj,
PyObject *format_spec);

View File

@ -55,9 +55,11 @@ PyAPI_FUNC(PyObject *) PyMemoryView_GetContiguous(PyObject *base,
PyAPI_FUNC(PyObject *) PyMemoryView_FromObject(PyObject *base);
#ifndef Py_LIMITED_API
PyAPI_FUNC(PyObject *) PyMemoryView_FromBuffer(Py_buffer *info);
/* create new if bufptr is NULL
will be a new bytesobject in base */
#endif
/* The struct is declared here so that macros can work, but it shouldn't

View File

@ -143,7 +143,7 @@ typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *);
typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *);
#ifndef Py_LIMITED_API
/* buffer interface */
typedef struct bufferinfo {
void *buf;
@ -195,6 +195,7 @@ typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
#define PyBUF_WRITE 0x200
/* End buffer interface */
#endif /* Py_LIMITED_API */
typedef int (*objobjproc)(PyObject *, PyObject *);
typedef int (*visitproc)(PyObject *, void *);

View File

@ -8,6 +8,8 @@ What's New in Python 3.2 Release Candidate 1
Core and Builtins
-----------------
- Remove buffer API from stable ABI for now, see #10181.
- Issue #8651: PyArg_Parse*() functions raise an OverflowError if the file
doesn't have PY_SSIZE_T_CLEAN define and the size doesn't fit in an int
(length bigger than 2^31-1 bytes).

View File

@ -10,13 +10,6 @@ EXPORTS
PyBaseObject_Type=python32.PyBaseObject_Type DATA
PyBool_FromLong=python32.PyBool_FromLong
PyBool_Type=python32.PyBool_Type DATA
PyBuffer_FillContiguousStrides=python32.PyBuffer_FillContiguousStrides
PyBuffer_FillInfo=python32.PyBuffer_FillInfo
PyBuffer_FromContiguous=python32.PyBuffer_FromContiguous
PyBuffer_GetPointer=python32.PyBuffer_GetPointer
PyBuffer_IsContiguous=python32.PyBuffer_IsContiguous
PyBuffer_Release=python32.PyBuffer_Release
PyBuffer_ToContiguous=python32.PyBuffer_ToContiguous
PyByteArrayIter_Type=python32.PyByteArrayIter_Type DATA
PyByteArray_AsString=python32.PyByteArray_AsString
PyByteArray_Concat=python32.PyByteArray_Concat
@ -317,7 +310,6 @@ EXPORTS
PyMem_Malloc=python32.PyMem_Malloc
PyMem_Realloc=python32.PyMem_Realloc
PyMemberDescr_Type=python32.PyMemberDescr_Type DATA
PyMemoryView_FromBuffer=python32.PyMemoryView_FromBuffer
PyMemoryView_FromObject=python32.PyMemoryView_FromObject
PyMemoryView_GetContiguous=python32.PyMemoryView_GetContiguous
PyMemoryView_Type=python32.PyMemoryView_Type DATA
@ -399,7 +391,6 @@ EXPORTS
PyObject_CallObject=python32.PyObject_CallObject
PyObject_CheckReadBuffer=python32.PyObject_CheckReadBuffer
PyObject_ClearWeakRefs=python32.PyObject_ClearWeakRefs
PyObject_CopyData=python32.PyObject_CopyData
PyObject_DelItem=python32.PyObject_DelItem
PyObject_DelItemString=python32.PyObject_DelItemString
PyObject_Dir=python32.PyObject_Dir
@ -412,7 +403,6 @@ EXPORTS
PyObject_GenericSetAttr=python32.PyObject_GenericSetAttr
PyObject_GetAttr=python32.PyObject_GetAttr
PyObject_GetAttrString=python32.PyObject_GetAttrString
PyObject_GetBuffer=python32.PyObject_GetBuffer
PyObject_GetItem=python32.PyObject_GetItem
PyObject_GetIter=python32.PyObject_GetIter
PyObject_HasAttr=python32.PyObject_HasAttr