# HG changeset patch # User Laurent Charignon # Date 1426545033 25200 # Node ID a38f384f2a573e61f690b2b1b9ec7515069dc3f5 # Parent ca4b89683078a7199e108799afdeb5943b8a97c3 record: consolidate ui.write wrapping in a function diff -r ca4b89683078 -r a38f384f2a57 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Tue Mar 17 18:20:24 2015 +0900 +++ b/mercurial/cmdutil.py Mon Mar 16 15:30:33 2015 -0700 @@ -21,6 +21,19 @@ def parsealiases(cmd): return cmd.lstrip("^").split("|") +def setupwrapcolorwrite(ui): + # wrap ui.write so diff output can be labeled/colorized + def wrapwrite(orig, *args, **kw): + label = kw.pop('label', '') + for chunk, l in patch.difflabel(lambda: args): + orig(chunk, label=label + l) + + oldwrite = ui.write + def wrap(*args, **kwargs): + return wrapwrite(oldwrite, *args, **kwargs) + setattr(ui, 'write', wrap) + return oldwrite + def recordfilter(ui, originalhunks): usecurses = ui.configbool('experimental', 'crecord', False) if usecurses: @@ -189,17 +202,7 @@ except OSError: pass - # wrap ui.write so diff output can be labeled/colorized - def wrapwrite(orig, *args, **kw): - label = kw.pop('label', '') - for chunk, l in patch.difflabel(lambda: args): - orig(chunk, label=label + l) - - oldwrite = ui.write - def wrap(*args, **kwargs): - return wrapwrite(oldwrite, *args, **kwargs) - setattr(ui, 'write', wrap) - + oldwrite = setupwrapcolorwrite(ui) try: return commit(ui, repo, recordfunc, pats, opts) finally: