aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nvim/autoload/plug.vim8
1 files changed, 6 insertions, 2 deletions
diff --git a/nvim/autoload/plug.vim b/nvim/autoload/plug.vim
index ac299a2..e0dc78f 100644
--- a/nvim/autoload/plug.vim
+++ b/nvim/autoload/plug.vim
@@ -121,6 +121,9 @@ function! plug#begin(...)
else
return s:err('Unable to determine plug home. Try calling plug#begin() with a path argument.')
endif
+ if fnamemodify(home, ':t') ==# 'plugin' && fnamemodify(home, ':h') ==# s:first_rtp
+ return s:err('Invalid plug home. '.home.' is a standard Vim runtime path and is not allowed.')
+ endif
let g:plug_home = home
let g:plugs = {}
@@ -442,12 +445,13 @@ function! plug#load(...)
if !exists('g:plugs')
return s:err('plug#begin was not called')
endif
- let unknowns = filter(copy(a:000), '!has_key(g:plugs, v:val)')
+ let names = a:0 == 1 && type(a:1) == s:TYPE.list ? a:1 : a:000
+ let unknowns = filter(copy(names), '!has_key(g:plugs, v:val)')
if !empty(unknowns)
let s = len(unknowns) > 1 ? 's' : ''
return s:err(printf('Unknown plugin%s: %s', s, join(unknowns, ', ')))
end
- let unloaded = filter(copy(a:000), '!get(s:loaded, v:val, 0)')
+ let unloaded = filter(copy(names), '!get(s:loaded, v:val, 0)')
if !empty(unloaded)
for name in unloaded
call s:lod([name], ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])