mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.2.1274: Vim9: no error for missing white space at script level
Problem: Vim9: no error for missing white space in assignment at script
level.
Solution: Check for white space. (closes vim/vim#6495)
63be3d4ba0
Cherry-pick Test_let_errors() change from patch 8.2.0633.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
parent
5b8d8a4c99
commit
e03f23189d
@ -6694,7 +6694,8 @@ const char *find_name_end(const char *arg, const char **expr_start, const char *
|
||||
for (p = arg; *p != NUL
|
||||
&& (eval_isnamec(*p)
|
||||
|| *p == '{'
|
||||
|| ((flags & FNE_INCL_BR) && (*p == '[' || *p == '.'))
|
||||
|| ((flags & FNE_INCL_BR) && (*p == '['
|
||||
|| (*p == '.' && eval_isnamec1(p[1]))))
|
||||
|| mb_nest != 0
|
||||
|| br_nest != 0); MB_PTR_ADV(p)) {
|
||||
if (*p == '\'') {
|
||||
|
@ -231,11 +231,13 @@ static void ex_let_const(exarg_T *eap, const bool is_const)
|
||||
expr++;
|
||||
}
|
||||
}
|
||||
expr = skipwhite(expr + 2);
|
||||
expr += 2;
|
||||
} else {
|
||||
expr = skipwhite(expr + 1);
|
||||
expr += 1;
|
||||
}
|
||||
|
||||
expr = skipwhite(expr);
|
||||
|
||||
if (eap->skip) {
|
||||
emsg_skip++;
|
||||
}
|
||||
|
@ -276,20 +276,27 @@ func Test_let_errors()
|
||||
let s = "var"
|
||||
let var = 1
|
||||
call assert_fails('let var += [1,2]', 'E734:')
|
||||
call assert_fails('let {s}.1 = 2', 'E18:')
|
||||
call assert_fails('let {s}.1 = 2', 'E15:')
|
||||
call assert_fails('let a[1] = 5', 'E121:')
|
||||
let l = [[1,2]]
|
||||
call assert_fails('let l[:][0] = [5]', 'E708:')
|
||||
let d = {'k' : 4}
|
||||
call assert_fails('let d.# = 5', 'E713:')
|
||||
call assert_fails('let d.# = 5', 'E488:')
|
||||
call assert_fails('let d.m += 5', 'E734:')
|
||||
call assert_fails('let m = d[{]', 'E15:')
|
||||
let l = [1, 2]
|
||||
call assert_fails('let l[2] = 0', 'E684:')
|
||||
call assert_fails('let l[0:1] = [1, 2, 3]', 'E710:')
|
||||
call assert_fails('let l[-2:-3] = [3, 4]', 'E684:')
|
||||
call assert_fails('let l[0:4] = [5, 6]', 'E711:')
|
||||
call assert_fails('let l -= 2', 'E734:')
|
||||
call assert_fails('let l += 2', 'E734:')
|
||||
call assert_fails('let g:["a;b"] = 10', 'E461:')
|
||||
call assert_fails('let g:.min = function("max")', 'E704:')
|
||||
if has('channel')
|
||||
let ch = test_null_channel()
|
||||
call assert_fails('let ch += 1', 'E734:')
|
||||
endif
|
||||
|
||||
" This test works only when the language is English
|
||||
if v:lang == "C" || v:lang =~ '^[Ee]n'
|
||||
|
Loading…
Reference in New Issue
Block a user