# HG changeset patch # User Pierre-Yves David # Date 1487968447 -3600 # 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 -r 75c4aafee490 -r a2ee25ff75e5 hgext/color.py --- 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) diff -r 75c4aafee490 -r a2ee25ff75e5 mercurial/color.py --- 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