diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-05-02 16:25:47 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2023-05-02 16:25:47 +0100 |
commit | a93d9cdc74f70ca2c85781496ffae4ca738fcd88 (patch) | |
tree | 25c7b84548c6fccafd119edb84807db998351f1f /src/eval.c | |
parent | 17b695190d63b2de745499cb40a383c2672e275e (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.c | 8 |
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 == '{') { |