diff options
author | glepnir <glephunter@gmail.com> | 2023-10-06 19:40:02 +0800 |
---|---|---|
committer | glepnir <glephunter@gmail.com> | 2023-10-07 16:40:57 +0800 |
commit | 1cd7824dd69ee14b734713e61bef6bb713db8547 (patch) | |
tree | 0b0db59c0cba3013db3214d56e1e1ac659629d85 | |
parent | 9b3045103f7d56e5ccd0574dcb93e953b72d5f50 (diff) | |
download | rneovim-1cd7824dd69ee14b734713e61bef6bb713db8547.tar.gz rneovim-1cd7824dd69ee14b734713e61bef6bb713db8547.tar.bz2 rneovim-1cd7824dd69ee14b734713e61bef6bb713db8547.zip |
fix(ui): trigger TabNewEntered after split new tab
-rw-r--r-- | src/nvim/window.c | 6 | ||||
-rw-r--r-- | test/functional/autocmd/tabnewentered_spec.lua | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c index 41199306fa..be1bb8edaf 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -4261,7 +4261,11 @@ int may_open_tabpage(void) cmdmod.cmod_tab = 0; // reset it to avoid doing it twice postponed_split_tab = 0; - return win_new_tabpage(n, NULL); + int status = win_new_tabpage(n, NULL); + if (status == OK) { + apply_autocmds(EVENT_TABNEWENTERED, NULL, NULL, false, curbuf); + } + return status; } // Create up to "maxcount" tabpages with empty windows. diff --git a/test/functional/autocmd/tabnewentered_spec.lua b/test/functional/autocmd/tabnewentered_spec.lua index f3443f317d..6e167dd55c 100644 --- a/test/functional/autocmd/tabnewentered_spec.lua +++ b/test/functional/autocmd/tabnewentered_spec.lua @@ -35,6 +35,14 @@ describe('TabNewEntered', function() eq('entered', nvim('exec', 'execute "normal \\<C-W>T"', true)) end) end) + describe('with tab split #4334', function() + it('works when create a tab by using tab split command', function() + clear() + nvim('command', 'au! TabNewEntered * let b:entered = "entered"') + nvim('command', 'tab split') + eq('entered', nvim('exec', 'echo b:entered', true)) + end) + end) end) end) |