--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -2449,7 +2449,12 @@ def dispatch(args):
except AttributeError:
pass
- u = ui.ui()
+ try:
+ u = ui.ui()
+ except util.Abort, inst:
+ sys.stderr.write(_("abort: %s\n") % inst)
+ sys.exit(1)
+
external = []
for x in u.extensions():
def on_exception(Exception, inst):
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -32,10 +32,13 @@ class ui:
self.interactive = (self.interactive and interactive)
def readconfig(self, fn):
- try:
- self.cdata.read(fn)
- except ConfigParser.ParsingError, inst:
- raise util.Abort(_("Failed to parse %s\n%s") % (fn, inst))
+ if isinstance(fn, basestring):
+ fn = [fn]
+ for f in fn:
+ try:
+ self.cdata.read(f)
+ except ConfigParser.ParsingError, inst:
+ raise util.Abort(_("Failed to parse %s\n%s") % (f, inst))
def setconfig(self, section, name, val):
self.overlay[(section, name)] = val