summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-01-15 15:23:44 +0000
committerBram Moolenaar <Bram@vim.org>2022-01-15 15:23:44 +0000
commit069613c9e8645acea3a128c15ebdbf56e2219d44 (patch)
tree9d4e2e22abdcb03f59de0269353e23dcd3f2a335
parentf60a63485ea26d9bda1618d1b72662eca65b5f1f (diff)
patch 8.2.4098: typing "interrupt" at debug prompt may keep exception aroundv8.2.4098
Problem: Typing "interrupt" at debug prompt may keep exception around, causing function calls to fail. Solution: Discard any exception at the toplevel. (closes #9532)
-rw-r--r--src/main.c7
-rw-r--r--src/version.c2
2 files changed, 9 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 8f3856f7e2..72d0211432 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1246,6 +1246,13 @@ main_loop(
else
previous_got_int = FALSE;
+#ifdef FEAT_EVAL
+ // At the toplevel there is no exception handling. Discard any that
+ // may be hanging around (e.g. from "interrupt" at the debug prompt).
+ if (did_throw && !ex_normal_busy)
+ discard_current_exception();
+#endif
+
if (!exmode_active)
msg_scroll = FALSE;
quit_more = FALSE;
diff --git a/src/version.c b/src/version.c
index 7a75be32aa..879a0e8b47 100644
--- 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 */
/**/
+ 4098,
+/**/
4097,
/**/
4096,