[PATCH 4 of 4] ui: rerun color.setup() once the pager has spawned to honor 'color.pagermode'
Matt Harbison
mharbison72 at gmail.com
Sun Mar 26 00:41:07 EDT 2017
# HG changeset patch
# User Matt Harbison <matt_harbison at yahoo.com>
# Date 1490483831 14400
# Sat Mar 25 19:17:11 2017 -0400
# Node ID 4713a38672f2d0790477b6c22180bd453f61851d
# Parent 84bda5db69dbe3d550f45ccd6d6eda2aad760ee4
ui: rerun color.setup() once the pager has spawned to honor 'color.pagermode'
Otherwise, ui.pageractive is False when color is setup in dispatch.py (without
--pager=on), and this config option is ignored.
diff --git a/mercurial/ui.py b/mercurial/ui.py
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -861,6 +861,12 @@
# auto-detection of things being formatted.
self.setconfig('ui', 'formatted', wasformatted, 'pager')
self.setconfig('ui', 'interactive', False, 'pager')
+
+ # If pagermode differs from color.mode, reconfigure color now that
+ # pageractive is set.
+ cm = self._colormode
+ if cm != self.config('color', 'pagermode', cm):
+ color.setup(self)
else:
# If the pager can't be spawned in dispatch when --pager=on is
# given, don't try again when the command runs, to avoid a duplicate
More information about the Mercurial-devel
mailing list