comparison mercurial/ui.py @ 41305:b4a3abdc790d stable

ui: inline _write() into write() due to performance issue I'll remove redundant conditions later in this series.
author Yuya Nishihara <yuya@tcha.org>
date Thu, 24 Jan 2019 21:34:48 +0900
parents ff927ecb12f9
children e8273eaa0726
comparison
equal deleted inserted replaced
41304:ff927ecb12f9 41305:b4a3abdc790d
997 997
998 When labeling output for a specific command, a label of 998 When labeling output for a specific command, a label of
999 "cmdname.type" is recommended. For example, status issues 999 "cmdname.type" is recommended. For example, status issues
1000 a label of "status.modified" for modified files. 1000 a label of "status.modified" for modified files.
1001 ''' 1001 '''
1002 self._write(self._fout, *args, **opts) 1002 dest = self._fout
1003
1004 # inlined _write() for speed
1005 if self._isbuffered(dest):
1006 label = opts.get(r'label', '')
1007 if label and self._bufferapplylabels:
1008 self._buffers[-1].extend(self.label(a, label) for a in args)
1009 else:
1010 self._buffers[-1].extend(args)
1011 else:
1012 self._writenobuf(dest, *args, **opts)
1003 1013
1004 def write_err(self, *args, **opts): 1014 def write_err(self, *args, **opts):
1005 self._write(self._ferr, *args, **opts) 1015 self._write(self._ferr, *args, **opts)
1006 1016
1007 def _write(self, dest, *args, **opts): 1017 def _write(self, dest, *args, **opts):
1018 # update write() as well if you touch this code
1008 if self._isbuffered(dest): 1019 if self._isbuffered(dest):
1009 label = opts.get(r'label', '') 1020 label = opts.get(r'label', '')
1010 if label and self._bufferapplylabels: 1021 if label and self._bufferapplylabels:
1011 self._buffers[-1].extend(self.label(a, label) for a in args) 1022 self._buffers[-1].extend(self.label(a, label) for a in args)
1012 else: 1023 else: