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
index 2800cf4..61a5f0d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2988,
+/**/
2987,
/**/
2986,
diff --git a/src/vim.h b/src/vim.h
index 784fa3a..05af5a1 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1801,6 +1801,7 @@
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
index f434602..dd39071 100644
--- a/src/vim9.h
+++ b/src/vim9.h
@@ -493,10 +493,17 @@
// 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