Before: Save g:ale_llvm_llc_executable unlet! g:ale_llvm_llc_executable unlet! b:ale_llvm_llc_executable runtime ale_linters/llvm/llc.vim function! AssertHasPrefix(str, prefix) abort let msg = printf("'%s' is expected to be prefixed with '%s'", a:str, a:prefix) AssertEqual stridx(a:str, a:prefix), 0, msg endfunction After: unlet! g:ale_llvm_llc_executable unlet! b:ale_llvm_llc_executable delfunction AssertHasPrefix Restore Execute(llc command is customizable): let cmd = ale_linters#llvm#llc#GetCommand(bufnr('')) call AssertHasPrefix(cmd, ale#Escape('llc')) let g:ale_llvm_llc_executable = 'llc-5.0' let cmd = ale_linters#llvm#llc#GetCommand(bufnr('')) call AssertHasPrefix(cmd, ale#Escape('llc-5.0')) let b:ale_llvm_llc_executable = 'llc-4.0' let cmd = ale_linters#llvm#llc#GetCommand(bufnr('')) call AssertHasPrefix(cmd, ale#Escape('llc-4.0')) Execute(GetCommand() escapes the returned path): let b:ale_llvm_llc_executable = '/path/space contained/llc' let cmd = ale_linters#llvm#llc#GetCommand(bufnr('')) call AssertHasPrefix(cmd, ale#Escape('/path/space contained/llc')) Execute(GetExecutable() does not escape the returned path): let b:ale_llvm_llc_executable = '/path/space contained/llc' AssertEqual ale_linters#llvm#llc#GetExecutable(bufnr('')), '/path/space contained/llc'