@@ -709,13 +709,11 @@ VimLParser.prototype.parse_command_modifiers = function() {
709709 var modifiers = [ ] ;
710710 while ( TRUE ) {
711711 var pos = this . reader . tell ( ) ;
712+ var d = "" ;
712713 if ( isdigit ( this . reader . peekn ( 1 ) ) ) {
713714 var d = this . reader . read_digit ( ) ;
714715 this . reader . skip_white ( ) ;
715716 }
716- else {
717- var d = "" ;
718- }
719717 var k = this . reader . read_alpha ( ) ;
720718 var c = this . reader . peekn ( 1 ) ;
721719 this . reader . skip_white ( ) ;
@@ -1024,6 +1022,7 @@ VimLParser.prototype.parse_command = function() {
10241022
10251023VimLParser . prototype . find_command = function ( ) {
10261024 var c = this . reader . peekn ( 1 ) ;
1025+ var name = "" ;
10271026 if ( c == "k" ) {
10281027 this . reader . getn ( 1 ) ;
10291028 var name = "k" ;
@@ -1227,6 +1226,7 @@ VimLParser.prototype.parse_cmd_modifier_range = function() {
12271226
12281227// TODO:
12291228VimLParser . prototype . parse_cmd_common = function ( ) {
1229+ var end = this . reader . getpos ( ) ;
12301230 if ( viml_eqregh ( this . ea . cmd . flags , "\\<TRLBAR\\>" ) && ! this . ea . usefilter ) {
12311231 var end = this . separate_nextcmd ( ) ;
12321232 }
@@ -1380,6 +1380,7 @@ VimLParser.prototype.parse_cmd_loadkeymap = function() {
13801380}
13811381
13821382VimLParser . prototype . parse_cmd_lua = function ( ) {
1383+ var lines = [ ] ;
13831384 this . reader . skip_white ( ) ;
13841385 if ( this . reader . peekn ( 2 ) == "<<" ) {
13851386 this . reader . getn ( 2 ) ;
@@ -1496,6 +1497,7 @@ VimLParser.prototype.parse_cmd_function = function() {
14961497 else {
14971498 var named = { } ;
14981499 while ( TRUE ) {
1500+ var varnode = Node ( NODE_IDENTIFIER ) ;
14991501 var token = tokenizer . get ( ) ;
15001502 if ( token . type == TOKEN_IDENTIFIER ) {
15011503 if ( ! isargname ( token . value ) || token . value == "firstline" || token . value == "lastline" ) {
@@ -1505,7 +1507,6 @@ VimLParser.prototype.parse_cmd_function = function() {
15051507 throw Err ( viml_printf ( "E853: Duplicate argument name: %s" , token . value ) , token . pos ) ;
15061508 }
15071509 named [ token . value ] = 1 ;
1508- var varnode = Node ( NODE_IDENTIFIER ) ;
15091510 varnode . pos = token . pos ;
15101511 varnode . value = token . value ;
15111512 viml_add ( node . rlist , varnode ) ;
@@ -1529,7 +1530,6 @@ VimLParser.prototype.parse_cmd_function = function() {
15291530 }
15301531 }
15311532 else if ( token . type == TOKEN_DOTDOTDOT ) {
1532- var varnode = Node ( NODE_IDENTIFIER ) ;
15331533 varnode . pos = token . pos ;
15341534 varnode . value = token . value ;
15351535 viml_add ( node . rlist , varnode ) ;
@@ -2433,6 +2433,7 @@ ExprTokenizer.prototype.get2 = function() {
24332433 return this . token ( TOKEN_REG , r . getn ( 2 ) , pos ) ;
24342434 }
24352435 else if ( c == "&" ) {
2436+ var s = "" ;
24362437 if ( ( r . p ( 1 ) == "g" || r . p ( 1 ) == "l" ) && r . p ( 2 ) == ":" ) {
24372438 var s = r . getn ( 3 ) + r . read_word ( ) ;
24382439 }
@@ -2966,6 +2967,7 @@ ExprParser.prototype.parse_expr8 = function() {
29662967 if ( token . type != TOKEN_SQCLOSE ) {
29672968 throw Err ( viml_printf ( "unexpected token: %s" , token . value ) , token . pos ) ;
29682969 }
2970+ var left = node ;
29692971 }
29702972 else {
29712973 var right = this . parse_expr1 ( ) ;
@@ -2983,6 +2985,7 @@ ExprParser.prototype.parse_expr8 = function() {
29832985 if ( token . type != TOKEN_SQCLOSE ) {
29842986 throw Err ( viml_printf ( "unexpected token: %s" , token . value ) , token . pos ) ;
29852987 }
2988+ var left = node ;
29862989 }
29872990 else {
29882991 var node = Node ( NODE_SUBSCRIPT ) ;
@@ -2993,9 +2996,9 @@ ExprParser.prototype.parse_expr8 = function() {
29932996 if ( token . type != TOKEN_SQCLOSE ) {
29942997 throw Err ( viml_printf ( "unexpected token: %s" , token . value ) , token . pos ) ;
29952998 }
2999+ var left = node ;
29963000 }
29973001 }
2998- var left = node ;
29993002 delete node ;
30003003 }
30013004 else if ( token . type == TOKEN_POPEN ) {
@@ -3066,6 +3069,7 @@ ExprParser.prototype.parse_expr8 = function() {
30663069ExprParser . prototype . parse_expr9 = function ( ) {
30673070 var pos = this . reader . tell ( ) ;
30683071 var token = this . tokenizer . get ( ) ;
3072+ var node = Node ( - 1 ) ;
30693073 if ( token . type == TOKEN_NUMBER ) {
30703074 var node = Node ( NODE_NUMBER ) ;
30713075 node . pos = token . pos ;
@@ -3317,13 +3321,14 @@ ExprParser.prototype.parse_identifier = function() {
33173321 var node = Node ( NODE_IDENTIFIER ) ;
33183322 node . pos = npos ;
33193323 node . value = curly_parts [ 0 ] . value ;
3324+ return node ;
33203325 }
33213326 else {
33223327 var node = Node ( NODE_CURLYNAME ) ;
33233328 node . pos = npos ;
33243329 node . value = curly_parts ;
3330+ return node ;
33253331 }
3326- return node ;
33273332}
33283333
33293334ExprParser . prototype . parse_curly_parts = function ( ) {
@@ -3391,6 +3396,7 @@ LvalueParser.prototype.parse_lv8 = function() {
33913396 var token = this . tokenizer . get ( ) ;
33923397 if ( ! iswhite ( c ) && token . type == TOKEN_SQOPEN ) {
33933398 var npos = token . pos ;
3399+ var node = Node ( - 1 ) ;
33943400 if ( this . tokenizer . peek ( ) . type == TOKEN_COLON ) {
33953401 this . tokenizer . get ( ) ;
33963402 var node = Node ( NODE_SLICE ) ;
@@ -3462,6 +3468,7 @@ LvalueParser.prototype.parse_lv8 = function() {
34623468LvalueParser . prototype . parse_lv9 = function ( ) {
34633469 var pos = this . reader . tell ( ) ;
34643470 var token = this . tokenizer . get ( ) ;
3471+ var node = Node ( - 1 ) ;
34653472 if ( token . type == TOKEN_COPEN ) {
34663473 this . reader . seek_set ( pos ) ;
34673474 var node = this . parse_identifier ( ) ;
@@ -4075,6 +4082,7 @@ Compiler.prototype.compile_excall = function(node) {
40754082}
40764083
40774084Compiler . prototype . compile_let = function ( node ) {
4085+ var left = "" ;
40784086 if ( node . left !== NIL ) {
40794087 var left = this . compile ( node . left ) ;
40804088 }
@@ -4147,6 +4155,7 @@ Compiler.prototype.compile_while = function(node) {
41474155}
41484156
41494157Compiler . prototype . compile_for = function ( node ) {
4158+ var left = "" ;
41504159 if ( node . left !== NIL ) {
41514160 var left = this . compile ( node . left ) ;
41524161 }
0 commit comments