mercurial/parser.py
changeset 25804 f0a77cb6316a
parent 25803 b3004d273874
child 25815 e71e5629e006
--- a/mercurial/parser.py	Sun Jul 05 18:09:15 2015 +0900
+++ b/mercurial/parser.py	Sun Jul 05 11:54:14 2015 +0900
@@ -29,6 +29,9 @@
         t = self.current
         self.current = next(self._iter, None)
         return t
+    def _hasnewterm(self):
+        'True if next token may start new term'
+        return bool(self._elements[self.current[0]][1])
     def _match(self, m):
         'make sure the tokenizer matches an end condition'
         if self.current[0] != m:
@@ -59,7 +62,7 @@
             token, value, pos = self._advance()
             infix, suffix = self._elements[token][2:]
             # check for suffix - next token isn't a valid prefix
-            if suffix and not self._elements[self.current[0]][1]:
+            if suffix and not self._hasnewterm():
                 expr = (suffix[0], expr)
             else:
                 # handle infix rules