diff options
author | lonerover <pathfinder1644@yahoo.com> | 2017-01-09 11:00:56 +0800 |
---|---|---|
committer | lonerover <pathfinder1644@yahoo.com> | 2017-01-09 11:06:11 +0800 |
commit | 6f285226a9cc0e24bcb77a3213035cd26170ddb4 (patch) | |
tree | 40ed55c9147e701ebf3aa49902bc9d1b92bee258 /src | |
parent | 7486e7586d94c85f04e50ac7429acedc80f9da2f (diff) | |
download | rneovim-6f285226a9cc0e24bcb77a3213035cd26170ddb4.tar.gz rneovim-6f285226a9cc0e24bcb77a3213035cd26170ddb4.tar.bz2 rneovim-6f285226a9cc0e24bcb77a3213035cd26170ddb4.zip |
vim-patch:7.4.2300
Problem: Get warning for deleting autocommand group when the autocommand
using the group is scheduled for deletion. (Pavol Juhas)
Solution: Check for deleted autocommand.
https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/fileio.c | 2 | ||||
-rw-r--r-- | src/nvim/testdir/test_autocmd.vim | 15 | ||||
-rw-r--r-- | src/nvim/version.c | 2 |
3 files changed, 17 insertions, 2 deletions
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index 3f82b4ee97..31db8e2341 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -5580,7 +5580,7 @@ static void au_del_group(char_u *name) for (event = (event_T)0; (int)event < (int)NUM_EVENTS; event = (event_T)((int)event + 1)) { for (ap = first_autopat[(int)event]; ap != NULL; ap = ap->next) { - if (ap->group == i) { + if (ap->group == i && ap->pat != NULL) { give_warning((char_u *) _("W19: Deleting augroup that is still in use"), true); in_use = true; diff --git a/src/nvim/testdir/test_autocmd.vim b/src/nvim/testdir/test_autocmd.vim index d856d3296a..6db3bf76d3 100644 --- a/src/nvim/testdir/test_autocmd.vim +++ b/src/nvim/testdir/test_autocmd.vim @@ -152,6 +152,11 @@ func Test_early_bar() call assert_equal(1, len(split(execute('au vimBarTest'), "\n"))) endfunc +func RemoveGroup() + autocmd! StartOK + augroup! StartOK +endfunc + func Test_augroup_warning() augroup TheWarning au VimEnter * echo 'entering' @@ -167,4 +172,14 @@ func Test_augroup_warning() augroup Another augroup END call assert_true(match(execute('au VimEnter'), "-Deleted-.*VimEnter") >= 0) + + " no warning for postpone aucmd delete + augroup StartOK + au VimEnter * call RemoveGroup() + augroup END + call assert_true(match(execute('au VimEnter'), "StartOK.*VimEnter") >= 0) + redir => res + doautocmd VimEnter + redir END + call assert_true(match(res, "W19:") < 0) endfunc diff --git a/src/nvim/version.c b/src/nvim/version.c index 260e4c743e..93d72a9b0a 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -140,7 +140,7 @@ static int included_patches[] = { // 2303, // 2302 NA // 2301 NA - // 2300, + 2300, // 2299, // 2298 NA // 2297 NA |