Do not reset the line number because we already set file position to correct

value.

(fixes error in patch for issue #18960)
This commit is contained in:
Serhiy Storchaka 2014-01-09 20:12:49 +02:00
parent 50b82c765f
commit 1064a13bb0
2 changed files with 4 additions and 8 deletions

View File

@ -146,6 +146,10 @@ class SyntaxTracebackCases(unittest.TestCase):
text, charset, 4) text, charset, 4)
do_test("#!shebang\n# coding: {0}\n".format(charset), do_test("#!shebang\n# coding: {0}\n".format(charset),
text, charset, 5) 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): class TracebackFormatTests(unittest.TestCase):

View File

@ -514,14 +514,6 @@ fp_setreadl(struct tok_state *tok, const char* enc)
readline = _PyObject_GetAttrId(stream, &PyId_readline); readline = _PyObject_GetAttrId(stream, &PyId_readline);
tok->decoding_readline = 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: cleanup:
Py_XDECREF(stream); Py_XDECREF(stream);
Py_XDECREF(io); Py_XDECREF(io);