diff --git a/hgext/pager.py b/hgext/pager.py index 2420cb1ea1d6d7f46739eead1e3d7f9c399120a4_aGdleHQvcGFnZXIucHk=..994510694b1d12f121dce2e5a585abaf13514259_aGdleHQvcGFnZXIucHk= 100644 --- a/hgext/pager.py +++ b/hgext/pager.py @@ -59,10 +59,12 @@ def _runpager(p): if not hasattr(os, 'fork'): - sys.stderr = sys.stdout = util.popen(p, 'wb') + sys.stdout = util.popen(p, 'wb') + if sys.stderr.isatty(): + sys.stderr = sys.stdout return fdin, fdout = os.pipe() pid = os.fork() if pid == 0: os.close(fdin) os.dup2(fdout, sys.stdout.fileno()) @@ -63,10 +65,11 @@ return fdin, fdout = os.pipe() pid = os.fork() if pid == 0: os.close(fdin) os.dup2(fdout, sys.stdout.fileno()) - os.dup2(fdout, sys.stderr.fileno()) + if sys.stderr.isatty(): + os.dup2(fdout, sys.stderr.fileno()) os.close(fdout) return os.dup2(fdin, sys.stdin.fileno())