diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim index c6db92cef6..83bcda17d2 100644 --- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim +++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @@ -223,6 +223,11 @@ enddef def SanityCheck(): bool var gdb_cmd = GetCommand()[0] + var cwd = $'{getcwd()}/' + if exists('+shellslash') && !&shellslash + # on windows, need to handle backslash + cwd->substitute('\\', '/', 'g') + endif var is_check_ok = true # Need either the +terminal feature or +channel and the prompt buffer. # The terminal feature does not work with gdb on win32. @@ -230,11 +235,11 @@ def SanityCheck(): bool err = 'Cannot debug, +channel feature is not supported' elseif (way is Way.Prompt) && !exists('*prompt_setprompt') err = 'Cannot debug, missing prompt buffer support' - elseif (way is Way.Prompt) && !empty(glob(gdb_cmd)) + elseif (way is Way.Prompt) && !empty(glob($'{cwd}{gdb_cmd}')) err = $"You have a file/folder named '{gdb_cmd}' in the current directory Termdebug may not work properly. Please exit and rename such a file/folder." - elseif !empty(glob(asmbufname)) + elseif !empty(glob($'{cwd}{asmbufname}')) err = $"You have a file/folder named '{asmbufname}' in the current directory Termdebug may not work properly. Please exit and rename such a file/folder." - elseif !empty(glob(varbufname)) + elseif !empty(glob($'{cwd}{varbufname}')) err = $"You have a file/folder named '{varbufname}' in the current directory Termdebug may not work properly. Please exit and rename such a file/folder." elseif !executable(gdb_cmd) err = $"Cannot execute debugger program '{gdb_cmd}'"