diff options
Diffstat (limited to 'Parser/tokenizer.c')
-rw-r--r-- | Parser/tokenizer.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index 18815aef452..4edf6d07e44 100644 --- a/Parser/tokenizer.c +++ b/Parser/tokenizer.c @@ -461,6 +461,14 @@ fp_setreadl(struct tok_state *tok, const char* enc) readline = PyObject_GetAttrString(stream, "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); |