diff -r 3f3de8c47ff8 Lib/encodings/aliases.py --- a/Lib/encodings/aliases.py Sun Jun 22 12:44:05 2014 +0200 +++ b/Lib/encodings/aliases.py Sun Jun 22 17:10:54 2014 -0700 @@ -396,6 +396,8 @@ 'iso_8859_8' : 'iso8859_8', 'iso_8859_8_1988' : 'iso8859_8', 'iso_ir_138' : 'iso8859_8', + 'iso-8859-8-i' : 'iso8859_8', + 'iso-8859-8-e' : 'iso8859_8', # iso8859_9 codec 'csisolatin5' : 'iso8859_9', @@ -485,8 +487,8 @@ 'sjisx0213' : 'shift_jisx0213', 's_jisx0213' : 'shift_jisx0213', - # tactis codec - 'tis260' : 'tactis', + ## tactis codec + #'tis260' : 'tactis', # missing codec module # tis_620 codec 'tis620' : 'tis_620', diff -r 3f3de8c47ff8 Lib/test/test_codecs.py --- a/Lib/test/test_codecs.py Sun Jun 22 12:44:05 2014 +0200 +++ b/Lib/test/test_codecs.py Sun Jun 22 17:10:54 2014 -0700 @@ -2,6 +2,7 @@ import contextlib import io import locale +import os import sys import unittest import warnings @@ -2572,6 +2573,16 @@ self.assertEqual(info.name, expected_name) +class AliasTest(unittest.TestCase): + + def test_alias_modules_exist(self): + encodings_dir = os.path.dirname(encodings.__file__) + for value in encodings.aliases.aliases.values(): + codec_file = os.path.join(encodings_dir, value + ".py") + self.assertTrue(os.path.isfile(codec_file), + "Codec file not found: " + codec_file) + + # The codec system tries to wrap exceptions in order to ensure the error # mentions the operation being performed and the codec involved. We # currently *only* want this to happen for relatively stateless