aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-02-17 06:53:15 +0800
committerGitHub <noreply@github.com>2022-02-17 06:53:15 +0800
commit3230b314862e50899d68b3944134cbffaa797cde (patch)
tree33725c853a061e3e0e5b843789c986c3f47ed5bb
parentb94b11623622abc607ed86a2ad148d6134f80d15 (diff)
parent7b048df4dce802bd0ff5425b09074ae7abbf126d (diff)
downloadrneovim-3230b314862e50899d68b3944134cbffaa797cde.tar.gz
rneovim-3230b314862e50899d68b3944134cbffaa797cde.tar.bz2
rneovim-3230b314862e50899d68b3944134cbffaa797cde.zip
Merge pull request #17431 from zeertzjq/vim-8.2.4345
vim-patch:8.2.4345
-rw-r--r--src/nvim/autocmd.c3
-rw-r--r--src/nvim/testdir/test_autocmd.vim12
2 files changed, 12 insertions, 3 deletions
diff --git a/src/nvim/autocmd.c b/src/nvim/autocmd.c
index 6dc614813b..9117dde089 100644
--- a/src/nvim/autocmd.c
+++ b/src/nvim/autocmd.c
@@ -1523,7 +1523,8 @@ static bool apply_autocmds_group(event_T event, char_u *fname, char_u *fname_io,
|| event == EVENT_QUICKFIXCMDPOST || event == EVENT_QUICKFIXCMDPRE
|| event == EVENT_REMOTEREPLY || event == EVENT_SPELLFILEMISSING
|| event == EVENT_SYNTAX || event == EVENT_SIGNAL
- || event == EVENT_TABCLOSED || event == EVENT_WINCLOSED) {
+ || event == EVENT_TABCLOSED || event == EVENT_USER
+ || event == EVENT_WINCLOSED) {
fname = vim_strsave(fname);
} else {
fname = (char_u *)FullName_save((char *)fname, false);
diff --git a/src/nvim/testdir/test_autocmd.vim b/src/nvim/testdir/test_autocmd.vim
index 82e8f9ba77..0146c06109 100644
--- a/src/nvim/testdir/test_autocmd.vim
+++ b/src/nvim/testdir/test_autocmd.vim
@@ -1827,6 +1827,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("<afile>"), expand("<amatch>")]
+ 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!
@@ -1850,11 +1858,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("<amatch>") .. " 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("<afile>"))
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)