aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/userfunc.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-04-29 10:07:51 +0800
committerGitHub <noreply@github.com>2023-04-29 10:07:51 +0800
commit3287fc2ba9284d48e945ab0008b7844e1ec40eec (patch)
tree2844deffee1f539d8bf933654dda276bcb55bc9c /src/nvim/eval/userfunc.c
parent129012172258a08efa87cbab927cdd3e4da7db90 (diff)
parent7b6d041baed712b071acfa8bb71727a5f5e27561 (diff)
downloadrneovim-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.c9
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"