Problem: White space after "->" does not give E274.
Solution: Do not skip white space in legacy script. (closes #8212)
}
else if (p[0] == '-' && p[1] == '>')
{
- *arg = skipwhite(p + 2);
+ if (in_vim9script())
+ *arg = skipwhite(p + 2);
+ else
+ *arg = p + 2;
if (ret == OK)
{
- if ((**arg == '{' && !in_vim9script()) || **arg == '(')
+ if (VIM_ISWHITE(**arg))
+ {
+ emsg(_(e_nowhitespace));
+ ret = FAIL;
+ }
+ else if ((**arg == '{' && !in_vim9script()) || **arg == '(')
// expr->{lambda}() or expr->(lambda)()
ret = eval_lambda(arg, rettv, evalarg, verbose);
else
eval [1, 2, 3]
\ ->sort(
\ )
- eval [1, 2, 3]-> sort()
+ eval [1, 2, 3]->sort()
call assert_fails('eval [1, 2, 3]->sort ()', 'E274:')
call assert_fails('eval [1, 2, 3] ->sort ()', 'E274:')
call assert_fails('eval [1, 2, 3]-> sort ()', 'E274:')
+ call assert_fails('eval [1, 2, 3]-> sort()', 'E274:')
endfunc
func Test_method_lambda()
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 2855,
/**/
2854,
/**/