From fce324f55718192ae7de389bb88d423eed7977a2 Mon Sep 17 00:00:00 2001 From: Damien Riegel Date: Fri, 14 Jun 2024 12:15:11 -0400 Subject: [PATCH] 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 --- .../pack/dist/opt/termdebug/plugin/termdebug.vim | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) 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