From cd80f430daa7dfe7feeb431ed34f88db5f64aa30 Mon Sep 17 00:00:00 2001 From: Erlend Egeberg Aasland Date: Wed, 17 Feb 2021 11:51:08 +0100 Subject: bpo-40170: Always define PyExceptionClass_Name() as a function (GH-24553) Remove macro variant of PyExceptionClass_Name(). --- Include/cpython/pyerrors.h | 4 ---- Misc/NEWS.d/next/C API/2021-02-16-22-29-39.bpo-40170.ahHmOo.rst | 3 +++ Objects/exceptions.c | 2 -- 3 files changed, 3 insertions(+), 6 deletions(-) create mode 100644 Misc/NEWS.d/next/C API/2021-02-16-22-29-39.bpo-40170.ahHmOo.rst diff --git a/Include/cpython/pyerrors.h b/Include/cpython/pyerrors.h index c2500d9..6711e8b 100644 --- a/Include/cpython/pyerrors.h +++ b/Include/cpython/pyerrors.h @@ -78,10 +78,6 @@ PyAPI_FUNC(void) _PyErr_GetExcInfo(PyThreadState *, PyObject **, PyObject **, Py PyAPI_FUNC(void) _PyErr_ChainExceptions(PyObject *, PyObject *, PyObject *); -/* */ - -#define PyExceptionClass_Name(x) (((PyTypeObject*)(x))->tp_name) - /* Convenience functions */ #ifdef MS_WINDOWS diff --git a/Misc/NEWS.d/next/C API/2021-02-16-22-29-39.bpo-40170.ahHmOo.rst b/Misc/NEWS.d/next/C API/2021-02-16-22-29-39.bpo-40170.ahHmOo.rst new file mode 100644 index 0000000..348fcce --- /dev/null +++ b/Misc/NEWS.d/next/C API/2021-02-16-22-29-39.bpo-40170.ahHmOo.rst @@ -0,0 +1,3 @@ +:c:func:`PyExceptionClass_Name` is now always declared as a function, in +order to hide implementation details. The macro accessed +:c:member:`PyTypeObject.tp_name` directly. Patch by Erlend E. Aasland. diff --git a/Objects/exceptions.c b/Objects/exceptions.c index d482493..62cec9a 100644 --- a/Objects/exceptions.c +++ b/Objects/exceptions.c @@ -364,8 +364,6 @@ PyException_SetContext(PyObject *self, PyObject *context) Py_XSETREF(_PyBaseExceptionObject_cast(self)->context, context); } -#undef PyExceptionClass_Name - const char * PyExceptionClass_Name(PyObject *ob) { -- cgit v0.12