diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-07-29 22:25:05 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-07-29 22:25:05 +0200 |
commit | 921ba529266c8dfc0809d41e1f084e26d25fffb1 (patch) | |
tree | cb94b6a454f4a22cef0ecf516996a000b61ed11d | |
parent | 77ab4e28a26a92628bc85cd580c1bfa2b6230be6 (diff) | |
download | vim-git-921ba529266c8dfc0809d41e1f084e26d25fffb1.tar.gz |
patch 8.2.3248: Vim9: error message for wrong input uses wrong line numberv8.2.3248
Problem: Vim9: error message for wrong input uses wrong line number.
Solution: Use the line number of the start of the command. (issue #8653)
-rw-r--r-- | src/testdir/test_vim9_script.vim | 10 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim9script.c | 4 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index 4c55eb6c2..d46299c70 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -1223,6 +1223,16 @@ def Test_vim9_import_export() writefile(import_star_as_lines_dot_space, 'Ximport.vim') assert_fails('source Ximport.vim', 'E1074:', '', 1, 'Func') + var import_func_duplicated =<< trim END + vim9script + import ExportedInc from './Xexport.vim' + import ExportedInc from './Xexport.vim' + + ExportedInc() + END + writefile(import_func_duplicated, 'Ximport.vim') + assert_fails('source Ximport.vim', 'E1073:', '', 3, 'Ximport.vim') + var import_star_as_duplicated =<< trim END vim9script import * as Export from './Xexport.vim' diff --git a/src/version.c b/src/version.c index c120a2bc7..951056998 100644 --- a/src/version.c +++ b/src/version.c @@ -756,6 +756,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3248, +/**/ 3247, /**/ 3246, diff --git a/src/vim9script.c b/src/vim9script.c index 9b4a2c0fb..641b0dd88 100644 --- a/src/vim9script.c +++ b/src/vim9script.c @@ -411,6 +411,7 @@ handle_import( int mult = FALSE; garray_T names; garray_T as_names; + long start_lnum = SOURCING_LNUM; tv.v_type = VAR_UNKNOWN; ga_init2(&names, sizeof(char_u *), 10); @@ -511,6 +512,9 @@ handle_import( } cmd_end = arg; + // Give error messages for the start of the line. + SOURCING_LNUM = start_lnum; + /* * find script file */ |