# HG changeset patch # User Bram Moolenaar # Date 1623591002 -7200 # Node ID fd6e5c816654786b6dd7c555d864f6b10d2c8ceb # Parent 1146ba2a50961b02a93d99c9425c70375968f09b patch 8.2.2988: Vim9: debugger test fails Commit: https://github.com/vim/vim/commit/c3a27bbd53a4653c2d8122a047a4cf2cfc52ed21 Author: Bram Moolenaar Date: Sun Jun 13 15:16:01 2021 +0200 patch 8.2.2988: Vim9: debugger test fails Problem: Vim9: debugger test fails. Solution: Get the debugger instructions when needed. diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2988, +/**/ 2987, /**/ 2986, diff --git a/src/vim.h b/src/vim.h --- a/src/vim.h +++ b/src/vim.h @@ -1801,6 +1801,7 @@ typedef enum { CT_DEBUG // use df_instr_debug, overrules CT_PROFILE } compiletype_T; +// Keep in sync with INSTRUCTIONS(). #ifdef FEAT_PROFILE # define COMPILE_TYPE(ufunc) (debug_break_level > 0 ? CT_DEBUG : do_profiling == PROF_YES && (ufunc)->uf_profiling ? CT_PROFILE : CT_NONE) #else diff --git a/src/vim9.h b/src/vim9.h --- a/src/vim9.h +++ b/src/vim9.h @@ -493,10 +493,17 @@ extern garray_T def_functions; // Used for "lnum" when a range is to be taken from the stack and "!" is used. #define LNUM_VARIABLE_RANGE_ABOVE -888 +// Keep in sync with COMPILE_TYPE() #ifdef FEAT_PROFILE # define INSTRUCTIONS(dfunc) \ - ((do_profiling == PROF_YES && (dfunc->df_ufunc)->uf_profiling) \ - ? (dfunc)->df_instr_prof : (dfunc)->df_instr) + (debug_break_level > 0 \ + ? (dfunc)->df_instr_debug \ + : ((do_profiling == PROF_YES && (dfunc->df_ufunc)->uf_profiling) \ + ? (dfunc)->df_instr_prof \ + : (dfunc)->df_instr)) #else -# define INSTRUCTIONS(dfunc) ((dfunc)->df_instr) +# define INSTRUCTIONS(dfunc) \ + (debug_break_level > 0 \ + ? (dfunc)->df_instr_debug \ + : (dfunc)->df_instr) #endif