Fix pybench so it works -- Larry Hastings.
diff --git a/Tools/pybench/CommandLine.py b/Tools/pybench/CommandLine.py
index ddf958d..909ef02 100644
--- a/Tools/pybench/CommandLine.py
+++ b/Tools/pybench/CommandLine.py
@@ -165,7 +165,7 @@
     def __init__(self,name,help=None):
 
         if not name[:1] == '-':
-            raise TypeError,'option names must start with "-"'
+            raise TypeError('option names must start with "-"')
         if name[1:2] == '-':
             self.prefix = '--'
             self.name = name[2:]
@@ -324,30 +324,32 @@
 
         # Append preset options
         for option in self.preset_options:
-            if not self.option_map.has_key(option.name):
+            if not option.name in self.option_map:
                 self.add_option(option)
 
         # Init .files list
         self.files = []
 
         # Start Application
+        rc = 0
         try:
             # Process startup
             rc = self.startup()
             if rc is not None:
-                raise SystemExit,rc
+                raise SystemExit(rc)
 
             # Parse command line
             rc = self.parse()
             if rc is not None:
-                raise SystemExit,rc
+                raise SystemExit(rc)
 
             # Start application
             rc = self.main()
             if rc is None:
                 rc = 0
 
-        except SystemExit as rc:
+        except SystemExit as rcException:
+            rc = rcException
             pass
 
         except KeyboardInterrupt:
@@ -367,7 +369,7 @@
             print
             rc = 1
 
-        raise SystemExit,rc
+        raise SystemExit(rc)
 
     def add_option(self, option):
 
@@ -398,7 +400,7 @@
             program. It defaults to 0 which usually means: OK.
 
         """
-        raise SystemExit, rc
+        raise SystemExit(rc)
 
     def parse(self):
 
@@ -459,7 +461,7 @@
             except AttributeError:
                 if value == '':
                     # count the number of occurances
-                    if values.has_key(optionname):
+                    if optionname in values:
                         values[optionname] = values[optionname] + 1
                     else:
                         values[optionname] = 1
@@ -468,7 +470,7 @@
             else:
                 rc = handler(value)
                 if rc is not None:
-                    raise SystemExit, rc
+                    raise SystemExit(rc)
 
         # Apply final file check (for backward compatibility)
         rc = self.check_files(self.files)
diff --git a/Tools/pybench/Dict.py b/Tools/pybench/Dict.py
index 9cdd682..cb039b0 100644
--- a/Tools/pybench/Dict.py
+++ b/Tools/pybench/Dict.py
@@ -351,7 +351,7 @@
     def test(self):
 
         d = {}
-        has_key = d.has_key
+        has_key = lambda key: key in d
 
         for i in xrange(self.rounds):
 
@@ -498,7 +498,7 @@
     def calibrate(self):
 
         d = {}
-        has_key = d.has_key
+        has_key = lambda key: key in d
 
         for i in xrange(self.rounds):
             pass
diff --git a/Tools/pybench/Exceptions.py b/Tools/pybench/Exceptions.py
index eff69c7..ab0fa0a 100644
--- a/Tools/pybench/Exceptions.py
+++ b/Tools/pybench/Exceptions.py
@@ -20,15 +20,15 @@
             except:
                 pass
             try:
-                raise error,"something"
+                raise error("something")
             except:
                 pass
             try:
-                raise error,"something"
+                raise error("something")
             except:
                 pass
             try:
-                raise error,"something"
+                raise error("something")
             except:
                 pass
             try:
diff --git a/Tools/pybench/Lookups.py b/Tools/pybench/Lookups.py
index f20e7da..e454a00 100644
--- a/Tools/pybench/Lookups.py
+++ b/Tools/pybench/Lookups.py
@@ -774,11 +774,11 @@
             l.sort
             l.sort
 
-            d.has_key
-            d.has_key
-            d.has_key
-            d.has_key
-            d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
 
             d.items
             d.items
@@ -810,11 +810,11 @@
             l.sort
             l.sort
 
-            d.has_key
-            d.has_key
-            d.has_key
-            d.has_key
-            d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
 
             d.items
             d.items
@@ -846,11 +846,11 @@
             l.sort
             l.sort
 
-            d.has_key
-            d.has_key
-            d.has_key
-            d.has_key
-            d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
 
             d.items
             d.items
@@ -882,11 +882,11 @@
             l.sort
             l.sort
 
-            d.has_key
-            d.has_key
-            d.has_key
-            d.has_key
-            d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
 
             d.items
             d.items
@@ -918,11 +918,11 @@
             l.sort
             l.sort
 
-            d.has_key
-            d.has_key
-            d.has_key
-            d.has_key
-            d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
+            # d.has_key
 
             d.items
             d.items