More idlelib cleanup inspired by pyflakes.
diff --git a/Lib/idlelib/SearchEngine.py b/Lib/idlelib/SearchEngine.py
index b3b7b4d..2118cd3 100644
--- a/Lib/idlelib/SearchEngine.py
+++ b/Lib/idlelib/SearchEngine.py
@@ -85,7 +85,7 @@
         except re.error as what:
             args = what.args
             msg = args[0]
-            col = arg[1] if len(args) >= 2 else -1
+            col = args[1] if len(args) >= 2 else -1
             self.report_error(pat, msg, col)
             return None
         return prog
diff --git a/Lib/idlelib/StackViewer.py b/Lib/idlelib/StackViewer.py
index 74c9136..ccf6283 100644
--- a/Lib/idlelib/StackViewer.py
+++ b/Lib/idlelib/StackViewer.py
@@ -131,8 +131,8 @@
     root.geometry("+%d+%d"%(x, y + 150))
     flist = PyShellFileList(root)
     try: # to obtain a traceback object
-        a
-    except:
+        intentional_name_error
+    except NameError:
         exc_type, exc_value, exc_tb = sys.exc_info()
 
     # inject stack trace to sys
diff --git a/Lib/idlelib/idle_test/test_textview.py b/Lib/idlelib/idle_test/test_textview.py
index 9b25ecd..0e81b63 100644
--- a/Lib/idlelib/idle_test/test_textview.py
+++ b/Lib/idlelib/idle_test/test_textview.py
@@ -3,7 +3,7 @@
 import unittest
 import os
 from test.test_support import requires
-from Tkinter import Tk, Text, TclError
+from Tkinter import Tk
 from idlelib import textView as tv
 from idlelib.idle_test.mock_idle import Func
 from idlelib.idle_test.mock_tk import Mbox
@@ -93,6 +93,4 @@
         self.assertIsNone(view)
 
 if __name__ == '__main__':
-    unittest.main(verbosity=2, exit=False)
-    from idlelib.idle_test.htest import run
-    run(TextViewer)
+    unittest.main(verbosity=2)