]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-39884: Add method name in "bad call flags" error (GH-18944)
authorVictor Stinner <vstinner@python.org>
Thu, 12 Mar 2020 07:38:11 +0000 (08:38 +0100)
committerGitHub <noreply@github.com>
Thu, 12 Mar 2020 07:38:11 +0000 (08:38 +0100)
PyDescr_NewMethod() and PyCFunction_NewEx() now include the method
name in the SystemError "bad call flags" error message to ease debug.

Misc/NEWS.d/next/C API/2020-03-12-00-27-26.bpo-39884.CGOJBO.rst [new file with mode: 0644]
Objects/descrobject.c
Objects/methodobject.c

diff --git a/Misc/NEWS.d/next/C API/2020-03-12-00-27-26.bpo-39884.CGOJBO.rst b/Misc/NEWS.d/next/C API/2020-03-12-00-27-26.bpo-39884.CGOJBO.rst
new file mode 100644 (file)
index 0000000..c65dfdc
--- /dev/null
@@ -0,0 +1,2 @@
+:c:func:`PyDescr_NewMethod` and :c:func:`PyCFunction_NewEx` now include the
+method name in the SystemError "bad call flags" error message to ease debug.
index 4ebbb74151a232478633cb87bbb3f4119ba6ba09..b448ec642683c2182a7d64ceb105b077850d1085 100644 (file)
@@ -888,7 +888,8 @@ PyDescr_NewMethod(PyTypeObject *type, PyMethodDef *method)
             vectorcall = method_vectorcall_O;
             break;
         default:
-            PyErr_SetString(PyExc_SystemError, "bad call flags");
+            PyErr_Format(PyExc_SystemError,
+                         "%s() method: bad call flags", method->ml_name);
             return NULL;
     }
 
index 0d4570534b1ae50a4797f4418cab2e34c521727a..16abded385466403dd2788331df09687caf12539 100644 (file)
@@ -56,7 +56,8 @@ PyCFunction_NewEx(PyMethodDef *ml, PyObject *self, PyObject *module)
             vectorcall = cfunction_vectorcall_O;
             break;
         default:
-            PyErr_SetString(PyExc_SystemError, "bad call flags");
+            PyErr_Format(PyExc_SystemError,
+                         "%s() method: bad call flags", ml->ml_name);
             return NULL;
     }