patch 9.0.1505: error when heredoc content looks like heredoc

Problem:    Error when heredoc content looks like heredoc.
Solution:   Handle curly expressions. (closes #12325)
diff --git a/src/eval.c b/src/eval.c
index 0163ccc..c31b0be 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -6581,7 +6581,7 @@
     int		br_nest = 0;
     char_u	*p;
     int		len;
-    int		vim9script = in_vim9script();
+    int		allow_curly = (flags & FNE_ALLOW_CURLY) || !in_vim9script();
 
     if (expr_start != NULL)
     {
@@ -6591,12 +6591,12 @@
 
     // Quick check for valid starting character.
     if ((flags & FNE_CHECK_START) && !eval_isnamec1(*arg)
-						&& (*arg != '{' || vim9script))
+					      && (*arg != '{' || !allow_curly))
 	return arg;
 
     for (p = arg; *p != NUL
 		    && (eval_isnamec(*p)
-			|| (*p == '{' && !vim9script)
+			|| (*p == '{' && allow_curly)
 			|| ((flags & FNE_INCL_BR) && (*p == '['
 					 || (*p == '.' && eval_isdictc(p[1]))))
 			|| mb_nest != 0
@@ -6637,7 +6637,7 @@
 		--br_nest;
 	}
 
-	if (br_nest == 0 && !vim9script)
+	if (br_nest == 0 && allow_curly)
 	{
 	    if (*p == '{')
 	    {