summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornwounkn <nwounkn@gmail.com>2024-06-02 16:10:07 +0200
committerChristian Brabandt <cb@256bit.org>2024-06-02 16:10:07 +0200
commit36b66767195f1e39e6cc997f825bedc6c823183b (patch)
tree893440460c8a6f96317d72c5c1e1c36c1320c673
parent7737ce519b9cba8ef135154d76b69f715b1a0b4d (diff)
patch 9.1.0459: Vim9: import autoload does not work with symlinkv9.1.0459
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>
-rw-r--r--src/scriptfile.c5
-rw-r--r--src/testdir/test_vim9_import.vim5
-rw-r--r--src/version.c2
3 files changed, 11 insertions, 1 deletions
diff --git a/src/scriptfile.c b/src/scriptfile.c
index b6c66b7a48..6a6a037e32 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -435,8 +435,13 @@ check_script_symlink(int sid)
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 3067ef6c9e..fb309cb3bc 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -3068,7 +3068,10 @@ def Test_vim9_import_symlink()
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 068c0793c1..8b1282bd40 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 459,
+/**/
458,
/**/
457,