diff --git a/autoload/vimlparser.vim b/autoload/vimlparser.vim index f2016913..431f3402 100644 --- a/autoload/vimlparser.vim +++ b/autoload/vimlparser.vim @@ -3222,19 +3222,22 @@ function! s:ExprParser.parse_expr7() let node = s:Node(s:NODE_NOT) let node.pos = token.pos let node.left = self.parse_expr7() + return node elseif token.type == s:TOKEN_MINUS let node = s:Node(s:NODE_MINUS) let node.pos = token.pos let node.left = self.parse_expr7() + return node elseif token.type == s:TOKEN_PLUS let node = s:Node(s:NODE_PLUS) let node.pos = token.pos let node.left = self.parse_expr7() + return node else call self.reader.seek_set(pos) let node = self.parse_expr8() + return node endif - return node endfunction " expr8: expr8[expr1] diff --git a/js/vimlparser.js b/js/vimlparser.js index 760f3589..b6b88a85 100644 --- a/js/vimlparser.js +++ b/js/vimlparser.js @@ -3072,22 +3072,25 @@ ExprParser.prototype.parse_expr7 = function() { var node = Node(NODE_NOT); node.pos = token.pos; node.left = this.parse_expr7(); + return node; } else if (token.type == TOKEN_MINUS) { var node = Node(NODE_MINUS); node.pos = token.pos; node.left = this.parse_expr7(); + return node; } else if (token.type == TOKEN_PLUS) { var node = Node(NODE_PLUS); node.pos = token.pos; node.left = this.parse_expr7(); + return node; } else { this.reader.seek_set(pos); var node = this.parse_expr8(); + return node; } - return node; } // expr8: expr8[expr1] diff --git a/py/vimlparser.py b/py/vimlparser.py index cdd26376..defa7ca6 100644 --- a/py/vimlparser.py +++ b/py/vimlparser.py @@ -2451,18 +2451,21 @@ def parse_expr7(self): node = Node(NODE_NOT) node.pos = token.pos node.left = self.parse_expr7() + return node elif token.type == TOKEN_MINUS: node = Node(NODE_MINUS) node.pos = token.pos node.left = self.parse_expr7() + return node elif token.type == TOKEN_PLUS: node = Node(NODE_PLUS) node.pos = token.pos node.left = self.parse_expr7() + return node else: self.reader.seek_set(pos) node = self.parse_expr8() - return node + return node # expr8: expr8[expr1] # expr8[expr1 : expr1]