diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-06-18 22:43:27 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-06-18 22:43:27 +0200 |
commit | c5b1c20b6b1968873ea31edac1db659773b3b93d (patch) | |
tree | bf1fa252892a20767a80c548853230f2daee4d24 | |
parent | 0779fab2979d6d055ba3c464f1c2b9d90dc9e49f (diff) | |
download | vim-git-c5b1c20b6b1968873ea31edac1db659773b3b93d.tar.gz |
patch 8.2.1009: Vim9: some failures not checked forv8.2.1009
Problem: Vim9: some failures not checked for.
Solution: Add test cases. Remove unused code.
-rw-r--r-- | src/testdir/test_vim9_script.vim | 21 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim9execute.c | 6 |
3 files changed, 24 insertions, 5 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index d4cd60222..25fed4acd 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -127,6 +127,7 @@ def Test_assignment_list() list2[-3] = 77 assert_equal([77, 88, 99], list2) call CheckDefExecFailure(['let ll = [1, 2, 3]', 'll[-4] = 6'], 'E684:') + call CheckDefExecFailure(['let [v1, v2] = [1, 2]'], 'E1092:') # type becomes list<any> let somelist = rand() > 0 ? [1, 2, 3] : ['a', 'b', 'c'] @@ -1920,6 +1921,20 @@ def Test_let_declaration() unlet g:other_var enddef +def Test_let_declaration_fails() + let lines =<< trim END + vim9script + const var: string + END + CheckScriptFailure(lines, 'E1021:') + + lines =<< trim END + vim9script + let 9var: string + END + CheckScriptFailure(lines, 'E475:') +enddef + def Test_let_type_check() let lines =<< trim END vim9script @@ -1933,6 +1948,12 @@ def Test_let_type_check() let var:string END CheckScriptFailure(lines, 'E1069:') + + lines =<< trim END + vim9script + let var: asdf + END + CheckScriptFailure(lines, 'E1010:') enddef def Test_forward_declaration() diff --git a/src/version.c b/src/version.c index a3fedf1cd..c702791a1 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1009, +/**/ 1008, /**/ 1007, diff --git a/src/vim9execute.c b/src/vim9execute.c index e92af22cc..53a30c9b4 100644 --- a/src/vim9execute.c +++ b/src/vim9execute.c @@ -2119,12 +2119,8 @@ call_def_function( list_T *list; int count = iptr->isn_arg.number; + // type will have been checked to be a list tv = STACK_TV_BOT(-1); - if (tv->v_type != VAR_LIST) - { - emsg(_(e_listreq)); - goto failed; - } list = tv->vval.v_list; // no error for short list, expect it to be checked earlier |