From 1064a13bb05db8f6e86a3fe780f969fa2919a1d1 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Thu, 9 Jan 2014 20:12:49 +0200 Subject: [PATCH] Do not reset the line number because we already set file position to correct value. (fixes error in patch for issue #18960) --- Lib/test/test_traceback.py | 4 ++++ Parser/tokenizer.c | 8 -------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py index 5bce2af68a9..bca825de43b 100644 --- a/Lib/test/test_traceback.py +++ b/Lib/test/test_traceback.py @@ -146,6 +146,10 @@ class SyntaxTracebackCases(unittest.TestCase): text, charset, 4) do_test("#!shebang\n# coding: {0}\n".format(charset), text, charset, 5) + do_test(" \t\f\n# coding: {0}\n".format(charset), + text, charset, 5) + # Issue #18960: coding spec should has no effect + do_test("0\n# coding: GBK\n", "h\xe9 ho", 'utf-8', 5) class TracebackFormatTests(unittest.TestCase): diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index a69d7880da7..8530723c266 100644 --- a/Parser/tokenizer.c +++ b/Parser/tokenizer.c @@ -514,14 +514,6 @@ fp_setreadl(struct tok_state *tok, const char* enc) readline = _PyObject_GetAttrId(stream, &PyId_readline); tok->decoding_readline = readline; - /* The file has been reopened; parsing will restart from - * the beginning of the file, we have to reset the line number. - * But this function has been called from inside tok_nextc() which - * will increment lineno before it returns. So we set it -1 so that - * the next call to tok_nextc() will start with tok->lineno == 0. - */ - tok->lineno = -1; - cleanup: Py_XDECREF(stream); Py_XDECREF(io);