diff mercurial/fileset.py @ 38803:4dc498d61d86

fileset: flatten arguments list Just prepares for flattening 'or' nodes. This change would have no impact on performance.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 21 Jul 2018 15:14:38 +0900
parents af5c0c933af8
children d82c4d42b615
line wrap: on
line diff
--- a/mercurial/fileset.py	Sat Jul 21 15:05:40 2018 +0900
+++ b/mercurial/fileset.py	Sat Jul 21 15:14:38 2018 +0900
@@ -103,7 +103,7 @@
     tree, pos = p.parse(tokenize(expr))
     if pos != len(expr):
         raise error.ParseError(_("invalid token"), pos)
-    return tree
+    return parser.simplifyinfixops(tree, {'list'})
 
 def getsymbol(x):
     if x and x[0] == 'symbol':
@@ -131,7 +131,7 @@
     if not x:
         return []
     if x[0] == 'list':
-        return getlist(x[1]) + [x[2]]
+        return list(x[1:])
     return [x]
 
 def getargs(x, min, max, err):
@@ -174,7 +174,7 @@
 def negatematch(mctx, x):
     raise error.ParseError(_("can't use negate operator in this context"))
 
-def listmatch(mctx, x, y):
+def listmatch(mctx, *xs):
     raise error.ParseError(_("can't use a list in this context"),
                            hint=_('see hg help "filesets.x or y"'))