diff -r a0102da324ab -r 18e81d42ee5c mercurial/posix.py --- a/mercurial/posix.py Tue Apr 27 00:44:06 2010 +0530 +++ b/mercurial/posix.py Mon Apr 26 22:30:40 2010 +0200 @@ -264,3 +264,27 @@ def gethgcmd(): return sys.argv[:1] + +def termwidth_(): + try: + import termios, array, fcntl + for dev in (sys.stderr, sys.stdout, sys.stdin): + try: + try: + fd = dev.fileno() + except AttributeError: + continue + if not os.isatty(fd): + continue + arri = fcntl.ioctl(fd, termios.TIOCGWINSZ, '\0' * 8) + return array.array('h', arri)[1] + except ValueError: + pass + except IOError, e: + if e[0] == errno.EINVAL: + pass + else: + raise + except ImportError: + pass + return 80