##// END OF EJS Templates
pager: don't page stderr if it's being redirected (issue2541)
Brodie Rao -
r13642:99451069 stable
parent child Browse files
Show More
@@ -59,14 +59,17 b' from mercurial.i18n import _'
59
59
60 def _runpager(p):
60 def _runpager(p):
61 if not hasattr(os, 'fork'):
61 if not hasattr(os, 'fork'):
62 sys.stderr = sys.stdout = util.popen(p, 'wb')
62 sys.stdout = util.popen(p, 'wb')
63 if sys.stderr.isatty():
64 sys.stderr = sys.stdout
63 return
65 return
64 fdin, fdout = os.pipe()
66 fdin, fdout = os.pipe()
65 pid = os.fork()
67 pid = os.fork()
66 if pid == 0:
68 if pid == 0:
67 os.close(fdin)
69 os.close(fdin)
68 os.dup2(fdout, sys.stdout.fileno())
70 os.dup2(fdout, sys.stdout.fileno())
69 os.dup2(fdout, sys.stderr.fileno())
71 if sys.stderr.isatty():
72 os.dup2(fdout, sys.stderr.fileno())
70 os.close(fdout)
73 os.close(fdout)
71 return
74 return
72 os.dup2(fdin, sys.stdin.fileno())
75 os.dup2(fdin, sys.stdin.fileno())
General Comments 0
You need to be logged in to leave comments. Login now