Corrected import behaviour for codecs which live outside the encodings
package.
diff --git a/Lib/encodings/__init__.py b/Lib/encodings/__init__.py
index 65f5c9c..827db35 100644
--- a/Lib/encodings/__init__.py
+++ b/Lib/encodings/__init__.py
@@ -4,8 +4,8 @@
     directory.
 
     Codec modules must have names corresponding to standard lower-case
-    encoding names with hyphens and periods mapped to underscores,
-    e.g. 'utf-8' is implemented by the module 'utf_8.py'.
+    encoding names with hyphens mapped to underscores, e.g. 'utf-8' is
+    implemented by the module 'utf_8.py'.
 
     Each codec module must export the following interface:
 
@@ -52,23 +52,18 @@
     # default import module lookup scheme with the alias name.
     #
     modname = encoding.replace('-', '_')
-    modname = modname.replace('.', '_')
     try:
         mod = __import__('encodings.' + modname,
                          globals(), locals(), _import_tail)
     except ImportError,why:
         import aliases
-        modname = aliases.aliases.get(modname, _unknown)
-        if modname is not _unknown:
-            try:
-                mod = __import__(modname,
-                                 globals(), locals(), _import_tail)
-            except ImportError,why:
-                mod = None
-        else:
+        modname = aliases.aliases.get(modname, modname)
+        try:
+            mod = __import__(modname, globals(), locals(), _import_tail)
+        except ImportError,why:
             mod = None
     if mod is None:
-        # cache misses
+        # Cache misses
         _cache[encoding] = None
         return None
         
diff --git a/Lib/encodings/aliases.py b/Lib/encodings/aliases.py
index b6882ae..2365576 100644
--- a/Lib/encodings/aliases.py
+++ b/Lib/encodings/aliases.py
@@ -4,8 +4,8 @@
     map encodings names to module names.
 
     Note that the search function converts the encoding names to lower
-    case and replaces hyphens and periods with underscores *before*
-    performing the lookup.
+    case and replaces hyphens with underscores *before* performing the
+    lookup.
 
     Contents:
 
@@ -25,13 +25,13 @@
 
     # ascii codec
     '646'                : 'ascii',
-    'ansi_x3_4_1968'     : 'ascii',
-    'ansi_x3_4_1986'     : 'ascii',
+    'ansi_x3.4_1968'     : 'ascii',
+    'ansi_x3.4_1986'     : 'ascii',
     'cp367'              : 'ascii',
     'csascii'            : 'ascii',
     'ibm367'             : 'ascii',
     'iso646_us'          : 'ascii',
-    'iso_646_irv:1991'   : 'ascii',
+    'iso_646.irv:1991'   : 'ascii',
     'iso_ir_6'           : 'ascii',
     'us'                 : 'ascii',
     'us_ascii'           : 'ascii',