diff options
author | nwounkn <nwounkn@gmail.com> | 2024-06-02 16:10:07 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-06-02 16:10:07 +0200 |
commit | 36b66767195f1e39e6cc997f825bedc6c823183b (patch) | |
tree | 893440460c8a6f96317d72c5c1e1c36c1320c673 | |
parent | 7737ce519b9cba8ef135154d76b69f715b1a0b4d (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.c | 5 | ||||
-rw-r--r-- | src/testdir/test_vim9_import.vim | 5 | ||||
-rw-r--r-- | src/version.c | 2 |
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, |