Index: Parser/tokenizer.c =================================================================== --- Parser/tokenizer.c (révision 66817) +++ 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); @@ -315,14 +315,14 @@ if (ch == EOF) { return 1; } else if (ch == 0xEF) { - ch = get_char(tok); + ch = get_char(tok); if (ch != 0xBB) { unget_char(ch, tok); unget_char(0xEF, tok); /* any token beginning with '\xEF' is a bad token */ return 1; } - ch = get_char(tok); + ch = get_char(tok); if (ch != 0xBF) { unget_char(ch, tok); unget_char(0xBB, tok); Index: Parser/tokenizer.h =================================================================== --- Parser/tokenizer.h (révision 66817) +++ 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; }; Index: Python/ast.c =================================================================== --- Python/ast.c (révision 66817) +++ 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);