]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0459: Vim9: import autoload does not work with symlink v9.1.0459
authornwounkn <nwounkn@gmail.com>
Sun, 2 Jun 2024 14:10:07 +0000 (16:10 +0200)
committerChristian Brabandt <cb@256bit.org>
Sun, 2 Jun 2024 14:10:07 +0000 (16:10 +0200)
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>
src/scriptfile.c
src/testdir/test_vim9_import.vim
src/version.c

index b6c66b7a48a160234785dc568fdb7c16c52ceb8b..6a6a037e32e842c33e7447fd845a3dbc33c72591 100644 (file)
@@ -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);
index 3067ef6c9e8958698d129a3922dad11e2e05dbfa..fb309cb3bc009ebd18bb5bc1c77f479c6b1d3b21 100644 (file)
@@ -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')
index 068c0793c1bcd55feec2ee6ae04611ff03975830..8b1282bd40482dde5d88147b311efc07384f9fa9 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    459,
 /**/
     458,
 /**/