changeset 24901:fd6e5c816654 v8.2.2988

patch 8.2.2988: Vim9: debugger test fails Commit: https://github.com/vim/vim/commit/c3a27bbd53a4653c2d8122a047a4cf2cfc52ed21 Author: Bram Moolenaar <Bram@vim.org> 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.
author Bram Moolenaar <Bram@vim.org>
date Sun, 13 Jun 2021 15:30:02 +0200
parents 1146ba2a5096
children c101db2e0470
files src/version.c src/vim.h src/vim9.h
diffstat 3 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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,
--- 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
--- 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