# HG changeset patch # User Pierre-Yves David # Date 2017-02-24 20:34:07 # Node ID a2ee25ff75e539caeca9aa18e9cb9291f032e4fb # Parent 75c4aafee4906ee7a989e69278ee207c4041e332 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. diff --git a/hgext/color.py b/hgext/color.py --- a/hgext/color.py +++ b/hgext/color.py @@ -308,8 +308,7 @@ class colorui(uimod.ui): 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 @@ class colorui(uimod.ui): 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) diff --git a/mercurial/color.py b/mercurial/color.py --- a/mercurial/color.py +++ b/mercurial/color.py @@ -288,7 +288,11 @@ if pycompat.osname == 'nt': 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