aboutsummaryrefslogtreecommitdiff
path: root/vim/plugin/auto_undodir.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/plugin/auto_undodir.vim')
-rw-r--r--vim/plugin/auto_undodir.vim16
1 files changed, 9 insertions, 7 deletions
diff --git a/vim/plugin/auto_undodir.vim b/vim/plugin/auto_undodir.vim
index cf8d896a..0cd54cd0 100644
--- a/vim/plugin/auto_undodir.vim
+++ b/vim/plugin/auto_undodir.vim
@@ -21,7 +21,7 @@ else
" This is imperfect in that it will break if you have a backslashed comma in
" the first component of your &runtimepath, but if you're doing that, you
" probably already have way bigger problems
- let s:undodir
+ let s:undodir
\ = strpart(&runtimepath, 0, stridx(&runtimepath, ','))
\ . '/undo'
endif
@@ -35,12 +35,14 @@ if !isdirectory(expand(s:undodir))
" Failing that, use an OS-dependent command
" (Fortunately, Unix and Windows are the only OS types in the world)
- elseif has('unix')
- silent! execute '!mkdir -m 0700 -p '
- \ . shellescape(expand(s:undodir))
- elseif has('win32') || has('win64')
- silent! execute '!mkdir '
- \ . shellescape(expand(s:undodir))
+ elseif has('*shellescape')
+ elseif has('unix')
+ silent! execute '!mkdir -m 0700 -p '
+ \ . shellescape(expand(s:undodir))
+ elseif has('win32') || has('win64')
+ silent! execute '!mkdir '
+ \ . shellescape(expand(s:undodir))
+ endif
endif
endif