# HG changeset patch # User Siddharth Agarwal # Date 2015-01-24 04:30:49 # Node ID af73c05e735aecf8c863ceb57a31ae1bc8487412 # Parent ea61e278ae9201d4b66146285bde689b4f26868e extensions: don't quit loading extensions in the middle if traceback is on This was introduced way back in 2006 (rev 1f6d520557ec) as sys.exit(0) if loading an extension failed when --traceback was on, then at some point morphed into a 'return 1' in a function that otherwise returns nothing. At this point, if ui.traceback is enabled and if loading an extension fails for whatever reason, including one as innocent as it not being present, we leave any extensions loaded so far in a bogus half-initialized state. That doesn't really make any sense. diff --git a/mercurial/extensions.py b/mercurial/extensions.py --- a/mercurial/extensions.py +++ b/mercurial/extensions.py @@ -107,8 +107,6 @@ def loadall(ui): else: ui.warn(_("*** failed to import extension %s: %s\n") % (name, inst)) - if ui.traceback(): - return 1 for name in _order[newindex:]: uisetup = getattr(_extensions[name], 'uisetup', None)