Mercurial > hg > mercurial-source
changeset 23855:c4d0c3d05721
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.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sat, 10 Jan 2015 23:18:11 +0900 |
parents | 91dbb98b3513 |
children | ddf2172e901d |
files | mercurial/revset.py |
diffstat | 1 files changed, 9 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -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