File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2745,15 +2745,18 @@ parse_command_modifiers(
27452745 // silent! verbose = func()
27462746 // verbose.member = 2
27472747 // verbose[expr] = 2
2748+ // But not:
2749+ // verbose [a, b] = list
27482750 if (in_vim9script ())
27492751 {
2750- char_u * s ;
2752+ char_u * s , * n ;
27512753
27522754 for (s = p ; ASCII_ISALPHA (* s ); ++ s )
27532755 ;
2754- s = skipwhite (s );
2755- if (vim_strchr ((char_u * )".[=" , * s ) != NULL
2756- || (* s != NUL && s [1 ] == '=' ))
2756+ n = skipwhite (s );
2757+ if (vim_strchr ((char_u * )".=" , * n ) != NULL
2758+ || * s == '['
2759+ || (* n != NUL && n [1 ] == '=' ))
27572760 break ;
27582761 }
27592762
Original file line number Diff line number Diff line change @@ -1466,21 +1466,27 @@ enddef
14661466
14671467def Test_assign_command_modifier ()
14681468 var lines = << trim END
1469- var verbose = 0
1470- verbose = 1
1471- assert_equal (1 , verbose )
1472- silent verbose = 2
1473- assert_equal (2 , verbose )
1474- silent verbose += 2
1475- assert_equal (4 , verbose )
1476- silent verbose -= 1
1477- assert_equal (3 , verbose )
1478-
1479- var topleft = {one: 1 }
1480- sandbox topleft .one = 3
1481- assert_equal ({one: 3 }, topleft )
1482- leftabove topleft [' ' ] = 4
1483- assert_equal ({one: 3 , ' ' : 4 }, topleft )
1469+ var verbose = 0
1470+ verbose = 1
1471+ assert_equal (1 , verbose )
1472+ silent verbose = 2
1473+ assert_equal (2 , verbose )
1474+ silent verbose += 2
1475+ assert_equal (4 , verbose )
1476+ silent verbose -= 1
1477+ assert_equal (3 , verbose )
1478+
1479+ var topleft = {one: 1 }
1480+ sandbox topleft .one = 3
1481+ assert_equal ({one: 3 }, topleft )
1482+ leftabove topleft [' ' ] = 4
1483+ assert_equal ({one: 3 , ' ' : 4 }, topleft )
1484+
1485+ var x : number
1486+ var y : number
1487+ silent [x , y ] = [1 , 2 ]
1488+ assert_equal (1 , x )
1489+ assert_equal (2 , y )
14841490 END
14851491 CheckDefAndScriptSuccess (lines )
14861492enddef
Original file line number Diff line number Diff line change @@ -750,6 +750,8 @@ static char *(features[]) =
750750
751751static int included_patches [] =
752752{ /* Add new patch number below this line */
753+ /**/
754+ 2317 ,
753755/**/
754756 2316 ,
755757/**/
You can’t perform that action at this time.
0 commit comments