diff --git a/mercurial/extensions.py b/mercurial/extensions.py --- a/mercurial/extensions.py +++ b/mercurial/extensions.py @@ -78,8 +78,12 @@ def loadall(ui): except (util.SignalInterrupt, KeyboardInterrupt): raise except Exception, inst: - ui.warn(_("*** failed to import extension %s: %s\n") % - (name, inst)) + if path: + ui.warn(_("*** failed to import extension %s from %s: %s\n") + % (name, path, inst)) + else: + ui.warn(_("*** failed to import extension %s: %s\n") + % (name, inst)) if ui.print_exc(): return 1 diff --git a/tests/test-bad-extension b/tests/test-bad-extension --- a/tests/test-bad-extension +++ b/tests/test-bad-extension @@ -7,5 +7,7 @@ echo '[extensions]' >> $HGRCPATH echo "gpg =" >> $HGRCPATH echo "hgext.gpg =" >> $HGRCPATH echo "badext = $abspath" >> $HGRCPATH +echo "badext2 =" >> $HGRCPATH -hg -q help help +hg -q help help 2>&1 | python -c \ + "import sys; sys.stdout.write(sys.stdin.read().replace('$abspath', '.../badext.py'))" diff --git a/tests/test-bad-extension.out b/tests/test-bad-extension.out --- a/tests/test-bad-extension.out +++ b/tests/test-bad-extension.out @@ -1,4 +1,5 @@ -*** failed to import extension badext: bit bucket overflow +*** failed to import extension badext from .../badext.py: bit bucket overflow +*** failed to import extension badext2: No module named badext2 hg help [COMMAND] show help for a command, extension, or list of commands