diff mercurial/commands.py @ 3011:01454af644b8

load extensions only after the ui object has been completely initialized This fixes a traceback printed when hg tries to print another traceback after an extension fails to be loaded. Add a test for that.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Tue, 22 Aug 2006 22:49:30 -0300
parents f63667f694de
children 2b255c3478dc
line wrap: on
line diff
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -3305,12 +3305,14 @@ def dispatch(args):
         if num: signal.signal(num, catchterm)
 
     try:
-        u = ui.ui(traceback='--traceback' in sys.argv[1:],
-                  readhooks=[load_extensions])
+        u = ui.ui(traceback='--traceback' in sys.argv[1:])
     except util.Abort, inst:
         sys.stderr.write(_("abort: %s\n") % inst)
         return -1
 
+    load_extensions(u)
+    u.addreadhook(load_extensions)
+
     try:
         cmd, func, args, options, cmdoptions = parse(u, args)
         if options["time"]: