If an extension can't be loaded, print warning and skip it instead of
erroring out.
diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
index 4015c9e..5e0a571 100644
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -744,7 +744,11 @@
         return idleConf.GetExtensions(editor_only=True)
 
     def load_extension(self, name):
-        mod = __import__(name, globals(), locals(), [])
+        try:
+            mod = __import__(name, globals(), locals(), [])
+        except ImportError:
+            print "\nFailed to import extension: ", name
+            return
         cls = getattr(mod, name)
         keydefs = idleConf.GetExtensionBindings(name)
         if hasattr(cls, "menudefs"):
@@ -762,7 +766,6 @@
                 methodname = methodname + "_event"
                 if hasattr(ins, methodname):
                     self.text.bind(vevent, getattr(ins, methodname))
-        return ins
 
     def apply_bindings(self, keydefs=None):
         if keydefs is None:
diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index 4bd5786..5eca893 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -3,6 +3,9 @@
 
 *Release date: XX-XXX-2005*
 
+- If an extension can't be loaded, print warning and skip it instead of
+  erroring out.
+
 - The GUI was hanging if the shell window was closed while a raw_input() 
   was pending.  Restored the quit() of the readline() mainloop().
   http://mail.python.org/pipermail/idle-dev/2004-December/002307.html
@@ -142,7 +145,7 @@
 
 *Release date: 29-Jul-2003*
 
-- Added a banner to the shell discussimg warnings possibly raised by personal
+- Added a banner to the shell discussing warnings possibly raised by personal
   firewall software.  Added same comment to README.txt.