patch 9.1.0459: Vim9: import autoload does not work with symlink
Problem: Vim9: import autoload does not work with symlink
(Olivier Dormond)
Solution: set sn_autoload_prefix in check_script_symlink
(nwounkn)
fixes: #14775
closes: #14885
Signed-off-by: nwounkn <nwounkn@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/scriptfile.c b/src/scriptfile.c
index b6c66b7..6a6a037 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -435,8 +435,13 @@
si = SCRIPT_ITEM(sid);
si->sn_sourced_sid = real_sid;
if (new_sid)
+ {
SCRIPT_ITEM(real_sid)->sn_import_autoload
= si->sn_import_autoload;
+ if (si->sn_autoload_prefix != NULL)
+ SCRIPT_ITEM(real_sid)->sn_autoload_prefix =
+ vim_strsave(si->sn_autoload_prefix);
+ }
}
}
vim_free(real_fname);
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index 3067ef6..fb309cb 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -3068,7 +3068,10 @@
var lines =<< trim END
vim9script
import autoload 'bar.vim'
- g:resultFunc = bar.Func()
+ def FooFunc(): string
+ return bar.Func()
+ enddef
+ g:resultFunc = FooFunc()
g:resultValue = bar.value
END
writefile(lines, 'Xto/plugin/foo.vim')
diff --git a/src/version.c b/src/version.c
index 068c079..8b1282b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 459,
+/**/
458,
/**/
457,