diff options
author | Bram Moolenaar <Bram@vim.org> | 2023-05-23 14:48:42 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2023-05-23 14:48:42 +0100 |
commit | d4a9b7f61475f3166cce92b0bad748e8c1eb51fe (patch) | |
tree | da56f891ef709f7fb3293607bc1cf98b697f54a1 | |
parent | 50809a45ebde327cb6fdcc727d7466e926aed713 (diff) |
patch 9.0.1573: error for function name has wrong line numberv9.0.1573
Problem: Error for function name has wrong line number.
Solution: Set the line number before giving the error.
-rw-r--r-- | src/testdir/test_vim9_func.vim | 8 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim9execute.c | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index ecdbd5eaca..852f3a7ede 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -166,6 +166,14 @@ def Test_wrong_function_name() delfunc g:Define enddef +def Test_listing_function_error() + var lines =<< trim END + var filler = 123 + func DoesNotExist + END + v9.CheckDefExecFailure(lines, 'E123:', 2) +enddef + def Test_break_in_skipped_block() var lines =<< trim END vim9script diff --git a/src/version.c b/src/version.c index 0d0099cc7a..c07afca3b7 100644 --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1573, +/**/ 1572, /**/ 1571, diff --git a/src/vim9execute.c b/src/vim9execute.c index 8e27166a6f..921e2ca053 100644 --- a/src/vim9execute.c +++ b/src/vim9execute.c @@ -4448,6 +4448,7 @@ exec_instructions(ectx_T *ectx) CLEAR_FIELD(ea); ea.cmd = ea.arg = iptr->isn_arg.string; ga_init2(&lines_to_free, sizeof(char_u *), 50); + SOURCING_LNUM = iptr->isn_lnum; define_function(&ea, NULL, &lines_to_free, 0); ga_clear_strings(&lines_to_free); } |