patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax

Problem:    Vim9: 'statusline' is evaluated using Vim9 script syntax.
Solution:   Always use legacy script syntax.
diff --git a/src/eval.c b/src/eval.c
index 07b30c7..984835b 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -520,6 +520,7 @@
 /*
  * Call eval_to_string() without using current local variables and using
  * textwinlock.  When "use_sandbox" is TRUE use the sandbox.
+ * Use legacy Vim script syntax.
  */
     char_u *
 eval_to_string_safe(
@@ -528,7 +529,9 @@
 {
     char_u	*retval;
     funccal_entry_T funccal_entry;
+    int		save_sc_version = current_sctx.sc_version;
 
+    current_sctx.sc_version = 1;
     save_funccal(&funccal_entry);
     if (use_sandbox)
 	++sandbox;
@@ -538,6 +541,7 @@
 	--sandbox;
     --textwinlock;
     restore_funccal();
+    current_sctx.sc_version = save_sc_version;
     return retval;
 }
 
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 8742883..b462e47 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1086,6 +1086,20 @@
   set errorformat&
 enddef
 
+def Test_statusline_syntax()
+  # legacy syntax is used for 'statusline'
+  let lines =<< trim END
+      vim9script
+      func g:Status()
+        return '%{"x" is# "x"}'
+      endfunc
+      set laststatus=2 statusline=%!Status()
+      redrawstatus
+      set laststatus statusline= 
+  END
+  CheckScriptSuccess(lines)
+enddef
+
 def Test_list_vimscript()
   # checks line continuation and comments
   let lines =<< trim END
diff --git a/src/version.c b/src/version.c
index d4b0afa..7fcd9cb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1437,
+/**/
     1436,
 /**/
     1435,