Problem: Vim9: memory leak when using :s with expression.
Solution: Clean up the instruction list.
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 2786,
/**/
2785,
/**/
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: