diff src/vim.h @ 25719:154663508d9b v8.2.3395

patch 8.2.3395: Vim9: expression breakpoint not checked in :def function Commit: https://github.com/vim/vim/commit/26a4484da20039b61f18d3565a4b4339c4d1f7e3 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Sep 2 18:49:06 2021 +0200 patch 8.2.3395: Vim9: expression breakpoint not checked in :def function Problem: Vim9: expression breakpoint not checked in :def function. Solution: Always compile a function for debugging if there is an expression breakpoint. (closes #8803)
author Bram Moolenaar <Bram@vim.org>
date Thu, 02 Sep 2021 19:00:04 +0200
parents 038eb6d9003a
children 16a7d1154be8
line wrap: on
line diff
--- a/src/vim.h
+++ b/src/vim.h
@@ -1808,9 +1808,16 @@ typedef enum {
 
 // Keep in sync with INSTRUCTIONS().
 #ifdef FEAT_PROFILE
-# define COMPILE_TYPE(ufunc) (debug_break_level > 0 || ufunc->uf_has_breakpoint ? CT_DEBUG : do_profiling == PROF_YES && (ufunc)->uf_profiling ? CT_PROFILE : CT_NONE)
+# define COMPILE_TYPE(ufunc) (debug_break_level > 0 \
+	|| may_break_in_function(ufunc) \
+		? CT_DEBUG \
+		: do_profiling == PROF_YES && (ufunc)->uf_profiling \
+			? CT_PROFILE : CT_NONE)
 #else
-# define COMPILE_TYPE(ufunc) debug_break_level > 0 || ufunc->uf_has_breakpoint ? CT_DEBUG : CT_NONE
+# define COMPILE_TYPE(ufunc) debug_break_level > 0 \
+	|| may_break_in_function(ufunc) \
+		? CT_DEBUG \
+		: CT_NONE
 #endif
 
 /*