bpo-43933: Show frame.f_lineno as None, rather than -1, if there is no line number. (GH-25717)
diff --git a/Objects/frameobject.c b/Objects/frameobject.c
index b0487c2..5920ed8 100644
--- a/Objects/frameobject.c
+++ b/Objects/frameobject.c
@@ -53,7 +53,13 @@ PyFrame_GetLineNumber(PyFrameObject *f)
static PyObject *
frame_getlineno(PyFrameObject *f, void *closure)
{
- return PyLong_FromLong(PyFrame_GetLineNumber(f));
+ int lineno = PyFrame_GetLineNumber(f);
+ if (lineno < 0) {
+ Py_RETURN_NONE;
+ }
+ else {
+ return PyLong_FromLong(lineno);
+ }
}
static PyObject *