0
0
mirror of https://github.com/vim/vim.git synced 2025-10-05 05:34:07 -04:00

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)
This commit is contained in:
Bram Moolenaar
2021-04-26 20:32:59 +02:00
parent b98cec28d9
commit 5930ddcd25
4 changed files with 15 additions and 11 deletions

View File

@@ -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