changeset 35037:5df4ad0a5200 v9.1.0369

patch 9.1.0369: Vim9: problem when importing autoloaded scripts Commit: https://github.com/vim/vim/commit/3f821d6de2586d921fb23e2facb4764ef9eb3294 Author: Ernie Rael <errael@raelity.com> Date: Wed Apr 24 20:07:50 2024 +0200 patch 9.1.0369: Vim9: problem when importing autoloaded scripts Problem: Vim9: problem when importing autoloaded scripts Solution: In `:def` handle storing to vim9 autoload export (Ernie Rael) Problem occurs when `import autoload ./.../autoload/...`. The autoload in the specified path causes the use of an autoload_prefix which combines with the `import autoload` to create trouble. In `generate_store_var()` `case dest_script` use ISN_STOREEXPORT, when needed, instead of ISN_STORES. When executing ISN_STOREEXPORT, check for autoload_prefix. fixes: #14606 closes: #14615 Signed-off-by: Ernie Rael <errael@raelity.com> Signed-off-by: Christian Brabandt <cb@256bit.org> Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author Christian Brabandt <cb@256bit.org>
date Wed, 24 Apr 2024 20:15:03 +0200
parents 26a9978d3a8c
children 732ff8599eb1
files src/evalvars.c src/testdir/test_vim9_disassemble.vim src/testdir/test_vim9_func.vim src/testdir/test_vim9_import.vim src/version.c src/vim9.h src/vim9compile.c src/vim9execute.c src/vim9instr.c
diffstat 9 files changed, 106 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -4235,6 +4235,7 @@ failed:
  * - Whether the variable is read-only
  * - Whether the variable value is locked
  * - Whether the variable is locked
+ * NOTE: "name" is only used for error messages.
  */
     int
 var_check_permission(dictitem_T *di, char_u *name)
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -381,6 +381,34 @@ def Test_disassemble_import_autoload()
   v9.CheckScriptSuccess(lines)
 enddef
 
+def Test_disassemble_import_autoload_autoload()
+  mkdir('Xauto_auto/autoload', 'pR')
+  var lines =<< trim END
+    vim9script
+    export const val = 11
+  END
+  writefile(lines, 'Xauto_auto/autoload/Xauto_vars_f1.vim')
+
+  lines =<< trim END
+    vim9script
+
+    import autoload './Xauto_auto/autoload/Xauto_vars_f1.vim' as f1
+    def F()
+        f1.val = 13
+    enddef
+    var res = execute('disass F')
+
+    assert_match('<SNR>\d*_F.*' ..
+      'f1.val = 13\_s*' ..
+      '\d PUSHNR 13\_s*' ..
+      '\d SOURCE .*/Xauto_auto/autoload/Xauto_vars_f1.vim\_s*' ..
+      '\d STOREEXPORT val in .*/Xauto_auto/autoload/Xauto_vars_f1.vim\_s*' ..
+      '\d RETURN void',
+      res)
+  END
+  v9.CheckScriptSuccess(lines)
+enddef
+
 def s:ScriptFuncStore()
   var localnr = 1
   localnr = 2
index 27585a90490095170c27da4064092f6d1c0e86f4..b008929611fd60b0d1eecb866e1c2f6cc65372e3
GIT binary patch
literal 107644
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
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -1206,6 +1206,7 @@ def Test_autoload_export_variables()
   mkdir('Xautoload_vars/autoload', 'pR')
   var lines =<< trim END
     vim9script
+    g:Xautoload_vars_autoload = true
     export var val = 11
     val = 42
   END
@@ -1215,13 +1216,24 @@ def Test_autoload_export_variables()
   writefile(lines, 'Xautoload_vars/autoload/Xauto_vars_f2.vim', 'D')
   lines =<< trim END
     vim9script
+    g:Xautoload_vars_autoload = false
 
     import autoload './Xautoload_vars/autoload/Xauto_vars_f2.vim' as f2
+    # Verify that the import statement does not load the file.
+    assert_equal(false, g:Xautoload_vars_autoload)
 
     def F(): number
       return f2.val
     enddef
+    # Verify compile does not load the file.
+    defcompile F
+    assert_equal(false, g:Xautoload_vars_autoload)
+
+    # load the file by accessing the exported variable
     assert_equal(42, F())
+    assert_equal(true, g:Xautoload_vars_autoload)
+    unlet g:Xautoload_vars_autoload
+
     assert_equal(42, f2.val)
     f2.val = 17
     assert_equal(17, f2.val)
@@ -1264,6 +1276,44 @@ def Test_autoload_export_variables()
     f4.val = 13
   END
   v9.CheckScriptFailure(lines, 'E46:')
+
+  # Test const var is not modifiable from importing script from :def.
+  # Github issue: #14606
+  lines =<< trim END
+    vim9script
+    export const val = 11
+  END
+  writefile(lines, 'Xautoload_vars/autoload/Xauto_vars_f5.vim', 'D')
+  lines =<< trim END
+    vim9script
+
+    import autoload './Xautoload_vars/autoload/Xauto_vars_f5.vim' as f5
+
+    def F()
+      f5.val = 13
+    enddef
+    F()
+  END
+  v9.CheckScriptFailure(lines, 'E741:')
+
+  # Still part of Github issue: #14606
+  lines =<< trim END
+    vim9script
+    export var val = 11
+  END
+  writefile(lines, 'Xautoload_vars/autoload/Xauto_vars_f6.vim', 'D')
+  lines =<< trim END
+    vim9script
+
+    import autoload './Xautoload_vars/autoload/Xauto_vars_f6.vim' as f6
+
+    def F()
+      f6.val = 13
+    enddef
+    F()
+    assert_equal(13, f6.val)
+  END
+  v9.CheckScriptSuccess(lines)
 enddef
 
 def Test_autoload_import_relative_autoload_dir()
--- 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 */
 /**/
+    369,
+/**/
     368,
 /**/
     367,
--- a/src/vim9.h
+++ b/src/vim9.h
@@ -780,6 +780,7 @@ typedef enum {
     dest_vimvar,
     dest_class_member,
     dest_script,
+    dest_script_v9,
     dest_reg,
     dest_expr,
 } assign_dest_T;
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -1367,6 +1367,7 @@ generate_loadvar(cctx_T *cctx, lhs_T *lh
 	    generate_LOAD(cctx, ISN_LOADT, 0, name + 2, type);
 	    break;
 	case dest_script:
+	case dest_script_v9:
 	    res = compile_load_scriptvar(cctx,
 				  name + (name[1] == ':' ? 2 : 0), NULL, NULL);
 	    break;
@@ -1838,7 +1839,8 @@ compile_lhs(
 			return FAIL;
 		    }
 
-		    lhs->lhs_dest = dest_script;
+		    lhs->lhs_dest = current_script_is_vim9()
+			      ? dest_script_v9 : dest_script;
 
 		    // existing script-local variables should have a type
 		    lhs->lhs_scriptvar_sid = current_sctx.sc_sid;
@@ -3026,8 +3028,9 @@ compile_assignment(
 	else
 	{
 	    if (is_decl && cmdidx == CMD_const && (lhs.lhs_dest == dest_script
-						|| lhs.lhs_dest == dest_global
-						|| lhs.lhs_dest == dest_local))
+					    || lhs.lhs_dest == dest_script_v9
+					    || lhs.lhs_dest == dest_global
+					    || lhs.lhs_dest == dest_local))
 		// ":const var": lock the value, but not referenced variables
 		generate_LOCKCONST(cctx);
 
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -3842,11 +3842,19 @@ exec_instructions(ectx_T *ectx)
 	    case ISN_STOREEXPORT:
 		{
 		    int		sid = iptr->isn_arg.loadstore.ls_sid;
-		    hashtab_T	*ht = &SCRIPT_VARS(sid);
 		    char_u	*name = iptr->isn_arg.loadstore.ls_name;
-		    dictitem_T	*di = find_var_in_ht(ht, 0,
-					    iptr->isn_type == ISN_STORES
+		    dictitem_T	*di = NULL;
+		    // First check for a variable from an exported autoload
+		    // with an autoload_prefix; it would be in globals.
+		    if (iptr->isn_type == ISN_STOREEXPORT)
+			di = find_var_autoload_prefix(name, sid, NULL, NULL);
+		    // Then look for a variable in the script's variables.
+		    if (di == NULL)
+		    {
+			hashtab_T	*ht = &SCRIPT_VARS(sid);
+			di = find_var_in_ht(ht, 0, STRNCMP("s:", name, 2) == 0
 						     ? name + 2 : name, TRUE);
+		    }
 
 		    --ectx->ec_stack.ga_len;
 		    SOURCING_LNUM = iptr->isn_lnum;
--- a/src/vim9instr.c
+++ b/src/vim9instr.c
@@ -2394,6 +2394,7 @@ generate_store_var(
 	case dest_vimvar:
 	    return generate_STORE(cctx, ISN_STOREV, vimvaridx, NULL);
 	case dest_script:
+	case dest_script_v9:
 	    {
 		int	    scriptvar_idx = lhs->lhs_scriptvar_idx;
 		int	    scriptvar_sid = lhs->lhs_scriptvar_sid;
@@ -2401,10 +2402,14 @@ generate_store_var(
 		{
 		    isntype_T   isn_type = ISN_STORES;
 
+		    // If "sn_import_autoload", generate ISN_STOREEXPORT (not
+		    // ISN_STORES) if destination is in a vim9script or if
+		    // there is no "sn_autoload_prefix".
 		    if (SCRIPT_ID_VALID(scriptvar_sid)
 			     && SCRIPT_ITEM(scriptvar_sid)->sn_import_autoload
-			     && SCRIPT_ITEM(scriptvar_sid)->sn_autoload_prefix
-								       == NULL)
+			     && ((SCRIPT_ITEM(scriptvar_sid)
+						  ->sn_autoload_prefix == NULL)
+				|| lhs->lhs_dest == dest_script_v9))
 		    {
 			// "import autoload './dir/script.vim'" - load script
 			// first