hgext/color.py
changeset 14103 a36e8c99d51c
parent 14095 877390020477
child 14139 4e5a36eeefd1
--- 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