# HG changeset patch # User Matt Harbison # Date 1360437772 18000 # Node ID 5572f688e0a90e99e077cecfe308ce20c1133c91 # Parent 0062508b19007673b17923adf1d35f2931f39965 ui: add 'force' parameter to traceback() to override the current print setting This will allow a current traceback.print_exc() call in dispatch to be replaced with ui.traceback() even if --traceback was not given on the command line. diff -r 0062508b1900 -r 5572f688e0a9 mercurial/ui.py --- a/mercurial/ui.py Sat Feb 09 14:15:34 2013 -0500 +++ b/mercurial/ui.py Sat Feb 09 14:22:52 2013 -0500 @@ -681,11 +681,11 @@ return t - def traceback(self, exc=None): - '''print exception traceback if traceback printing enabled. + def traceback(self, exc=None, force=False): + '''print exception traceback if traceback printing enabled or forced. only to call in exception handler. returns true if traceback printed.''' - if self.tracebackflag: + if self.tracebackflag or force: if exc is None: exc = sys.exc_info() cause = getattr(exc[1], 'cause', None) @@ -703,7 +703,7 @@ else: traceback.print_exception(exc[0], exc[1], exc[2], file=self.ferr) - return self.tracebackflag + return self.tracebackflag or force def geteditor(self): '''return editor to use'''