color: set _colormode to None when mode is unset (
issue3895)
Previously, colorui assumed that it would only be called when mode wasn't
None.
7ae12ce87594 changed that, so now colorui needs to care about whether it
should colorize output.
--- a/hgext/color.py Fri Apr 19 16:57:20 2013 -0700
+++ b/hgext/color.py Fri Apr 19 16:57:10 2013 -0700
@@ -398,8 +398,8 @@
ui.__class__ = colorui
def colorcmd(orig, ui_, opts, cmd, cmdfunc):
mode = _modesetup(ui_, opts)
+ colorui._colormode = mode
if mode:
- colorui._colormode = mode
extstyles()
configstyles(ui_)
return orig(ui_, opts, cmd, cmdfunc)
--- a/tests/test-status-color.t Fri Apr 19 16:57:20 2013 -0700
+++ b/tests/test-status-color.t Fri Apr 19 16:57:10 2013 -0700
@@ -109,6 +109,16 @@
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../1/in_b_1\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4min_b_2\x1b[0m (esc)
\x1b[0;35;1;4m? \x1b[0m\x1b[0;35;1;4m../in_b\x1b[0m (esc)
+
+Make sure --color=never works
+ $ hg status --color=never
+ ? a/1/in_a_1
+ ? a/in_a
+ ? b/1/in_b_1
+ ? b/2/in_b_2
+ ? b/in_b
+ ? in_root
+
$ cd ..
$ hg init repo2