neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 99b3a068de1032975c4ab1486c0594a37aeabde8
parent 30b94ae4942b4e82030bc079368dd7fcb5481456
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Wed,  3 Apr 2024 10:43:03 +0800

vim-patch:8.2.4098: typing "interrupt" at debug prompt may keep exception around (#28161)

Problem:    Typing "interrupt" at debug prompt may keep exception around,
            causing function calls to fail.
Solution:   Discard any exception at the toplevel. (closes vim/vim#9532)

https://github.com/vim/vim/commit/069613c9e8645acea3a128c15ebdbf56e2219d44

Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat:
Msrc/nvim/normal.c | 7+++++++
1 file changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/nvim/normal.c b/src/nvim/normal.c @@ -32,6 +32,7 @@ #include "nvim/ex_cmds.h" #include "nvim/ex_cmds2.h" #include "nvim/ex_docmd.h" +#include "nvim/ex_eval.h" #include "nvim/ex_getln.h" #include "nvim/fileio.h" #include "nvim/fold.h" @@ -1403,6 +1404,12 @@ static int normal_check(VimState *state) normal_check_stuff_buffer(s); normal_check_interrupt(s); + // 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(); + } + if (!exmode_active) { msg_scroll = false; }