aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Ennen <brcolow@users.noreply.github.com>2016-11-29 15:19:25 -0700
committerJustin M. Keyes <justinkz@gmail.com>2016-11-29 23:19:25 +0100
commit783c9aac8ee300ba3e9850de26b523554ceab495 (patch)
tree894e83e342ec0a74fccbe818cf48e42c0e2a3070
parent3979c6cbed6399934a06da35881e4d351c588af0 (diff)
downloadrneovim-783c9aac8ee300ba3e9850de26b523554ceab495.tar.gz
rneovim-783c9aac8ee300ba3e9850de26b523554ceab495.tar.bz2
rneovim-783c9aac8ee300ba3e9850de26b523554ceab495.zip
vim-patch:7.4.1699 (#5660)
Problem: :packadd does not work the same when used early or late. Solution: Always load plugins matching "plugin/**/*.vim". https://github.com/vim/vim/commit/71fb0c146bef08dc276fc5793bd47366e6e0f32a
-rw-r--r--src/nvim/ex_cmds2.c2
-rw-r--r--src/nvim/version.c2
-rw-r--r--test/functional/legacy/packadd_spec.lua7
3 files changed, 8 insertions, 3 deletions
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c
index f68663c60c..3b92b3734a 100644
--- a/src/nvim/ex_cmds2.c
+++ b/src/nvim/ex_cmds2.c
@@ -2552,7 +2552,7 @@ static void add_pack_plugin(char_u *fname, void *cookie)
}
if (cookie != &APP_ADD_DIR) {
- static const char *plugpat = "%s/plugin/*.vim"; // NOLINT
+ static const char *plugpat = "%s/plugin/**/*.vim"; // NOLINT
static const char *ftpat = "%s/ftdetect/*.vim"; // NOLINT
size_t len = STRLEN(ffname) + STRLEN(ftpat);
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 82a6f5f9a9..eaf44f42b8 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -745,7 +745,7 @@ static int included_patches[] = {
// 1702,
// 1701,
1700,
- // 1699,
+ 1699,
// 1698 NA
1697,
1696,
diff --git a/test/functional/legacy/packadd_spec.lua b/test/functional/legacy/packadd_spec.lua
index 68bdbf5257..2d851819e3 100644
--- a/test/functional/legacy/packadd_spec.lua
+++ b/test/functional/legacy/packadd_spec.lua
@@ -27,7 +27,7 @@ describe('packadd', function()
endfunc
func Test_packadd()
- call mkdir(s:plugdir . '/plugin', 'p')
+ call mkdir(s:plugdir . '/plugin/also', 'p')
call mkdir(s:plugdir . '/ftdetect', 'p')
call mkdir(s:plugdir . '/after', 'p')
set rtp&
@@ -38,6 +38,10 @@ describe('packadd', function()
call setline(1, 'let g:plugin_works = 42')
wq
+ exe 'split ' . s:plugdir . '/plugin/also/loaded.vim'
+ call setline(1, 'let g:plugin_also_works = 77')
+ wq
+
exe 'split ' . s:plugdir . '/ftdetect/test.vim'
call setline(1, 'let g:ftdetect_works = 17')
wq
@@ -45,6 +49,7 @@ describe('packadd', function()
packadd mytest
call assert_true(42, g:plugin_works)
+ call assert_equal(77, g:plugin_also_works)
call assert_true(17, g:ftdetect_works)
call assert_true(len(&rtp) > len(rtp))
call assert_true(&rtp =~ (s:plugdir . '\($\|,\)'))