# HG changeset patch # User FUJIWARA Katsunori # Date 1420899491 -32400 # Node ID c4d0c3d05721452e9fac4f23933736cdf9d00c3f # Parent 91dbb98b35135aaa576303203fee373b1f0559c0 revset: factor out composing error message for ParseError to reuse This patch defines the composing function not in "ParseError" class but in "revset" module, because: - "_()" shouldn't be used in "ParseError", to avoid adding "from i18n import _" i18n" to "error" module - generalizing message composition of"ParseError" for all code paths other than revset isn't the purpose of this patch we should also take care of showing "unexpected leading whitespace" for some code paths, to generalize widely. diff -r 91dbb98b3513 -r c4d0c3d05721 mercurial/revset.py --- a/mercurial/revset.py Sat Jan 10 23:18:11 2015 +0900 +++ b/mercurial/revset.py Sat Jan 10 23:18:11 2015 +0900 @@ -239,6 +239,14 @@ pos += 1 yield ('end', None, pos) +def parseerrordetail(inst): + """Compose error message from specified ParseError object + """ + if len(inst.args) > 1: + return _('at %s: %s') % (inst.args[1], inst.args[0]) + else: + return inst.args[0] + # helpers def getstring(x, err): @@ -2146,10 +2154,7 @@ # Check for placeholder injection _checkaliasarg(self.replacement, self.args) except error.ParseError, inst: - if len(inst.args) > 1: - self.error = _('at %s: %s') % (inst.args[1], inst.args[0]) - else: - self.error = inst.args[0] + self.error = parseerrordetail(inst) def _getalias(aliases, tree): """If tree looks like an unexpanded alias, return it. Return None