scmutil: make termwidth() obtain stdio from ui
authorYuya Nishihara <yuya@tcha.org>
Thu, 20 Oct 2016 21:42:11 +0900
changeset 30310 5c379b1f56c7
parent 30309 4b1af1c867fa
child 30311 80708959161a
scmutil: make termwidth() obtain stdio from ui I'm getting rid of direct sys.stderr|out|in references so Py3 porting will be slightly easier.
mercurial/scmposix.py
mercurial/scmwindows.py
mercurial/ui.py
--- a/mercurial/scmposix.py	Thu Oct 20 21:38:44 2016 +0900
+++ b/mercurial/scmposix.py	Thu Oct 20 21:42:11 2016 +0900
@@ -41,11 +41,11 @@
     else:
         return [os.path.expanduser('~/.hgrc')]
 
-def termwidth():
+def termwidth(ui):
     try:
         import array
         import termios
-        for dev in (sys.stderr, sys.stdout, sys.stdin):
+        for dev in (ui.ferr, ui.fout, ui.fin):
             try:
                 try:
                     fd = dev.fileno()
--- a/mercurial/scmwindows.py	Thu Oct 20 21:38:44 2016 +0900
+++ b/mercurial/scmwindows.py	Thu Oct 20 21:42:11 2016 +0900
@@ -53,5 +53,5 @@
         path.append(os.path.join(userprofile, '.hgrc'))
     return path
 
-def termwidth():
+def termwidth(ui):
     return win32.termwidth()
--- a/mercurial/ui.py	Thu Oct 20 21:38:44 2016 +0900
+++ b/mercurial/ui.py	Thu Oct 20 21:42:11 2016 +0900
@@ -822,7 +822,7 @@
                 return int(encoding.environ['COLUMNS'])
             except ValueError:
                 pass
-        return scmutil.termwidth()
+        return scmutil.termwidth(self)
 
     def formatted(self):
         '''should formatted output be used?