Remove use of tuple unpacking and dict.has_key() so as to silence
SyntaxWarning as triggered by -3.
diff --git a/Lib/bdb.py b/Lib/bdb.py
index 74870e3..d74415b 100644
--- a/Lib/bdb.py
+++ b/Lib/bdb.py
@@ -131,8 +131,7 @@
         raise NotImplementedError, "subclass of bdb must implement do_clear()"
 
     def break_anywhere(self, frame):
-        return self.breaks.has_key(
-            self.canonic(frame.f_code.co_filename))
+        return self.canonic(frame.f_code.co_filename) in self.breaks
 
     # Derived classes should override the user_* methods
     # to gain control.
@@ -150,7 +149,8 @@
         """This method is called when a return trap is set here."""
         pass
 
-    def user_exception(self, frame, (exc_type, exc_value, exc_traceback)):
+    def user_exception(self, frame, exc_info):
+        exc_type, exc_value, exc_traceback = exc_info
         """This method is called if an exception occurs,
         but only if we are to stop at or just below this level."""
         pass
diff --git a/Lib/pdb.py b/Lib/pdb.py
index 8616202..a7a3a18 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -175,7 +175,8 @@
         print >>self.stdout, '--Return--'
         self.interaction(frame, None)
 
-    def user_exception(self, frame, (exc_type, exc_value, exc_traceback)):
+    def user_exception(self, frame, exc_info):
+        exc_type, exc_value, exc_traceback = exc_info
         """This function is called if an exception occurs,
         but only if we are to stop at or just below this level."""
         frame.f_locals['__exception__'] = exc_type, exc_value