diff -r 53db4e2026ab -r e798e430c5e5 mercurial/revset.py --- a/mercurial/revset.py Wed Mar 16 18:48:59 2011 +0100 +++ b/mercurial/revset.py Wed Mar 16 23:09:14 2011 +0100 @@ -823,7 +823,9 @@ def match(spec): if not spec: raise error.ParseError(_("empty query")) - tree = parse(spec) + tree, pos = parse(spec) + if (pos != len(spec)): + raise error.ParseError("invalid token", pos) weight, tree = optimize(tree, True) def mfunc(repo, subset): return getset(repo, subset, tree)