# HG changeset patch # User Alexis S. L. Carvalho # Date 2008-03-19 19:54:35 # Node ID 577a7da1d44b68b7bfabdc0f5927710a44b6d82f # Parent 8e3dc3de7e73dea0a9f222a73d89e77ee683d662 two fixes for the pager stuff - open pipe in binary mode - don't start a pager if stdout is not a tty (this prevents test-ssh from hanging if you set ui.usepager=True in run-tests.py) diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -385,7 +385,7 @@ class ui(object): self.buffers[-1].extend([str(a) for a in args]) else: if self.getpager() and not self.pager: - self.pager = os.popen(self.getpager(), "w") + self.pager = os.popen(self.getpager(), "wb") sys.stderr = self.pager sys.stdout = self.pager for a in args: @@ -495,6 +495,6 @@ class ui(object): def getpager(self): '''return a pager''' - if self.configbool("ui", "usepager", False): + if sys.stdout.isatty() and self.configbool("ui", "usepager", False): return (self.config("ui", "pager") or os.environ.get("PAGER"))