Mercurial > vim
diff src/eval.c @ 24632:9e72076e31f8 v8.2.2855
patch 8.2.2855: white space after "->" does not give E274
Commit: https://github.com/vim/vim/commit/0820f4de5872bfbdc25bf6cba6ec5646dbcec156
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 15 20:06:58 2021 +0200
patch 8.2.2855: white space after "->" does not give E274
Problem: White space after "->" does not give E274.
Solution: Do not skip white space in legacy script. (closes https://github.com/vim/vim/issues/8212)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 15 May 2021 20:15:03 +0200 |
parents | 4aebea72c397 |
children | 3876d9629ebd |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -5916,10 +5916,18 @@ handle_subscript( } 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