runtime(termdebug): gdb file/folder check is now performed only in CWD.
closes: #15268
Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index c6db92c..83bcda1 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -223,6 +223,11 @@
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 @@
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}'"