Mercurial > public > mercurial-scm > hg-stable
diff mercurial/ui.py @ 41284:b0e3f2d7c143
ui: move protectedstdio() context manager from procutil
This is a follow-up series for 23a00bc90a3c, "chgserver: do not send system()
back to client if stdio redirected." The function is renamed using ui terms.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 26 Sep 2018 21:29:13 +0900 |
parents | 44914de4e915 |
children | cf8677cd7286 |
line wrap: on
line diff
--- a/mercurial/ui.py Thu Jan 10 21:29:24 2019 +0900 +++ b/mercurial/ui.py Wed Sep 26 21:29:13 2018 +0900 @@ -1080,6 +1080,15 @@ return False return procutil.isatty(fh) + @contextlib.contextmanager + def protectedfinout(self): + """Run code block with protected standard streams""" + fin, fout = procutil.protectstdio(self._fin, self._fout) + try: + yield fin, fout + finally: + procutil.restorestdio(self._fin, self._fout, fin, fout) + def disablepager(self): self._disablepager = True