patch 7.4.2164
Problem: It is not possible to use plugins in an "after" directory to tune
the behavior of a package.
Solution: First load plugins from non-after directories, then packages and
finally plugins in after directories.
Reset 'loadplugins' before executing --cmd arguments.
diff --git a/src/testdir/shared.vim b/src/testdir/shared.vim
index b28a26c..d0be241 100644
--- a/src/testdir/shared.vim
+++ b/src/testdir/shared.vim
@@ -120,3 +120,24 @@
sleep 10m
endfor
endfunc
+
+" Run Vim, using the "vimcmd" file and "-u NORC".
+" "before" is a list of commands to be executed before loading plugins.
+" "after" is a list of commands to be executed after loading plugins.
+" Plugins are not loaded, unless 'loadplugins' is set in "before".
+" Return 1 if Vim could be executed.
+func RunVim(before, after)
+ if !filereadable('vimcmd')
+ return 0
+ endif
+ call writefile(a:before, 'Xbefore.vim')
+ call writefile(a:after, 'Xafter.vim')
+
+ let cmd = readfile('vimcmd')[0]
+ let cmd = substitute(cmd, '-u \f\+', '-u NONE', '')
+ exe "silent !" . cmd . " --cmd 'so Xbefore.vim' -S Xafter.vim"
+
+ call delete('Xbefore.vim')
+ call delete('Xafter.vim')
+ return 1
+endfunc