Fix the formatting of KeyboardInterrupt -- a bad issubclass() call.
diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py
index 22c0456..1b59f98 100644
--- a/Lib/test/test_traceback.py
+++ b/Lib/test/test_traceback.py
@@ -103,6 +103,12 @@
             import sys
             sys.exc_traceback.__members__
 
+    def test_base_exception(self):
+        # Test that exceptions derived from BaseException are formatted right
+        e = KeyboardInterrupt()
+        lst = traceback.format_exception_only(e.__class__, e)
+        self.assertEqual(lst, ['KeyboardInterrupt\n'])
+
 def test_main():
     run_unittest(TracebackCases)
 
diff --git a/Lib/traceback.py b/Lib/traceback.py
index 454eb1b..d900f52 100644
--- a/Lib/traceback.py
+++ b/Lib/traceback.py
@@ -158,7 +158,7 @@
     """
     list = []
     if (type(etype) == types.ClassType
-        or (isinstance(etype, type) and issubclass(etype, Exception))):
+        or (isinstance(etype, type) and issubclass(etype, BaseException))):
         stype = etype.__name__
     else:
         stype = etype