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 @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3248, /**/ 3247, /**/ 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 */