# HG changeset patch # User Thomas Arendsen Hein # Date 1141986842 -3600 # Node ID 2e0fd78587bdb1ecaf56ef9aaf428d2b7a271217 # Parent 2f4a0734c1001d47184cbe6f823696fb74bb8de9 Catch hgrc interpolation errors nicely. diff -r 2f4a0734c100 -r 2e0fd78587bd mercurial/ui.py --- a/mercurial/ui.py Fri Mar 10 11:33:28 2006 +0100 +++ b/mercurial/ui.py Fri Mar 10 11:34:02 2006 +0100 @@ -64,7 +64,10 @@ if self.overlay.has_key((section, name)): return self.overlay[(section, name)] if self.cdata.has_option(section, name): - return self.cdata.get(section, name) + try: + return self.cdata.get(section, name) + except ConfigParser.InterpolationError, inst: + raise util.Abort(_("Error in configuration:\n%s") % inst) if self.parentui is None: return default else: @@ -74,7 +77,10 @@ if self.overlay.has_key((section, name)): return self.overlay[(section, name)] if self.cdata.has_option(section, name): - return self.cdata.getboolean(section, name) + try: + return self.cdata.getboolean(section, name) + except ConfigParser.InterpolationError, inst: + raise util.Abort(_("Error in configuration:\n%s") % inst) if self.parentui is None: return default else: @@ -85,7 +91,10 @@ if self.parentui is not None: items = dict(self.parentui.configitems(section)) if self.cdata.has_section(section): - items.update(dict(self.cdata.items(section))) + try: + items.update(dict(self.cdata.items(section))) + except ConfigParser.InterpolationError, inst: + raise util.Abort(_("Error in configuration:\n%s") % inst) x = items.items() x.sort() return x