diff mercurial/ui.py @ 15002:b55c1c6a793e

merge with stable
author Matt Mackall <mpm@selenic.com>
date Mon, 01 Aug 2011 14:52:11 -0500
parents 545e00279670 68b5d7005cca
children cc669e4fec95
line wrap: on
line diff
--- a/mercurial/ui.py	Mon Aug 01 10:54:34 2011 -0500
+++ b/mercurial/ui.py	Mon Aug 01 14:52:11 2011 -0500
@@ -539,12 +539,15 @@
             except Exception:
                 pass
 
-        # instead of trying to emulate raw_input, swap our in/out
-        # with sys.stdin/out
-        old = sys.stdout, sys.stdin
-        sys.stdout, sys.stdin = self.fout, self.fin
-        line = raw_input(prompt)
-        sys.stdout, sys.stdin = old
+        # call write() so output goes through subclassed implementation
+        # e.g. color extension on Windows
+        self.write(prompt)
+
+        # instead of trying to emulate raw_input, swap self.fin with sys.stdin
+        old = sys.stdin
+        sys.stdin = self.fin
+        line = raw_input()
+        sys.stdin = old
 
         # When stdin is in binary mode on Windows, it can cause
         # raw_input() to emit an extra trailing carriage return