diff src/fileio.c @ 1923:3eb34a777f49 v7.2.220

updated for version 7.2-220
author vimboss
date Wed, 01 Jul 2009 15:13:56 +0000
parents eac2556d4620
children 40a8e388692b
line wrap: on
line diff
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -8441,13 +8441,16 @@ aucmd_prepbuf(aco, buf)
 	win_init_empty(aucmd_win); /* set cursor and topline to safe values */
 
 #ifdef FEAT_WINDOWS
-	/* Split the current window, put the aucmd_win in the upper half. */
+	/* Split the current window, put the aucmd_win in the upper half.
+	 * We don't want the BufEnter or WinEnter autocommands. */
+	block_autocmds();
 	make_snapshot(SNAP_AUCMD_IDX);
 	save_ea = p_ea;
 	p_ea = FALSE;
 	(void)win_split_ins(0, WSP_TOP, aucmd_win, 0);
 	(void)win_comp_pos();   /* recompute window positions */
 	p_ea = save_ea;
+	unblock_autocmds();
 #endif
 	curwin = aucmd_win;
     }
@@ -8474,7 +8477,8 @@ aucmd_restbuf(aco)
 	--curbuf->b_nwindows;
 #ifdef FEAT_WINDOWS
 	/* Find "aucmd_win", it can't be closed, but it may be in another tab
-	 * page. */
+	 * page. Do not trigger autocommands here. */
+	block_autocmds();
 	if (curwin != aucmd_win)
 	{
 	    tabpage_T	*tp;
@@ -8498,6 +8502,7 @@ aucmd_restbuf(aco)
 	last_status(FALSE);	    /* may need to remove last status line */
 	restore_snapshot(SNAP_AUCMD_IDX, FALSE);
 	(void)win_comp_pos();   /* recompute window positions */
+	unblock_autocmds();
 
 	if (win_valid(aco->save_curwin))
 	    curwin = aco->save_curwin;