From 5930ddcd25c3c31a323cdb1b74c228958e124527 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 26 Apr 2021 20:32:59 +0200 Subject: patch 8.2.2812: Vim9: still crash when using substitute expression Problem: Vim9: still crash when using substitute expression. Solution: Put the instruction list in the stack frame. (closes #8154) --- src/vim9.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/vim9.h') diff --git a/src/vim9.h b/src/vim9.h index bbed384c2..5dc0a8f8d 100644 --- a/src/vim9.h +++ b/src/vim9.h @@ -427,15 +427,17 @@ struct dfunc_S { // Number of entries used by stack frame for a function call. // - ec_dfunc_idx: function index // - ec_iidx: instruction index +// - ec_instr: instruction list pointer // - ec_outer: stack used for closures // - funclocal: function-local data // - ec_frame_idx: previous frame index #define STACK_FRAME_FUNC_OFF 0 #define STACK_FRAME_IIDX_OFF 1 -#define STACK_FRAME_OUTER_OFF 2 -#define STACK_FRAME_FUNCLOCAL_OFF 3 -#define STACK_FRAME_IDX_OFF 4 -#define STACK_FRAME_SIZE 5 +#define STACK_FRAME_INSTR_OFF 2 +#define STACK_FRAME_OUTER_OFF 3 +#define STACK_FRAME_FUNCLOCAL_OFF 4 +#define STACK_FRAME_IDX_OFF 5 +#define STACK_FRAME_SIZE 6 #ifdef DEFINE_VIM9_GLOBALS -- cgit v1.2.1