diff --git a/autoload/vundle/config.vim b/autoload/vundle/config.vim index 96ff8bf..577a6aa 100644 --- a/autoload/vundle/config.vim +++ b/autoload/vundle/config.vim @@ -77,9 +77,9 @@ endf let s:bundle = {} func! s:bundle.path() - return join([g:bundle_dir, self.name], '/') + return expand(g:bundle_dir.'/'.self.name) endf func! s:bundle.rtpath() - return has_key(self, 'rtp') ? join([self.path(), self.rtp], '/') : self.path() + return has_key(self, 'rtp') ? expand(self.path().'/'.self.rtp) : self.path() endf diff --git a/autoload/vundle/installer.vim b/autoload/vundle/installer.vim index 6a225a2..3edbccf 100644 --- a/autoload/vundle/installer.vim +++ b/autoload/vundle/installer.vim @@ -70,6 +70,11 @@ func! s:sync(bang, bundle) abort if isdirectory(git_dir) if !(a:bang) | return 0 | endif let cmd = 'cd '.shellescape(a:bundle.path()).' && git pull' + + if (has('win32') || has('win64')) + let cmd = substitute(cmd, '^cd ','cd /d ','') " add /d switch to change drives + let cmd = '"'.cmd.'"' " enclose in quotes + endif else let cmd = 'git clone '.a:bundle.uri.' '.shellescape(a:bundle.path()) endif