summaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-05-02 16:25:47 +0100
committerBram Moolenaar <Bram@vim.org>2023-05-02 16:25:47 +0100
commita93d9cdc74f70ca2c85781496ffae4ca738fcd88 (patch)
tree25c7b84548c6fccafd119edb84807db998351f1f /src/eval.c
parent17b695190d63b2de745499cb40a383c2672e275e (diff)
patch 9.0.1505: error when heredoc content looks like heredocv9.0.1505
Problem: Error when heredoc content looks like heredoc. Solution: Handle curly expressions. (closes #12325)
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/eval.c b/src/eval.c
index 0163ccc858..c31b0be072 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -6581,7 +6581,7 @@ find_name_end(
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 @@ find_name_end(
// 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 @@ find_name_end(
--br_nest;
}
- if (br_nest == 0 && !vim9script)
+ if (br_nest == 0 && allow_curly)
{
if (*p == '{')
{