Mercurial > hg
changeset 30311:80708959161a
scmutil: narrow ImportError handling in termwidth()
The array module must exist. It's sufficient to suppress the ImportError of
termios. Also salvaged the comment why we have to handle AttributeError, from
7002bb17cc5e.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 20 Oct 2016 21:50:29 +0900 |
parents | 5c379b1f56c7 |
children | 1ad1c5017043 |
files | mercurial/scmposix.py |
diffstat | 1 files changed, 7 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/scmposix.py Thu Oct 20 21:42:11 2016 +0900 +++ b/mercurial/scmposix.py Thu Oct 20 21:50:29 2016 +0900 @@ -1,5 +1,6 @@ from __future__ import absolute_import +import array import errno import fcntl import os @@ -43,8 +44,11 @@ def termwidth(ui): try: - import array import termios + TIOCGWINSZ = termios.TIOCGWINSZ # unavailable on IRIX (issue3449) + except (AttributeError, ImportError): + return 80 + if True: for dev in (ui.ferr, ui.fout, ui.fin): try: try: @@ -53,13 +57,11 @@ continue if not os.isatty(fd): continue - try: - arri = fcntl.ioctl(fd, termios.TIOCGWINSZ, '\0' * 8) + if True: + arri = fcntl.ioctl(fd, TIOCGWINSZ, '\0' * 8) width = array.array('h', arri)[1] if width > 0: return width - except AttributeError: - pass except ValueError: pass except IOError as e: @@ -67,6 +69,4 @@ pass else: raise - except ImportError: - pass return 80