Mercurial > vim
diff src/vim9compile.c @ 25004:70f55a30f03c v8.2.3039
patch 8.2.3039: Vim9: breakpoint at a comment line does not work
Commit: https://github.com/vim/vim/commit/8cec9273d2518f2a9abcbd326722a2eba38d2a13
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jun 23 20:20:53 2021 +0200
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 23 Jun 2021 20:30:03 +0200 |
parents | 71b1e2ef0069 |
children | 39551b6e0112 |
line wrap: on
line diff
--- 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)