Commit a5618620 authored by Serhiy Storchaka's avatar Serhiy Storchaka Committed by GitHub

Don't hide unexpected errors in PyErr_WarnExplicitObject(). (#4585)

parent 73a7e9b1
...@@ -4160,18 +4160,19 @@ warn_invalid_escape_sequence(struct compiling *c, const node *n, ...@@ -4160,18 +4160,19 @@ warn_invalid_escape_sequence(struct compiling *c, const node *n,
} }
if (PyErr_WarnExplicitObject(PyExc_DeprecationWarning, msg, if (PyErr_WarnExplicitObject(PyExc_DeprecationWarning, msg,
c->c_filename, LINENO(n), c->c_filename, LINENO(n),
NULL, NULL) < 0 && NULL, NULL) < 0)
PyErr_ExceptionMatches(PyExc_DeprecationWarning))
{ {
const char *s; if (PyErr_ExceptionMatches(PyExc_DeprecationWarning)) {
const char *s;
/* Replace the DeprecationWarning exception with a SyntaxError /* Replace the DeprecationWarning exception with a SyntaxError
to get a more accurate error report */ to get a more accurate error report */
PyErr_Clear(); PyErr_Clear();
s = PyUnicode_AsUTF8(msg); s = PyUnicode_AsUTF8(msg);
if (s != NULL) { if (s != NULL) {
ast_error(c, n, s); ast_error(c, n, s);
}
} }
Py_DECREF(msg); Py_DECREF(msg);
return -1; return -1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment