[PATCH] color: verify stdout is a tty before using curses
Brodie Rao
brodie at bitheap.org
Sat Apr 30 11:48:25 CDT 2011
On Apr 30, 2011, at 6:18 PM, Augie Fackler wrote:
> # HG changeset patch
> # User Augie Fackler <durin42 at gmail.com>
> # Date 1304180323 18000
> # Node ID e316d00e4ad54d48364145fe4d8d548ad2f0a3f4
> # Parent 58e58406ed190ce59c78de13e82da1f6bc47f06c
> color: verify stdout is a tty before using curses
>
> Without this change, curses complains when invoked in certain contexts
> (such as emacs integration.)
Can you give some instructions on how to reproduce this?
> diff --git a/hgext/color.py b/hgext/color.py
> --- a/hgext/color.py
> +++ b/hgext/color.py
> @@ -307,11 +307,14 @@
> # looks line a cmd.exe console, use win32 API or nothing
> mode = w32effects and 'win32' or 'none'
> else:
> - _terminfosetup(ui)
> - if not _terminfo_params:
> - mode = 'ansi'
> + if getattr(sys.stdout, 'isatty', lambda : False)():
> + _terminfo_params = False
> else:
> - mode = 'terminfo'
> + _terminfosetup(ui)
> + if not _terminfo_params:
> + mode = 'ansi'
> + else:
> + mode = 'terminfo'
> if mode == 'win32':
> if w32effects is None:
> # only warn if color.mode is explicitly set to win32
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list