Mercurial > vim
diff src/buffer.c @ 4354:c80838526eeb v7.3.926
updated for version 7.3.926
Problem: Autocommands are triggered by setwinvar() et al. Missing BufEnter
on :tabclose. Duplicate WinEnter on :tabclose. Wrong order of
events for :tablose and :tabnew.
Solution: Fix these autocommand events. (Zyx)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Mon, 06 May 2013 04:50:35 +0200 |
parents | 04736b4030ec |
children | 8360a59aa04b |
line wrap: on
line diff
--- a/src/buffer.c +++ b/src/buffer.c @@ -4551,7 +4551,7 @@ do_arg_all(count, forceit, keep_tabs) * When the ":tab" modifier was used do this for all tab pages. */ if (had_tab > 0) - goto_tabpage_tp(first_tabpage, TRUE); + goto_tabpage_tp(first_tabpage, TRUE, TRUE); for (;;) { tpnext = curtab->tp_next; @@ -4663,7 +4663,7 @@ do_arg_all(count, forceit, keep_tabs) if (!valid_tabpage(tpnext)) tpnext = first_tabpage; /* start all over...*/ # endif - goto_tabpage_tp(tpnext, TRUE); + goto_tabpage_tp(tpnext, TRUE, TRUE); } /* @@ -4767,13 +4767,13 @@ do_arg_all(count, forceit, keep_tabs) if (last_curtab != new_curtab) { if (valid_tabpage(last_curtab)) - goto_tabpage_tp(last_curtab, TRUE); + goto_tabpage_tp(last_curtab, TRUE, TRUE); if (win_valid(last_curwin)) win_enter(last_curwin, FALSE); } /* to window with first arg */ if (valid_tabpage(new_curtab)) - goto_tabpage_tp(new_curtab, TRUE); + goto_tabpage_tp(new_curtab, TRUE, TRUE); if (win_valid(new_curwin)) win_enter(new_curwin, FALSE); @@ -4825,7 +4825,7 @@ ex_buffer_all(eap) */ #ifdef FEAT_WINDOWS if (had_tab > 0) - goto_tabpage_tp(first_tabpage, TRUE); + goto_tabpage_tp(first_tabpage, TRUE, TRUE); for (;;) { #endif @@ -4865,7 +4865,7 @@ ex_buffer_all(eap) /* Without the ":tab" modifier only do the current tab page. */ if (had_tab == 0 || tpnext == NULL) break; - goto_tabpage_tp(tpnext, TRUE); + goto_tabpage_tp(tpnext, TRUE, TRUE); } #endif