changeset 27571:55f0ac079829 v8.2.4312

patch 8.2.4312: no error for using :vim9script in a :def function Commit: https://github.com/vim/vim/commit/107f7325f615a1ffa5b49521e316b44e117b0a04 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 6 17:30:41 2022 +0000 patch 8.2.4312: no error for using :vim9script in a :def function Problem: No error for using :vim9script in a :def function. Solution: Give an error when compiling.
author Bram Moolenaar <Bram@vim.org>
date Sun, 06 Feb 2022 18:45:03 +0100
parents f73a56e2c61e
children 42ce4f25bbda
files src/testdir/test_vim9_script.vim src/version.c src/vim9compile.c
diffstat 3 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1227,6 +1227,7 @@ def Test_vim9script_fails()
   v9.CheckScriptFailure(['vim9script', 'const str = "asdf"', 'str = "xxx"'], 'E46:')
 
   assert_fails('vim9script', 'E1038:')
+  v9.CheckDefFailure(['vim9script'], 'E1038:')
 enddef
 
 def Test_script_var_shadows_function()
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4312,
+/**/
     4311,
 /**/
     4310,
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -3138,6 +3138,10 @@ compile_def_function(
 			line = compile_script(line, &cctx);
 		    break;
 
+	    case CMD_vim9script:
+		    emsg(_(e_vim9script_can_only_be_used_in_script));
+		    goto erret;
+
 	    case CMD_global:
 		    if (check_global_and_subst(ea.cmd, p) == FAIL)
 			goto erret;