Mercurial > vim
changeset 27207:7b8e2bea0ec5 v8.2.4132
patch 8.2.4132: Vim9: wrong error message when autoload script can't be found
Commit: https://github.com/vim/vim/commit/1836d6157828baddd94e1f2c82488031570e444d
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jan 18 13:14:47 2022 +0000
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.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 18 Jan 2022 14:15:06 +0100 |
parents | db4583616f61 |
children | a478f3e9c2e0 |
files | src/testdir/test_vim9_import.vim src/version.c src/vim9script.c |
diffstat | 3 files changed, 17 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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' + 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, 'E1264:') + CheckScriptFailure(lines, 'E1053: Could not import "doesNotExist.vim"') enddef " test disassembling an auto-loaded function starting with "debug"
--- 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,
--- 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;