# HG changeset patch
# User Benoit Boissinot <benoit.boissinot@ens-lyon.org>
# Node ID e09799f2340cbb57e0f7d4713ea8602021619178
# Parent 214f42f23a3bbf04efb96ec1c02097cad11d018d
catch parsing error of config files
diff -r 214f42f23a3b -r e09799f2340c mercurial/ui.py
--- a/mercurial/ui.py Wed Oct 26 16:32:50 2005 -0700
+++ b/mercurial/ui.py Thu Oct 27 15:08:35 2005 +0200
@@ -15,7 +15,10 @@
interactive=True):
self.overlay = {}
self.cdata = ConfigParser.SafeConfigParser()
- self.cdata.read(util.rcpath)
+ try:
+ self.cdata.read(util.rcpath)
+ except ConfigParser.ParsingError, inst:
+ raise util.Abort(_("Failed to parse %s\n%s") % (util.rcpath, inst))
self.quiet = self.configbool("ui", "quiet")
self.verbose = self.configbool("ui", "verbose")
@@ -32,7 +35,14 @@
self.interactive = (self.interactive and interactive)
def readconfig(self, fp):
- self.cdata.readfp(fp)
+ try:
+ self.cdata.readfp(fp)
+ except ConfigParser.ParsingError, inst:
+ try:
+ fn = fp.name
+ except AttributeError:
+ fn = "<??>"
+ raise util.Abort(_("Failed to parse %s\n%s") % (fn, inst))
def setconfig(self, section, name, val):
self.overlay[(section, name)] = val
|