Fix #3115 - Fix environment variable quoting on Windows

This commit is contained in:
w0rp 2023-09-16 22:33:59 +01:00
parent ae1d051504
commit e412fa34ff
No known key found for this signature in database
GPG Key ID: 0FC1ECAA8C81CD83
2 changed files with 2 additions and 2 deletions

View File

@ -222,7 +222,7 @@ endfunction
" valid for cmd on Windows, or most shells on Unix. " valid for cmd on Windows, or most shells on Unix.
function! ale#Env(variable_name, value) abort function! ale#Env(variable_name, value) abort
if has('win32') if has('win32')
return 'set ' . a:variable_name . '=' . ale#Escape(a:value) . ' && ' return 'set ' . ale#Escape(a:variable_name . '=' . a:value) . ' && '
endif endif
return a:variable_name . '=' . ale#Escape(a:value) . ' ' return a:variable_name . '=' . ale#Escape(a:value) . ' '

View File

@ -1,7 +1,7 @@
Execute(ale#Env should produce the correct syntax): Execute(ale#Env should produce the correct syntax):
if has('win32') if has('win32')
AssertEqual 'set name=xxx && ', ale#Env('name', 'xxx') AssertEqual 'set name=xxx && ', ale#Env('name', 'xxx')
AssertEqual 'set name="foo bar" && ', ale#Env('name', 'foo bar') AssertEqual 'set "name=foo bar" && ', ale#Env('name', 'foo bar')
else else
AssertEqual 'name=''xxx'' ', ale#Env('name', 'xxx') AssertEqual 'name=''xxx'' ', ale#Env('name', 'xxx')
AssertEqual 'name=''foo bar'' ', ale#Env('name', 'foo bar') AssertEqual 'name=''foo bar'' ', ale#Env('name', 'foo bar')