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.
--- a/mercurial/extensions.py Fri Jan 23 17:47:04 2015 -0600
+++ b/mercurial/extensions.py Fri Jan 23 20:30:49 2015 -0800
@@ -107,8 +107,6 @@
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)