Index: Parser/tokenizer.c =================================================================== --- Parser/tokenizer.c (révision 66781) +++ Parser/tokenizer.c (copie de travail) @@ -135,6 +135,7 @@ tok->decoding_state = STATE_INIT; tok->decoding_erred = 0; tok->read_coding_spec = 0; + tok->enc = NULL; tok->encoding = NULL; tok->cont_line = 0; #ifndef PGEN @@ -274,8 +275,7 @@ tok->read_coding_spec = 1; if (tok->encoding == NULL) { assert(tok->decoding_state == STATE_RAW); - if (strcmp(cs, "utf-8") == 0 || - strcmp(cs, "iso-8859-1") == 0) { + if (strcmp(cs, "utf-8") == 0) { tok->encoding = cs; } else { r = set_readline(tok, cs); @@ -460,6 +460,7 @@ Py_XDECREF(tok->decoding_readline); readline = PyObject_GetAttrString(stream, "readline"); tok->decoding_readline = readline; + tok->lineno = -1; /* dirty hack */ cleanup: Py_XDECREF(stream); Index: Python/ast.c =================================================================== --- Python/ast.c (révision 66781) +++ Python/ast.c (copie de travail) @@ -3160,9 +3160,6 @@ if (encoding == NULL) { buf = (char *)s; u = NULL; - } else if (strcmp(encoding, "iso-8859-1") == 0) { - buf = (char *)s; - u = NULL; } else { /* check for integer overflow */ if (len > PY_SIZE_MAX / 4) @@ -3275,8 +3272,7 @@ } } need_encoding = (!*bytesmode && c->c_encoding != NULL && - strcmp(c->c_encoding, "utf-8") != 0 && - strcmp(c->c_encoding, "iso-8859-1") != 0); + strcmp(c->c_encoding, "utf-8") != 0); if (rawmode || strchr(s, '\\') == NULL) { if (need_encoding) { PyObject *v, *u = PyUnicode_DecodeUTF8(s, len, NULL); Index: Parser/tokenizer.h =================================================================== --- Parser/tokenizer.h (révision 66781) +++ Parser/tokenizer.h (copie de travail) @@ -49,14 +49,14 @@ enum decoding_state decoding_state; int decoding_erred; /* whether erred in decoding */ int read_coding_spec; /* whether 'coding:...' has been read */ - char *encoding; + char *encoding; /* encoding read from 'coding: ... header */ int cont_line; /* whether we are in a continuation line. */ const char* line_start; /* pointer to start of current line */ #ifndef PGEN PyObject *decoding_readline; /* codecs.open(...).readline */ PyObject *decoding_buffer; #endif - const char* enc; + const char* enc; /* encoding of a read line */ const char* str; };