mirror of
https://github.com/python/cpython.git
synced 2024-11-30 13:24:13 +08:00
bpo-45474: Exclude all of marshal.h if Py_LIMITED_API is defined (GH-29061)
Also, reword the What's New messages: this doesn't change the limited API, it only brings the Py_LIMITED_API macro closer to the ideal of only allowing the limited API. Automerge-Triggered-By: GH:encukou
This commit is contained in:
parent
085ccb0f17
commit
98fa3b53e2
@ -627,14 +627,17 @@ Removed
|
||||
``Py_IS_INFINITY()`` macro.
|
||||
(Contributed by Victor Stinner in :issue:`45440`.)
|
||||
|
||||
* Remove two functions from the limited C API:
|
||||
* The following items are no longer available when :c:macro:`Py_LIMITED_API`
|
||||
is defined:
|
||||
|
||||
* :c:func:`PyMarshal_WriteLongToFile`
|
||||
* :c:func:`PyMarshal_WriteObjectToFile`
|
||||
* :c:func:`PyMarshal_ReadObjectFromString`
|
||||
* :c:func:`PyMarshal_WriteObjectToString`
|
||||
* the ``Py_MARSHAL_VERSION`` macro
|
||||
|
||||
The :pep:`384` excludes functions expecting ``FILE*`` from the stable ABI.
|
||||
These are not part of the :ref:`limited API <stable-abi-list>`.
|
||||
|
||||
Remove also the ``Py_MARSHAL_VERSION`` macro from the limited C API.
|
||||
(Contributed by Victor Stinner in :issue:`45474`.)
|
||||
|
||||
* Exclude :c:func:`PyWeakref_GET_OBJECT` from the limited C API. It never
|
||||
|
@ -3,6 +3,8 @@
|
||||
|
||||
#ifndef Py_MARSHAL_H
|
||||
#define Py_MARSHAL_H
|
||||
#ifndef Py_LIMITED_API
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@ -11,7 +13,6 @@ PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromString(const char *,
|
||||
Py_ssize_t);
|
||||
PyAPI_FUNC(PyObject *) PyMarshal_WriteObjectToString(PyObject *, int);
|
||||
|
||||
#ifndef Py_LIMITED_API
|
||||
#define Py_MARSHAL_VERSION 4
|
||||
|
||||
PyAPI_FUNC(long) PyMarshal_ReadLongFromFile(FILE *);
|
||||
@ -21,9 +22,10 @@ PyAPI_FUNC(PyObject *) PyMarshal_ReadLastObjectFromFile(FILE *);
|
||||
|
||||
PyAPI_FUNC(void) PyMarshal_WriteLongToFile(long, FILE *, int);
|
||||
PyAPI_FUNC(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *, int);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* Py_LIMITED_API */
|
||||
#endif /* !Py_MARSHAL_H */
|
||||
|
@ -1,10 +1,11 @@
|
||||
Remove two functions from the limited C API:
|
||||
The following items are no longer available when ``Py_LIMITED_API`` is defined:
|
||||
|
||||
* :c:func:`PyMarshal_WriteLongToFile`
|
||||
* :c:func:`PyMarshal_WriteObjectToFile`
|
||||
* :c:func:`PyMarshal_ReadObjectFromString`
|
||||
* :c:func:`PyMarshal_WriteObjectToString`
|
||||
* the ``Py_MARSHAL_VERSION`` macro
|
||||
|
||||
The :pep:`384` excludes functions expecting ``FILE*`` from the stable ABI.
|
||||
|
||||
Remove also the ``Py_MARSHAL_VERSION`` macro from the limited C API.
|
||||
These are not part of the :ref:`limited API <stable-abi-list>`.
|
||||
|
||||
Patch by Victor Stinner.
|
||||
|
Loading…
Reference in New Issue
Block a user