neovim

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

commit 8aad4b84250a6e4d667bd7d15622164cd95fa1af
parent 21477bdb27571b6d7c51038192b74a3ec53e8110
Author: Sean Dewar <seandewar@users.noreply.github.com>
Date:   Tue, 22 Aug 2023 22:39:29 +0100

fix(termdebug): send SIGINT when interrupting prompt mode

Unlike Vim's job_stop(), Nvim's jobstop() does not take a signal argument, and
always sends SIGTERM/KILL.

:Stop and Ctrl-C in prompt mode is supposed to interrupt the program like in
terminal mode, not kill GDB.

Also, maybe libuv's kill() works on Windows? If so, the logic above could be
removed, but I don't have a Windows machine available to test that.

Also "set nomodified" when ending prompt mode, like Vim (avoids E37).

Diffstat:
Mruntime/pack/dist/opt/termdebug/plugin/termdebug.vim | 3++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @@ -624,7 +624,7 @@ func s:PromptInterrupt() call debugbreak(s:pid) endif else - call jobstop(s:gdbjob) + call v:lua.vim.uv.kill(jobpid(s:gdbjob), 'sigint') endif endfunc @@ -821,6 +821,7 @@ func s:EndPromptDebug(job_id, exit_code, event) let curwinid = win_getid() call win_gotoid(s:gdbwin) + set nomodified close if curwinid != s:gdbwin call win_gotoid(curwinid)