From 8cec9273d2518f2a9abcbd326722a2eba38d2a13 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 23 Jun 2021 20:20:53 +0200 Subject: patch 8.2.3039: Vim9: breakpoint at a comment line does not work Problem: Vim9: breakpoint at a comment line does not work. Solution: Add the comment line number to the debug instruction. (closes #8429) --- src/vim9compile.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/vim9compile.c') diff --git a/src/vim9compile.c b/src/vim9compile.c index c5a2c2dcf..e78a032cb 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -174,6 +174,9 @@ struct cctx_S { char_u *ctx_line_start; // start of current line or NULL garray_T ctx_instr; // generated instructions + int ctx_prev_lnum; // line number below previous command, for + // debugging + compiletype_T ctx_compile_type; garray_T ctx_locals; // currently visible local variables @@ -585,7 +588,8 @@ generate_instr_debug(cctx_T *cctx) if ((isn = generate_instr(cctx, ISN_DEBUG)) == NULL) return NULL; - isn->isn_arg.number = dfunc->df_var_names.ga_len; + isn->isn_arg.debug.dbg_var_names_len = dfunc->df_var_names.ga_len; + isn->isn_arg.debug.dbg_break_lnum = cctx->ctx_prev_lnum; return isn; } @@ -9270,6 +9274,7 @@ compile_def_function( debug_lnum = cctx.ctx_lnum; generate_instr_debug(&cctx); } + cctx.ctx_prev_lnum = cctx.ctx_lnum + 1; // Some things can be recognized by the first character. switch (*ea.cmd) -- cgit v1.2.1