summaryrefslogtreecommitdiff
path: root/src/window.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-07-19 23:13:03 +0200
committerBram Moolenaar <Bram@vim.org>2016-07-19 23:13:03 +0200
commit12c11d553053f5a9eae9eb3c518279b12fa928c2 (patch)
tree9516b5c3300a1799e1a5657457dedd7e8d526749 /src/window.c
parent4f0383bc3fe5af0229fb66b53fe94329af783eff (diff)
downloadvim-git-12c11d553053f5a9eae9eb3c518279b12fa928c2.tar.gz
patch 7.4.2077v7.4.2077
Problem: Cannot update 'tabline' when a tab was closed. Solution: Add the TabClosed autocmd event. (partly by Felipe Morales)
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c
index bf650f84b..4fbe6ca58 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2095,6 +2095,9 @@ close_windows(
win_T *wp;
tabpage_T *tp, *nexttp;
int h = tabline_height();
+#ifdef FEAT_AUTOCMD
+ int count = tabpage_index(NULL);
+#endif
++RedrawingDisabled;
@@ -2138,6 +2141,11 @@ close_windows(
--RedrawingDisabled;
+#ifdef FEAT_AUTOCMD
+ if (count != tabpage_index(NULL))
+ apply_autocmds(EVENT_TABCLOSED, NULL, NULL, FALSE, curbuf);
+#endif
+
redraw_tabline = TRUE;
if (h != tabline_height())
shell_new_rows();
@@ -2220,6 +2228,7 @@ close_last_window_tabpage(
/* Since goto_tabpage_tp above did not trigger *Enter autocommands, do
* that now. */
#ifdef FEAT_AUTOCMD
+ apply_autocmds(EVENT_TABCLOSED, NULL, NULL, FALSE, curbuf);
apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
if (old_curbuf != curbuf)