From c83bc3c1fbed14d27a5de3032e24d2cf006a7c4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Thu, 6 Jan 2011 19:15:47 +0000 Subject: Remove buffer API from stable ABI for now, see #10181. --- Include/abstract.h | 2 ++ Include/memoryobject.h | 2 ++ Include/object.h | 3 ++- Misc/NEWS | 2 ++ PC/python3.def | 10 ---------- 5 files changed, 8 insertions(+), 11 deletions(-) diff --git a/Include/abstract.h b/Include/abstract.h index 53c9dc7..5f2d541 100644 --- a/Include/abstract.h +++ b/Include/abstract.h @@ -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); diff --git a/Include/memoryobject.h b/Include/memoryobject.h index f763531..62ecbd6 100644 --- a/Include/memoryobject.h +++ b/Include/memoryobject.h @@ -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 diff --git a/Include/object.h b/Include/object.h index 78bb13b..690f87b 100644 --- a/Include/object.h +++ b/Include/object.h @@ -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 *); diff --git a/Misc/NEWS b/Misc/NEWS index df42025..9baf119 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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). diff --git a/PC/python3.def b/PC/python3.def index 54ad149..582e433 100644 --- a/PC/python3.def +++ b/PC/python3.def @@ -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 -- cgit v0.12