diff -r 6371ab78c3b3 -r 48fc2a8af345 mercurial/filesetlang.py --- a/mercurial/filesetlang.py Sat Jul 21 16:11:36 2018 +0900 +++ b/mercurial/filesetlang.py Sat Jul 21 16:13:30 2018 +0900 @@ -142,7 +142,9 @@ getsymbol(x[1]) # kind must be a symbol t = _analyze(x[2]) return (op, x[1], t) - if op in {'group', 'not', 'negate'}: + if op == 'group': + return _analyze(x[1]) + if op in {'not', 'negate'}: t = _analyze(x[1]) return (op, t) if op in {'and', 'minus'}: