]> granicus.if.org Git - vim/commitdiff
patch 8.2.3248: Vim9: error message for wrong input uses wrong line number v8.2.3248
authorBram Moolenaar <Bram@vim.org>
Thu, 29 Jul 2021 20:25:05 +0000 (22:25 +0200)
committerBram Moolenaar <Bram@vim.org>
Thu, 29 Jul 2021 20:25:05 +0000 (22:25 +0200)
Problem:    Vim9: error message for wrong input uses wrong line number.
Solution:   Use the line number of the start of the command. (issue #8653)

src/testdir/test_vim9_script.vim
src/version.c
src/vim9script.c

index 4c55eb6c24f3635e544b76344890d718845e33ab..d46299c70e52a851c1aefbaa402a6319393b9424 100644 (file)
@@ -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'
index c120a2bc79ce601457018118d10354cef321ae48..95105699826603db6ca0cc69c2ff21f975822704 100644 (file)
@@ -755,6 +755,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    3248,
 /**/
     3247,
 /**/
index 9b4a2c0fbb7a8340873d5edaa39ea44b8a515fcb..641b0dd88d3d6ca9ffab2b2edd7d1606f1d32432 100644 (file)
@@ -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
      */