From c5963d38429595ed334e129096815a6f56e81035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristj=C3=A1n=20Valur=20J=C3=B3nsson?= Date: Thu, 19 Jul 2012 21:02:03 +0000 Subject: Issue #15365: Make traceback reporting ignore any errors when printing out the source line. Such errors can't be reported anyway. This makes error reporting work, even if the "io" module can't be loaded. --- Python/traceback.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Python/traceback.c b/Python/traceback.c index c8b3ee1..ce670f3 100644 --- a/Python/traceback.c +++ b/Python/traceback.c @@ -344,7 +344,10 @@ tb_displayline(PyObject *f, PyObject *filename, int lineno, PyObject *name) Py_DECREF(line); if (err != 0) return err; - return _Py_DisplaySourceLine(f, filename, lineno, 4); + /* ignore errors since we can't report them, can we? */ + if (_Py_DisplaySourceLine(f, filename, lineno, 4)) + PyErr_Clear(); + return err; } static int -- cgit v0.12