# HG changeset patch # User Bram Moolenaar # Date 1627590605 -7200 # Node ID 3e56078569cadbe81751d894a3936329836a16da # Parent 7fde4d54b8b75d76d99644e1eb9a12abb6a0baf6 patch 8.2.3248: Vim9: error message for wrong input uses wrong line number Commit: https://github.com/vim/vim/commit/921ba529266c8dfc0809d41e1f084e26d25fffb1 Author: Bram Moolenaar Date: Thu Jul 29 22:25:05 2021 +0200 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 https://github.com/vim/vim/issues/8653) diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim --- 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 --- 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 --- 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 */