]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(vimgoto): Not correctly escaping the filanems
authorChristian Brabandt <cb@256bit.org>
Mon, 30 Mar 2026 10:15:19 +0000 (10:15 +0000)
committerChristian Brabandt <cb@256bit.org>
Mon, 30 Mar 2026 10:15:19 +0000 (10:15 +0000)
Problem:  runtime(vimgoto): not correctly escaping the filenames
Solution: Use fnamescape() (MichaƂ Majchrowicz)

Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/autoload/vimgoto.vim

index 32756e07df68aebf66b55ffcf92d465ed38fd43d..634457dff5f7efdf7674102e173ef1654c3fb957 100644 (file)
@@ -5,7 +5,7 @@ vim9script
 #               Shane-XB-Qian
 #               Andrew Radev
 #               thinca
-# Last Change:  2026 Feb 10
+# Last Change:  2026 Mar 30
 #
 # Vim script to handle jumping to the targets of several types of Vim commands
 # (:import, :packadd, :runtime, :colorscheme), and to autoloaded functions of
@@ -168,7 +168,7 @@ def HandleImportLine(editcmd: string, curline: string) #{{{2
         "\<C-W>F": 'split',
         "\<C-W>gF": 'tab split',
     }[editcmd]
-    execute how_to_split .. ' ' .. filepath
+    execute how_to_split .. ' ' .. fnameescape(filepath)
 enddef
 
 def Open(target: any, editcmd: string, search_pattern: string = '') #{{{2
@@ -193,7 +193,7 @@ def Open(target: any, editcmd: string, search_pattern: string = '') #{{{2
         cmd = $'+silent\ call\ search(''{escaped_pattern}'')'
     endif
 
-    execute $'{split} {cmd} {fname}'
+    execute $'{split} {cmd} {fnameescape(fname)}'
 
     # If there are several files to open, put them into an arglist.
     if target->typename() == 'list<string>'