patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Problem: Vim9: wrong error message when autoload script can't be found.
Solution: Correct check for using autoload with wrong name.
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index 1353015..79c1ca4 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -1433,9 +1433,21 @@
lines =<< trim END
vim9script
- import autoload 'doesNotExist.vim'
+ import autoload './doesNotExist.vim'
END
CheckScriptFailure(lines, 'E1264:')
+
+ lines =<< trim END
+ vim9script
+ import autoload '/dir/doesNotExist.vim'
+ END
+ CheckScriptFailure(lines, 'E1264:')
+
+ lines =<< trim END
+ vim9script
+ import autoload 'doesNotExist.vim'
+ END
+ CheckScriptFailure(lines, 'E1053: Could not import "doesNotExist.vim"')
enddef
" test disassembling an auto-loaded function starting with "debug"
diff --git a/src/version.c b/src/version.c
index 64a6077..8b9958a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4132,
+/**/
4131,
/**/
4130,
diff --git a/src/vim9script.c b/src/vim9script.c
index 2038c78..41df6bf 100644
--- a/src/vim9script.c
+++ b/src/vim9script.c
@@ -411,7 +411,7 @@
int ret = FAIL;
char_u *as_name = NULL;
typval_T tv;
- int sid = -1;
+ int sid = -2;
int res;
long start_lnum = SOURCING_LNUM;
garray_T *import_gap;
@@ -519,7 +519,7 @@
if (res == FAIL || sid <= 0)
{
- semsg(_(is_autoload && sid <= 0
+ semsg(_(is_autoload && sid == -2
? e_autoload_import_cannot_use_absolute_or_relative_path
: e_could_not_import_str), tv.vval.v_string);
goto erret;