In Pdb, stop assigning values to __builtin__._ which interferes with the one commonly installed by gettext.
diff --git a/Lib/pdb.py b/Lib/pdb.py
index 3f76032..9025be1 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -194,6 +194,12 @@
         self.cmdloop()
         self.forget()
 
+    def displayhook(self, obj):
+        """Custom displayhook for the exec in default(), which prevents
+        assignment of the _ variable in the builtins.
+        """
+        print obj
+
     def default(self, line):
         if line[:1] == '!': line = line[1:]
         locals = self.curframe.f_locals
@@ -202,13 +208,16 @@
             code = compile(line + '\n', '<stdin>', 'single')
             save_stdout = sys.stdout
             save_stdin = sys.stdin
+            save_displayhook = sys.displayhook
             try:
                 sys.stdin = self.stdin
                 sys.stdout = self.stdout
+                sys.displayhook = self.displayhook
                 exec code in globals, locals
             finally:
                 sys.stdout = save_stdout
                 sys.stdin = save_stdin
+                sys.displayhook = save_displayhook
         except:
             t, v = sys.exc_info()[:2]
             if type(t) == type(''):