patch 8.2.3152: Vim9: accessing "s:" results in an error

Problem:    Vim9: accessing "s:" results in an error.
Solution:   Do not try to lookup a script variable for "s:". (closes #8549)
diff --git a/src/evalvars.c b/src/evalvars.c
index 66018cf..27d7328 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -2660,7 +2660,8 @@
 	}
 	else if (rettv != NULL)
 	{
-	    if (ht != NULL && ht == get_script_local_ht())
+	    if (ht != NULL && ht == get_script_local_ht()
+		    && tv != &SCRIPT_SV(current_sctx.sc_sid)->sv_var.di_tv)
 	    {
 		svar_T *sv = find_typval_in_script(tv);
 
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 79a4ea3..f0e15c3 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -2478,6 +2478,13 @@
   else
     CheckDefAndScriptFailure(lines, 'E117:', 0)
   endif
+
+  lines =<< trim END
+      vim9script
+      var x = 99
+      assert_equal({x: 99}, s:)
+  END
+  CheckScriptSuccess(lines)
 enddef
 
 def Test_expr7_call_2bool()
diff --git a/src/version.c b/src/version.c
index 7f9f49e..21394aa 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3152,
+/**/
     3151,
 /**/
     3150,