Mercurial > vim
changeset 8374:5d834058bf44 v7.4.1479
commit https://github.com/vim/vim/commit/863c1a9079fa340d663ccafb011729a29186d73e
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Mar 3 15:47:06 2016 +0100
patch 7.4.1479
Problem: No testfor ":loadplugin".
Solution: Add a test. Fix how option is being set.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 03 Mar 2016 16:00:05 +0100 |
parents | d0cac5912500 |
children | 3d5a49fe23bf |
files | src/ex_cmds2.c src/testdir/Make_all.mak src/testdir/test_loadplugin.vim src/version.c |
diffstat | 4 files changed, 32 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -3058,14 +3058,14 @@ do_in_runtimepath( static void may_do_filetypes(char_u *pat) { - char_u *cmd = vim_strsave((char_u *)"did_load_filetypes"); + char_u *cmd = vim_strsave((char_u *)"g:did_load_filetypes"); /* If runtime/filetype.vim wasn't loaded yet, the scripts will be found * when it loads. */ if (cmd != NULL && eval_to_number(cmd) > 0) { do_cmdline_cmd((char_u *)"augroup filetypedetect"); - source_runtime(pat, TRUE); + do_in_path(p_pp, pat, TRUE, source_callback, NULL); do_cmdline_cmd((char_u *)"augroup END"); } vim_free(cmd); @@ -3125,8 +3125,8 @@ source_pack_plugin(char_u *fname, void * if (p_rtp[keep] != NUL) mch_memmove(new_rtp + keep + 1 + addlen, p_rtp + keep, oldlen - keep + 1); - free_string_option(p_rtp); - p_rtp = new_rtp; + set_option_value((char_u *)"rtp", 0L, new_rtp, 0); + vim_free(new_rtp); } *p2 = c;
--- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -178,6 +178,7 @@ NEW_TESTS = test_arglist.res \ test_increment.res \ test_json.res \ test_langmap.res \ + test_loadplugin.res \ test_perl.res \ test_quickfix.res \ test_syntax.res \
new file mode 100644 --- /dev/null +++ b/src/testdir/test_loadplugin.vim @@ -0,0 +1,25 @@ +" Tests for :loadplugin + +func Test_loadplugin() + let topdir = expand('%:h') . '/Xdir' + exe 'set packpath=' . topdir + let plugdir = topdir . '/pack/mine/opt/mytest' + call mkdir(plugdir . '/plugin', 'p') + call mkdir(plugdir . '/ftdetect', 'p') + filetype on + try + exe 'split ' . plugdir . '/plugin/test.vim' + call setline(1, 'let g:plugin_works = 42') + wq + + exe 'split ' . plugdir . '/ftdetect/test.vim' + call setline(1, 'let g:ftdetect_works = 17') + wq + + loadplugin mytest + call assert_true(42, g:plugin_works) + call assert_true(17, g:ftdetect_works) + finally + call delete(topdir, 'rf') + endtry +endfunc