diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-04-29 10:07:51 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-29 10:07:51 +0800 |
commit | 3287fc2ba9284d48e945ab0008b7844e1ec40eec (patch) | |
tree | 2844deffee1f539d8bf933654dda276bcb55bc9c /src/nvim/eval/userfunc.c | |
parent | 129012172258a08efa87cbab927cdd3e4da7db90 (diff) | |
parent | 7b6d041baed712b071acfa8bb71727a5f5e27561 (diff) | |
download | rneovim-3287fc2ba9284d48e945ab0008b7844e1ec40eec.tar.gz rneovim-3287fc2ba9284d48e945ab0008b7844e1ec40eec.tar.bz2 rneovim-3287fc2ba9284d48e945ab0008b7844e1ec40eec.zip |
Merge pull request #23386 from zeertzjq/vim-8.2.0551
vim-patch:8.2.{0551,0578,0672}: heredoc for interfaces does not support "trim"
Diffstat (limited to 'src/nvim/eval/userfunc.c')
-rw-r--r-- | src/nvim/eval/userfunc.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/nvim/eval/userfunc.c b/src/nvim/eval/userfunc.c index 0e22cf54cf..1f5a6eaec4 100644 --- a/src/nvim/eval/userfunc.c +++ b/src/nvim/eval/userfunc.c @@ -2571,11 +2571,18 @@ void ex_function(exarg_T *eap) && (!ASCII_ISALPHA(p[2]) || p[2] == 's')))) { // ":python <<" continues until a dot, like ":append" p = skipwhite(arg + 2); + if (strncmp(p, "trim", 4) == 0) { + // Ignore leading white space. + p = skipwhite(p + 4); + heredoc_trimmed = xstrnsave(theline, (size_t)(skipwhite(theline) - theline)); + } if (*p == NUL) { skip_until = xstrdup("."); } else { - skip_until = xstrdup(p); + skip_until = xstrnsave(p, (size_t)(skiptowhite(p) - p)); } + do_concat = false; + is_heredoc = true; } // Check for ":let v =<< [trim] EOF" |