changeset 35412:83da82db3994

runtime(termdebug): close all buffers in the same way Commit: https://github.com/vim/vim/commit/fce324f55718192ae7de389bb88d423eed7977a2 Author: Damien Riegel <damien@riegel.io> Date: Fri Jun 14 12:15:11 2024 -0400 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 <damien@riegel.io> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Fri, 14 Jun 2024 20:45:03 +0200
parents 4bd90bad4a62
children 0daf100f5c6f
files runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
diffstat 1 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- 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