diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index 432f94f6f39..4ff2b98589a 100644 --- a/Parser/tokenizer.c +++ b/Parser/tokenizer.c @@ -983,15 +983,7 @@ PyToken_TwoChars(int c1, int c2) break; case '<': switch (c2) { - case '>': - { -#ifndef PGEN - if (Py_Py3kWarningFlag) - PyErr_WarnEx(PyExc_DeprecationWarning, - "<> not supported in 3.x", 1); -#endif - return NOTEQUAL; - } + case '>': return NOTEQUAL; case '=': return LESSEQUAL; case '<': return LEFTSHIFT; } @@ -1485,6 +1477,16 @@ tok_get(register struct tok_state *tok, char **p_start, char **p_end) { int c2 = tok_nextc(tok); int token = PyToken_TwoChars(c, c2); +#ifndef PGEN + if (token == NOTEQUAL && c == '<') { + if (PyErr_WarnExplicit(PyExc_DeprecationWarning, + "<> not supported in 3.x", + tok->filename, tok->lineno, + NULL, NULL)) { + return ERRORTOKEN; + } + } +#endif if (token != OP) { int c3 = tok_nextc(tok); int token3 = PyToken_ThreeChars(c, c2, c3); diff --git a/Python/ast.c b/Python/ast.c index 5555cf7ddf8..9354b59cb0d 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -1336,10 +1336,14 @@ ast_for_atom(struct compiling *c, const node *n) return Dict(keys, values, LINENO(n), n->n_col_offset, c->c_arena); } case BACKQUOTE: { /* repr */ - if (Py_Py3kWarningFlag && - PyErr_Warn(PyExc_DeprecationWarning, - "backquote not supported in 3.x") < 0) - return NULL; + if (Py_Py3kWarningFlag) { + if (PyErr_WarnExplicit(PyExc_DeprecationWarning, + "backquote not supported in 3.x", + "", LINENO(n), + NULL, NULL)) { + ; //return NULL; + } + } expr_ty expression = ast_for_testlist(c, CHILD(n, 1)); if (!expression) return NULL;