From 10601ac5fa3cf3d26f315873dab4384045999c7f Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 22 May 2024 08:41:07 +0800 Subject: vim-patch:62ccaa6: runtime(termdebug): check for gdb file/dir before using as buffer name (#28908) Add test so that this doesn't regress. fixes: vim/vim#12718 closes: vim/vim#14792 https://github.com/vim/vim/commit/62ccaa60d5f7f9a13c758bd5e55b7ca6855a6de9 Co-authored-by: Ubaldo Tiberi --- .../pack/dist/opt/termdebug/plugin/termdebug.vim | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'runtime/pack/dist/opt/termdebug/plugin') diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim index 89d0874b9e..f78a082cb7 100644 --- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim +++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @@ -427,7 +427,17 @@ func s:StartDebug_prompt(dict) let s:promptbuf = bufnr('') call prompt_setprompt(s:promptbuf, 'gdb> ') set buftype=prompt - file gdb + + if empty(glob('gdb')) + file gdb + elseif empty(glob('Termdebug-gdb-console')) + file Termdebug-gdb-console + else + call s:Echoerr("You have a file/folder named 'gdb' + \ or 'Termdebug-gdb-console'. + \ Please exit and rename them because Termdebug may not work as expected.") + endif + call prompt_setcallback(s:promptbuf, function('s:PromptCallback')) call prompt_setinterrupt(s:promptbuf, function('s:PromptInterrupt')) @@ -1481,9 +1491,12 @@ func s:GotoAsmwinOrCreateIt() if s:asmbuf > 0 && bufexists(s:asmbuf) exe 'buffer' . s:asmbuf - else + elseif empty(glob('Termdebug-asm-listing')) silent file Termdebug-asm-listing let s:asmbuf = bufnr('Termdebug-asm-listing') + else + call s:Echoerr("You have a file/folder named 'Termdebug-asm-listing'. + \ Please exit and rename it because Termdebug may not work as expected.") endif if mdf != 'vert' && s:GetDisasmWindowHeight() > 0 @@ -1550,9 +1563,12 @@ func s:GotoVariableswinOrCreateIt() if s:varbuf > 0 && bufexists(s:varbuf) exe 'buffer' . s:varbuf - else + elseif empty(glob('Termdebug-variables-listing')) silent file Termdebug-variables-listing let s:varbuf = bufnr('Termdebug-variables-listing') + else + call s:Echoerr("You have a file/folder named 'Termdebug-variables-listing'. + \ Please exit and rename it because Termdebug may not work as expected.") endif if mdf != 'vert' && s:GetVariablesWindowHeight() > 0 -- cgit