Issue #23571: _Py_CheckFunctionResult() now gives the name of the function
which returned an invalid result (result+error or no result without error) in
the exception message.
Add also unit test to check that the exception contains the name of the
function.
Special case: the final _PyEval_EvalFrameEx() check doesn't mention the
function since it didn't execute a single function but a whole frame.
diff --git a/Include/abstract.h b/Include/abstract.h
index 56fbf86..83dbf94 100644
--- a/Include/abstract.h
+++ b/Include/abstract.h
@@ -267,8 +267,9 @@
PyObject *args, PyObject *kw);
#ifndef Py_LIMITED_API
- PyAPI_FUNC(PyObject *) _Py_CheckFunctionResult(PyObject *obj,
- const char *func_name);
+ PyAPI_FUNC(PyObject *) _Py_CheckFunctionResult(PyObject *func,
+ PyObject *result,
+ const char *where);
#endif
/*