Patchwork [5,of,7] color: pass 'ui' to 'win32print'

login
register
mail settings
Submitter Pierre-Yves David
Date Feb. 27, 2017, 3 p.m.
Message ID <8e725873d8e1bec5dbdd.1488207601@nodosa.octopoid.net>
Download mbox | patch
Permalink /patch/18801/
State Superseded
Headers show

Comments

Pierre-Yves David - Feb. 27, 2017, 3 p.m.
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david@ens-lyon.org>
# Date 1478459453 -3600
#      Sun Nov 06 20:10:53 2016 +0100
# Node ID 8e725873d8e1bec5dbdd0c69cbfc12af54af6a6a
# Parent  bdebc6e9429942e8dec6b9b6fe38be8c11bb06d9
# EXP-Topic color
color: pass 'ui' to 'win32print'

Same logic as before,'win32print' relies on some data we will move on the 'ui'
object soon, we update the API beforehand for clarity.

Patch

diff --git a/mercurial/color.py b/mercurial/color.py
--- a/mercurial/color.py
+++ b/mercurial/color.py
@@ -417,11 +417,11 @@  if pycompat.osname == 'nt':
             ansire = re.compile('\033\[([^m]*)m([^\033]*)(.*)',
                                 re.MULTILINE | re.DOTALL)
 
-    def win32print(writefunc, *msgs, **opts):
+    def win32print(ui, writefunc, *msgs, **opts):
         for text in msgs:
-            _win32print(text, writefunc, **opts)
+            _win32print(ui, text, writefunc, **opts)
 
-    def _win32print(text, writefunc, **opts):
+    def _win32print(ui, text, writefunc, **opts):
         label = opts.get('label', '')
         attr = origattr
 
diff --git a/mercurial/ui.py b/mercurial/ui.py
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -805,7 +805,7 @@  class ui(object):
         elif self._colormode == 'win32':
             # windows color printing is its own can of crab, defer to
             # the color module and that is it.
-            color.win32print(self._write, *args, **opts)
+            color.win32print(self, self._write, *args, **opts)
         else:
             msgs = args
             if self._colormode is not None:
@@ -831,7 +831,7 @@  class ui(object):
         elif self._colormode == 'win32':
             # windows color printing is its own can of crab, defer to
             # the color module and that is it.
-            color.win32print(self._write_err, *args, **opts)
+            color.win32print(self, self._write_err, *args, **opts)
         else:
             msgs = args
             if self._colormode is not None: