summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-01-18 13:14:47 +0000
committerBram Moolenaar <Bram@vim.org>2022-01-18 13:14:47 +0000
commit1836d6157828baddd94e1f2c82488031570e444d (patch)
tree28c1771151da2b8aec00c0106495ce1e157f07ae
parentcbbc48f64b9cfd88720dc94b0578a3726f725178 (diff)
downloadvim-git-1836d6157828baddd94e1f2c82488031570e444d.tar.gz
patch 8.2.4132: Vim9: wrong error message when autoload script can't be foundv8.2.4132
Problem: Vim9: wrong error message when autoload script can't be found. Solution: Correct check for using autoload with wrong name.
-rw-r--r--src/testdir/test_vim9_import.vim14
-rw-r--r--src/version.c2
-rw-r--r--src/vim9script.c4
3 files changed, 17 insertions, 3 deletions
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index 13530151a..79c1ca43e 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -1433,9 +1433,21 @@ def Test_import_autoload_fails()
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 64a607796..8b9958a47 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
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 2038c78a0..41df6bfc4 100644
--- a/src/vim9script.c
+++ b/src/vim9script.c
@@ -411,7 +411,7 @@ handle_import(
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 @@ handle_import(
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;