diff --git a/plug.vim b/plug.vim index 7842d24..1276fb9 100644 --- a/plug.vim +++ b/plug.vim @@ -289,9 +289,10 @@ function! s:reorg_rtp() let s:middle = get(s:, 'middle', &rtp) let rtps = map(s:loaded_names(), 's:rtp(g:plugs[v:val])') let afters = filter(map(copy(rtps), 'globpath(v:val, "after")'), 'isdirectory(v:val)') - let &rtp = join(map(rtps, 's:escrtp(v:val)'), ',') - \ . substitute(','.s:middle.',', '^,,$', ',', '') + let rtp = join(map(rtps, 's:escrtp(v:val)'), ',') + \ . ','.s:middle.',' \ . join(map(afters, 's:escrtp(v:val)'), ',') + let &rtp = substitute(substitute(rtp, ',,*', ',', 'g'), '^,\|,$', '', 'g') let s:prtp = &rtp if !empty(s:first_rtp) diff --git a/test/workflow.vader b/test/workflow.vader index f0f2d09..df13b0d 100644 --- a/test/workflow.vader +++ b/test/workflow.vader @@ -1089,6 +1089,16 @@ Execute (PlugSnapshot): AssertEqual 'snapshot.sh', fnamemodify(expand('%'), ':t') q +********************************************************************** +Execute (#114 Should not contain empty path in &rtp): + call plug#begin('$TMPDIR/plugged') + call plug#end() + + Log &rtp + Assert &rtp !~ ',,', 'Commas' + Assert &rtp !~ '^,', 'Comma prefix' + Assert &rtp !~ ',$', 'Comma suffix' + Execute (Cleanup): silent! call system('rm -rf '.temp_plugged) silent! call system('rm -rf '.temp_plugged)