color: add multiple messages input support to 'win32print'
All other function doing writes support any number of input message. For
simplicity, we make 'win32print' able to do the same.
--- a/hgext/color.py Fri Feb 24 21:31:47 2017 +0100
+++ b/hgext/color.py Fri Feb 24 21:34:07 2017 +0100
@@ -308,8 +308,7 @@
else:
self._buffers[-1].extend(args)
elif self._colormode == 'win32':
- for a in args:
- color.win32print(a, super(colorui, self).write, **opts)
+ color.win32print(super(colorui, self).write, *args, **opts)
else:
return super(colorui, self).write(
*[self.label(a, label) for a in args], **opts)
@@ -322,8 +321,7 @@
if self._bufferstates and self._bufferstates[-1][0]:
return self.write(*args, **opts)
if self._colormode == 'win32':
- for a in args:
- color.win32print(a, super(colorui, self).write_err, **opts)
+ color.win32print(super(colorui, self).write_err, *args, **opts)
else:
return super(colorui, self).write_err(
*[self.label(a, label) for a in args], **opts)
--- a/mercurial/color.py Fri Feb 24 21:31:47 2017 +0100
+++ b/mercurial/color.py Fri Feb 24 21:34:07 2017 +0100
@@ -288,7 +288,11 @@
ansire = re.compile('\033\[([^m]*)m([^\033]*)(.*)',
re.MULTILINE | re.DOTALL)
- def win32print(text, writefunc, **opts):
+ def win32print(writefunc, *msgs, **opts):
+ for text in msgs:
+ _win32print(text, writefunc, **opts)
+
+ def _win32print(text, writefunc, **opts):
label = opts.get('label', '')
attr = origattr