From: Bram Moolenaar Date: Thu, 29 Jul 2021 20:25:05 +0000 (+0200) Subject: patch 8.2.3248: Vim9: error message for wrong input uses wrong line number X-Git-Tag: v8.2.3248 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=921ba529266c8dfc0809d41e1f084e26d25fffb1;p=vim patch 8.2.3248: Vim9: error message for wrong input uses wrong line number Problem: Vim9: error message for wrong input uses wrong line number. Solution: Use the line number of the start of the command. (issue #8653) --- 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 */