# HG changeset patch # User Brodie Rao # Date 1304244862 -7200 # Node ID a36e8c99d51c53d9a9da09abbb894f539ca9e4c9 # Parent 7f45b191189365e8cedf566e68dccc14692761ca color: use ui.formatted() to test TTYness, not sys.stdout.isatty() This fixes the color extension not working with pager (broken in 877390020477). The pager extension already sets ui.formatted=True to allow this use case. diff -r 7f45b1911893 -r a36e8c99d51c hgext/color.py --- a/hgext/color.py Sun May 01 11:12:36 2011 +0200 +++ b/hgext/color.py Sun May 01 12:14:22 2011 +0200 @@ -301,13 +301,15 @@ global _terminfo_params if ui.plain(): return + + formatted = (os.environ.get('TERM') != 'dumb' and ui.formatted()) mode = ui.config('color', 'mode', 'auto') if mode == 'auto': if os.name == 'nt' and 'TERM' not in os.environ: # looks line a cmd.exe console, use win32 API or nothing mode = w32effects and 'win32' or 'none' else: - if getattr(sys.stdout, 'isatty', None) and sys.stdout.isatty(): + if not formatted: _terminfo_params = False else: _terminfosetup(ui) @@ -332,8 +334,7 @@ auto = coloropt == 'auto' always = util.parsebool(coloropt) if (always or - (always is None and - (auto and (os.environ.get('TERM') != 'dumb' and ui_.formatted())))): + (always is None and auto and formatted)): colorui._colormode = mode colorui.__bases__ = (ui_.__class__,) ui_.__class__ = colorui