summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/version.c2
-rw-r--r--src/vim9compile.c11
2 files changed, 11 insertions, 2 deletions
diff --git a/src/version.c b/src/version.c
index 22a2751bd3..834196d83b 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 */
/**/
+ 2786,
+/**/
2785,
/**/
2784,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 027f79d95c..0695879e32 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -9416,8 +9416,15 @@ delete_instr(isn_T *isn)
break;
case ISN_SUBSTITUTE:
- vim_free(isn->isn_arg.subs.subs_cmd);
- vim_free(isn->isn_arg.subs.subs_instr);
+ {
+ int idx;
+ isn_T *list = isn->isn_arg.subs.subs_instr;
+
+ vim_free(isn->isn_arg.subs.subs_cmd);
+ for (idx = 0; list[idx].isn_type != ISN_FINISH; ++idx)
+ delete_instr(list + idx);
+ vim_free(list);
+ }
break;
case ISN_LOADS: