changeset 35314:bf558b4d3fa4 v9.1.0459

patch 9.1.0459: Vim9: import autoload does not work with symlink Commit: https://github.com/vim/vim/commit/36b66767195f1e39e6cc997f825bedc6c823183b Author: nwounkn <nwounkn@gmail.com> Date: Sun Jun 2 16:10:07 2024 +0200 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>
author Christian Brabandt <cb@256bit.org>
date Sun, 02 Jun 2024 16:30:03 +0200
parents c1ad72b13017
children 92491f79a578
files src/scriptfile.c src/testdir/test_vim9_import.vim src/version.c
diffstat 3 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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);
--- 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')
--- 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,