diff --git a/src/autocmd.c b/src/autocmd.c index 97b27effd1..d1ecad944e 100644 --- a/src/autocmd.c +++ b/src/autocmd.c @@ -2043,7 +2043,7 @@ apply_autocmds_group( { sfname = vim_strsave(fname); // Don't try expanding FileType, Syntax, FuncUndefined, WindowID, - // ColorScheme, QuickFixCmd* or DirChanged + // ColorScheme, QuickFixCmd*, DirChanged and similar. if (event == EVENT_FILETYPE || event == EVENT_SYNTAX || event == EVENT_CMDLINECHANGED @@ -2061,7 +2061,9 @@ apply_autocmds_group( || event == EVENT_OPTIONSET || event == EVENT_QUICKFIXCMDPOST || event == EVENT_DIRCHANGED + || event == EVENT_DIRCHANGEDPRE || event == EVENT_MODECHANGED + || event == EVENT_USER || event == EVENT_WINCLOSED) { fname = vim_strsave(fname); diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim index 3ff4c3cf5b..d3c9b89024 100644 --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -1899,6 +1899,14 @@ func Test_autocommand_all_events() call assert_fails('au! * x bwipe', 'E1155:') endfunc +func Test_autocmd_user() + au User MyEvent let s:res = [expand(""), expand("")] + doautocmd User MyEvent + call assert_equal(['MyEvent', 'MyEvent'], s:res) + au! User + unlet s:res +endfunc + function s:Before_test_dirchanged() augroup test_dirchanged autocmd! @@ -1922,11 +1930,11 @@ endfunc function Test_dirchanged_global() call s:Before_test_dirchanged() - autocmd test_dirchanged DirChangedPre global call add(s:li, "pre cd " .. v:event.directory) + autocmd test_dirchanged DirChangedPre global call add(s:li, expand("") .. " pre cd " .. v:event.directory) autocmd test_dirchanged DirChanged global call add(s:li, "cd:") autocmd test_dirchanged DirChanged global call add(s:li, expand("")) call chdir(s:dir_foo) - let expected = ["pre cd " .. s:dir_foo, "cd:", s:dir_foo] + let expected = ["global pre cd " .. s:dir_foo, "cd:", s:dir_foo] call assert_equal(expected, s:li) call chdir(s:dir_foo) call assert_equal(expected, s:li) diff --git a/src/version.c b/src/version.c index 2c86de33eb..b70fb291a0 100644 --- a/src/version.c +++ b/src/version.c @@ -746,6 +746,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 4345, /**/ 4344, /**/