0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

patch 8.1.1588: in :let-heredoc line continuation is recognized

Problem:    In :let-heredoc line continuation is recognized.
Solution:   Do not consume line continuation. (Ozaki Kiichi, closes #4580)
This commit is contained in:
Bram Moolenaar
2019-06-25 04:12:16 +02:00
parent 2b044ffb5a
commit e96a2498f9
20 changed files with 70 additions and 47 deletions

View File

@@ -2007,6 +2007,7 @@ ex_function(exarg_T *eap)
hashtab_T *ht;
int todo;
hashitem_T *hi;
int do_concat = TRUE;
int sourcing_lnum_off;
/*
@@ -2303,9 +2304,9 @@ ex_function(exarg_T *eap)
{
vim_free(line_to_free);
if (eap->getline == NULL)
theline = getcmdline(':', 0L, indent);
theline = getcmdline(':', 0L, indent, do_concat);
else
theline = eap->getline(':', eap->cookie, indent);
theline = eap->getline(':', eap->cookie, indent, do_concat);
line_to_free = theline;
}
if (KeyTyped)
@@ -2334,6 +2335,7 @@ ex_function(exarg_T *eap)
{
VIM_CLEAR(skip_until);
VIM_CLEAR(trimmed);
do_concat = TRUE;
}
}
}
@@ -2458,6 +2460,7 @@ ex_function(exarg_T *eap)
skip_until = vim_strsave((char_u *)".");
else
skip_until = vim_strnsave(p, (int)(skiptowhite(p) - p));
do_concat = FALSE;
}
}
@@ -3511,7 +3514,8 @@ get_return_cmd(void *rettv)
get_func_line(
int c UNUSED,
void *cookie,
int indent UNUSED)
int indent UNUSED,
int do_concat UNUSED)
{
funccall_T *fcp = (funccall_T *)cookie;
ufunc_T *fp = fcp->func;