mercurial/ui.py
changeset 15002 b55c1c6a793e
parent 14924 545e00279670
parent 15000 68b5d7005cca
child 15035 cc669e4fec95
--- 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