patch 8.2.2946: Vim9: substitute expression cannot be a List

Problem:    Vim9: substitute expression cannot be a List in a :def function.
Solution:   Use typval2string(). (closes #8330)
diff --git a/src/vim9execute.c b/src/vim9execute.c
index a13b0ab..e870a27 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -4130,7 +4130,7 @@
     {
 	typval_T *tv = STACK_TV_BOT(-1);
 
-	res = vim_strsave(tv_get_string(tv));
+	res = typval2string(tv, TRUE);
 	--ectx->ec_stack.ga_len;
 	clear_tv(tv);
     }