# HG changeset patch # User Martijn Pieters # Date 2016-04-05 19:01:23 # Node ID d3369dc6c1d014e320ba132e7514a0c67579e9c9 # Parent 9848a6c77a9b2d26ddc343830c064a24162e6b50 dispatch: split out warning message generation to separate function Allow for patching warning message generation, or for patching out the ui.log / ui.warn behaviour (but still generate the warning message). diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py --- a/mercurial/dispatch.py +++ b/mercurial/dispatch.py @@ -1015,12 +1015,9 @@ def _runcommand(ui, options, cmd, cmdfun else: return checkargs() -def handlecommandexception(ui): - """Produce a warning message for broken commands +def _exceptionwarning(ui): + """Produce a warning message for the current active exception""" - Called when handling an exception; the exception is reraised if - this function returns False, ignored otherwise. - """ # For compatibility checking, we discard the portion of the hg # version after the + on the assumption that if a "normal # user" is running a build with a + in it the packager @@ -1072,6 +1069,15 @@ def handlecommandexception(ui): util.version()) + (_("** Extensions loaded: %s\n") % ", ".join([x[0] for x in extensions.extensions()]))) + return warning + +def handlecommandexception(ui): + """Produce a warning message for broken commands + + Called when handling an exception; the exception is reraised if + this function returns False, ignored otherwise. + """ + warning = _exceptionwarning(ui) ui.log("commandexception", "%s\n%s\n", warning, traceback.format_exc()) ui.warn(warning) return False # re-raise the exception