extensions: don't quit loading extensions in the middle if traceback is on stable
authorSiddharth Agarwal <sid0@fb.com>
Fri, 23 Jan 2015 20:30:49 -0800
branchstable
changeset 23953 af73c05e735a
parent 23952 ea61e278ae92
child 23954 310222feb9a8
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.
mercurial/extensions.py
--- 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)