mercurial/ui.py
changeset 36802 fa53a1d1f16e
parent 36799 30742c216abb
child 36803 9b513888ea23
--- a/mercurial/ui.py	Tue Mar 06 02:28:59 2018 -0600
+++ b/mercurial/ui.py	Tue Mar 06 02:32:26 2018 -0600
@@ -1264,7 +1264,9 @@
         return i
 
     def _readline(self):
-        if self._isatty(self.fin):
+        usereadline = (self._isatty(self.fin) and self._isatty(self.fout)
+                       and util.isstdin(self.fin) and util.isstdout(self.fout))
+        if usereadline:
             try:
                 # magically add command line editing support, where
                 # available
@@ -1273,7 +1275,7 @@
                 readline.read_history_file
                 # windows sometimes raises something other than ImportError
             except Exception:
-                pass
+                usereadline = False
 
         # prompt ' ' must exist; otherwise readline may delete entire line
         # - http://bugs.python.org/issue12833