From: Damien Riegel Date: Fri, 14 Jun 2024 16:15:11 +0000 (-0400) Subject: runtime(termdebug): close all buffers in the same way X-Git-Tag: v9.1.0486~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fce324f55718192ae7de389bb88d423eed7977a2;p=thirdparty%2Fvim.git runtime(termdebug): close all buffers in the same way For ASM and Variables buffer, check were done to make sure they existed before attempting to close them, but not for debugged program or gdb communication. The debugged program window is a user-facing one and user might close it manually, so it's better to check if it exists. Signed-off-by: Damien Riegel Signed-off-by: Christian Brabandt --- diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim index 15d0397198..a1c92ba0b7 100644 --- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim +++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @@ -328,14 +328,14 @@ enddef # Use when debugger didn't start or ended. def CloseBuffers() - exe $'bwipe! {ptybufnr}' - exe $'bwipe! {commbufnr}' - if asmbufnr > 0 && bufexists(asmbufnr) - exe $'bwipe! {asmbufnr}' - endif - if varbufnr > 0 && bufexists(varbufnr) - exe $'bwipe! {varbufnr}' - endif + var bufnames = ['debugged\ program', 'gdb\ communication', asmbufname, varbufname] + for bufname in bufnames + var buf_nr = bufnr(bufname) + if buf_nr > 0 && bufexists(buf_nr) + exe $'bwipe! {bufname}' + endif + endfor + running = 0 gdbwin = 0 enddef