parser: take suffix action if no infix action is defined
If no infix action is defined, a suffix action isn't ambiguous, so it should
be taken no matter if the next token can be an operand. This is exactly the
same flow as prefix/primary handling.
This change has no effect now because all suffix tokens have infix actions.
--- a/mercurial/parser.py Mon Jul 06 21:55:55 2015 +0900
+++ b/mercurial/parser.py Mon Jul 06 22:01:41 2015 +0900
@@ -62,7 +62,7 @@
token, value, pos = self._advance()
# handle infix rules, take as suffix if unambiguous
infix, suffix = self._elements[token][3:]
- if suffix and not self._hasnewterm():
+ if suffix and not (infix and self._hasnewterm()):
expr = (suffix[0], expr)
elif infix:
expr = (infix[0], expr, self._parseoperand(*infix[1:]))