Browse Source
Don't hide unexpected errors in PyErr_WarnExplicitObject(). (#4585)
pull/4663/head
Serhiy Storchaka
8 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
10 additions and
9 deletions
-
Python/ast.c
|
|
|
@ -4160,18 +4160,19 @@ warn_invalid_escape_sequence(struct compiling *c, const node *n, |
|
|
|
} |
|
|
|
if (PyErr_WarnExplicitObject(PyExc_DeprecationWarning, msg, |
|
|
|
c->c_filename, LINENO(n), |
|
|
|
NULL, NULL) < 0 && |
|
|
|
PyErr_ExceptionMatches(PyExc_DeprecationWarning)) |
|
|
|
NULL, NULL) < 0) |
|
|
|
{ |
|
|
|
const char *s; |
|
|
|
if (PyErr_ExceptionMatches(PyExc_DeprecationWarning)) { |
|
|
|
const char *s; |
|
|
|
|
|
|
|
/* Replace the DeprecationWarning exception with a SyntaxError |
|
|
|
to get a more accurate error report */ |
|
|
|
PyErr_Clear(); |
|
|
|
/* Replace the DeprecationWarning exception with a SyntaxError |
|
|
|
to get a more accurate error report */ |
|
|
|
PyErr_Clear(); |
|
|
|
|
|
|
|
s = PyUnicode_AsUTF8(msg); |
|
|
|
if (s != NULL) { |
|
|
|
ast_error(c, n, s); |
|
|
|
s = PyUnicode_AsUTF8(msg); |
|
|
|
if (s != NULL) { |
|
|
|
ast_error(c, n, s); |
|
|
|
} |
|
|
|
} |
|
|
|
Py_DECREF(msg); |
|
|
|
return -1; |
|
|
|
|