mercurial/ui.py
changeset 1473 7d66ce9895fa
parent 1440 bf109779f48b
child 1483 a4ba63e04134
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -15,7 +15,7 @@ class ui:
                  interactive=True):
         self.overlay = {}
         self.cdata = ConfigParser.SafeConfigParser()
-        self.cdata.read(util.rcpath)
+        self.readconfig(util.rcpath)
 
         self.quiet = self.configbool("ui", "quiet")
         self.verbose = self.configbool("ui", "verbose")
@@ -31,8 +31,11 @@ class ui:
         self.debugflag = (self.debugflag or debug)
         self.interactive = (self.interactive and interactive)
 
-    def readconfig(self, fp):
-        self.cdata.readfp(fp)
+    def readconfig(self, fn):
+        try:
+            self.cdata.read(fn)
+        except ConfigParser.ParsingError, inst:
+            raise util.Abort(_("Failed to parse %s\n%s") % (fn, inst))
 
     def setconfig(self, section, name, val):
         self.overlay[(section, name)] = val