runtime(termdebug): quote filename arguments using double quotes
Commit:
https://github.com/vim/vim/commit/27f53346a303c5cf1bdfb8abca20e4fea8ec05e4
Author: Ubaldo Tiberi <[email protected]>
Date: Wed Jul 17 20:12:29 2024 +0200
runtime(termdebug): quote filename arguments using double quotes
closes: https://github.com/vim/vim/issues/15270
Signed-off-by: Ubaldo Tiberi <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index 58d526d6a..c6db92cef 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -1325,6 +1325,11 @@ def DeleteCommands()
sign_undefine(BreakpointSigns->map("'debugBreakpoint' .. v:val"))
enddef
+def QuoteArg(x: string): string
+ # Find all the occurrences of " and \ and escape them and double quote
+ # the resulting string.
+ return printf('"%s"', x ->substitute('[\"]', '\&', 'g'))
+enddef
# :Until - Execute until past a specified position or current line
def Until(at: string)
@@ -1335,7 +1340,7 @@ def Until(at: string)
ch_log('assume that program is running after this command')
# Use the fname:lnum format
- var AT = empty(at) ? $"\"{expand('%:p')}:{line('.')}\"" : at
+ var AT = empty(at) ? QuoteArg($"{expand('%:p')}:{line('.')}") : at
SendCommand($'-exec-until {AT}')
else
ch_log('dropping command, program is running: exec-until')
@@ -1354,7 +1359,7 @@ def SetBreakpoint(at: string, tbreak=false)
endif
# Use the fname:lnum format, older gdb can't handle --source.
- var AT = empty(at) ? $"\"{expand('%:p')}:{line('.')}\"" : at
+ var AT = empty(at) ? QuoteArg($"{expand('%:p')}:{line('.')}") : at
var cmd = ''
if tbreak
cmd = $'-break-insert -t {AT}'
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/E1sU9Pg-00ABC0-2d%40256bit.org.