summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/version.c2
-rw-r--r--src/vim9execute.c8
2 files changed, 9 insertions, 1 deletions
diff --git a/src/version.c b/src/version.c
index 59cd0ce949..1e9a787e9b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2953,
+/**/
2952,
/**/
2951,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 1f2f7357e8..5a8a112a6a 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -1460,17 +1460,23 @@ exec_instructions(ectx_T *ectx)
case ISN_EXEC_SPLIT:
{
source_cookie_T cookie;
+ char_u *line;
SOURCING_LNUM = iptr->isn_lnum;
CLEAR_FIELD(cookie);
cookie.sourcing_lnum = iptr->isn_lnum - 1;
cookie.nextline = iptr->isn_arg.string;
- if (do_cmdline(get_split_sourceline(0, &cookie, 0, 0),
+ line = get_split_sourceline(0, &cookie, 0, 0);
+ if (do_cmdline(line,
get_split_sourceline, &cookie,
DOCMD_VERBOSE|DOCMD_NOWAIT|DOCMD_KEYTYPED)
== FAIL
|| did_emsg)
+ {
+ vim_free(line);
goto on_error;
+ }
+ vim_free(line);
}
break;