changeset 27138:1fc0421a448f v8.2.4098

patch 8.2.4098: typing "interrupt" at debug prompt may keep exception around Commit: https://github.com/vim/vim/commit/069613c9e8645acea3a128c15ebdbf56e2219d44 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 15 15:23:44 2022 +0000 patch 8.2.4098: typing "interrupt" at debug prompt may keep exception around Problem: Typing "interrupt" at debug prompt may keep exception around, causing function calls to fail. Solution: Discard any exception at the toplevel. (closes #9532)
author Bram Moolenaar <Bram@vim.org>
date Sat, 15 Jan 2022 16:30:02 +0100
parents 4f8fc83ffa7e
children fd4193f6d59e
files src/main.c src/version.c
diffstat 2 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- 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,