Mercurial > public > mercurial-scm > hg-stable
diff mercurial/fileset.py @ 25252:ac381dd7a21f
fileset: move validation of incomplete parsing to parse() function
fileset.parse() should be responsible for all parsing errors as well.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 26 Apr 2015 19:50:42 +0900 |
parents | caa6b6c65dc3 |
children | ad1d2c952889 |
line wrap: on
line diff
--- a/mercurial/fileset.py Sun Apr 26 19:42:47 2015 +0900 +++ b/mercurial/fileset.py Sun Apr 26 19:50:42 2015 +0900 @@ -81,7 +81,10 @@ def parse(expr): p = parser.parser(tokenize, elements) - return p.parse(expr) + tree, pos = p.parse(expr) + if pos != len(expr): + raise error.ParseError(_("invalid token"), pos) + return tree def getstring(x, err): if x and (x[0] == 'string' or x[0] == 'symbol'): @@ -491,9 +494,7 @@ ] def getfileset(ctx, expr): - tree, pos = parse(expr) - if (pos != len(expr)): - raise error.ParseError(_("invalid token"), pos) + tree = parse(expr) # do we need status info? if (_intree(['modified', 'added', 'removed', 'deleted',