Karsten Hopp b91ca1
To: vim-dev@vim.org
Karsten Hopp b91ca1
Subject: patch 7.1.125
Karsten Hopp b91ca1
Fcc: outbox
Karsten Hopp b91ca1
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp b91ca1
Mime-Version: 1.0
Karsten Hopp b91ca1
Content-Type: text/plain; charset=ISO-8859-1
Karsten Hopp b91ca1
Content-Transfer-Encoding: 8bit
Karsten Hopp b91ca1
------------
Karsten Hopp b91ca1
Karsten Hopp b91ca1
Patch 7.1.125
Karsten Hopp b91ca1
Problem:    The TermResponse autocommand event is not always triggered. (Aron
Karsten Hopp b91ca1
	    Griffis)
Karsten Hopp b91ca1
Solution:   When unblocking autocommands check if v:termresponse changed and
Karsten Hopp b91ca1
	    trigger the event then.
Karsten Hopp b91ca1
Files:	    src/buffer.c, src/diff.c, src/ex_getln.c, src/fileio.c,
Karsten Hopp b91ca1
	    src/globals.h, src/misc2.c, src/proto/fileio.pro, src/window.c
Karsten Hopp b91ca1
Karsten Hopp b91ca1
Karsten Hopp b91ca1
*** ../vim-7.1.124/src/buffer.c	Sun Aug 12 15:50:26 2007
Karsten Hopp b91ca1
--- src/buffer.c	Wed Sep 26 20:05:38 2007
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 5515,5525 ****
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
      if (!aucmd)		    /* Don't trigger BufDelete autocommands here. */
Karsten Hopp b91ca1
! 	++autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
      close_buffer(NULL, buf, DOBUF_WIPE);
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
      if (!aucmd)
Karsten Hopp b91ca1
! 	--autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  }
Karsten Hopp b91ca1
--- 5512,5522 ----
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
      if (!aucmd)		    /* Don't trigger BufDelete autocommands here. */
Karsten Hopp b91ca1
! 	block_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
      close_buffer(NULL, buf, DOBUF_WIPE);
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
      if (!aucmd)
Karsten Hopp b91ca1
! 	unblock_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  }
Karsten Hopp b91ca1
*** ../vim-7.1.124/src/diff.c	Tue Feb 20 04:43:13 2007
Karsten Hopp b91ca1
--- src/diff.c	Tue Sep 25 22:01:40 2007
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 840,850 ****
Karsten Hopp b91ca1
  		    tmp_orig, tmp_new);
Karsten Hopp b91ca1
  	    append_redir(cmd, p_srr, tmp_diff);
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	    ++autocmd_block;	/* Avoid ShellCmdPost stuff */
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  	    (void)call_shell(cmd, SHELL_FILTER|SHELL_SILENT|SHELL_DOOUT);
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	    --autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  	    vim_free(cmd);
Karsten Hopp b91ca1
  	}
Karsten Hopp b91ca1
--- 840,850 ----
Karsten Hopp b91ca1
  		    tmp_orig, tmp_new);
Karsten Hopp b91ca1
  	    append_redir(cmd, p_srr, tmp_diff);
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	    block_autocmds();	/* Avoid ShellCmdPost stuff */
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  	    (void)call_shell(cmd, SHELL_FILTER|SHELL_SILENT|SHELL_DOOUT);
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	    unblock_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  	    vim_free(cmd);
Karsten Hopp b91ca1
  	}
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 949,959 ****
Karsten Hopp b91ca1
  # endif
Karsten Hopp b91ca1
  		eap->arg);
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	++autocmd_block;	/* Avoid ShellCmdPost stuff */
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  	(void)call_shell(buf, SHELL_FILTER | SHELL_COOKED);
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	--autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
      }
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
--- 949,959 ----
Karsten Hopp b91ca1
  # endif
Karsten Hopp b91ca1
  		eap->arg);
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	block_autocmds();	/* Avoid ShellCmdPost stuff */
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  	(void)call_shell(buf, SHELL_FILTER | SHELL_COOKED);
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	unblock_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
      }
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
*** ../vim-7.1.124/src/ex_getln.c	Thu Sep 13 18:25:08 2007
Karsten Hopp b91ca1
--- src/ex_getln.c	Tue Sep 25 22:03:05 2007
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 5925,5931 ****
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  # ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
      /* Don't execute autocommands while creating the window. */
Karsten Hopp b91ca1
!     ++autocmd_block;
Karsten Hopp b91ca1
  # endif
Karsten Hopp b91ca1
      /* don't use a new tab page */
Karsten Hopp b91ca1
      cmdmod.tab = 0;
Karsten Hopp b91ca1
--- 5925,5931 ----
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  # ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
      /* Don't execute autocommands while creating the window. */
Karsten Hopp b91ca1
!     block_autocmds();
Karsten Hopp b91ca1
  # endif
Karsten Hopp b91ca1
      /* don't use a new tab page */
Karsten Hopp b91ca1
      cmdmod.tab = 0;
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 5934,5939 ****
Karsten Hopp b91ca1
--- 5934,5942 ----
Karsten Hopp b91ca1
      if (win_split((int)p_cwh, WSP_BOT) == FAIL)
Karsten Hopp b91ca1
      {
Karsten Hopp b91ca1
  	beep_flush();
Karsten Hopp b91ca1
+ # ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
+ 	unblock_autocmds();
Karsten Hopp b91ca1
+ # endif
Karsten Hopp b91ca1
  	return K_IGNORE;
Karsten Hopp b91ca1
      }
Karsten Hopp b91ca1
      cmdwin_type = ccline.cmdfirstc;
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 5956,5962 ****
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  # ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
      /* Do execute autocommands for setting the filetype (load syntax). */
Karsten Hopp b91ca1
!     --autocmd_block;
Karsten Hopp b91ca1
  # endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      /* Showing the prompt may have set need_wait_return, reset it. */
Karsten Hopp b91ca1
--- 5959,5965 ----
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  # ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
      /* Do execute autocommands for setting the filetype (load syntax). */
Karsten Hopp b91ca1
!     unblock_autocmds();
Karsten Hopp b91ca1
  # endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      /* Showing the prompt may have set need_wait_return, reset it. */
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 6110,6116 ****
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  # ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
  	/* Don't execute autocommands while deleting the window. */
Karsten Hopp b91ca1
! 	++autocmd_block;
Karsten Hopp b91ca1
  # endif
Karsten Hopp b91ca1
  	wp = curwin;
Karsten Hopp b91ca1
  	bp = curbuf;
Karsten Hopp b91ca1
--- 6113,6119 ----
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  # ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
  	/* Don't execute autocommands while deleting the window. */
Karsten Hopp b91ca1
! 	block_autocmds();
Karsten Hopp b91ca1
  # endif
Karsten Hopp b91ca1
  	wp = curwin;
Karsten Hopp b91ca1
  	bp = curbuf;
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 6122,6128 ****
Karsten Hopp b91ca1
  	win_size_restore(&winsizes);
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  # ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	--autocmd_block;
Karsten Hopp b91ca1
  # endif
Karsten Hopp b91ca1
      }
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
--- 6125,6131 ----
Karsten Hopp b91ca1
  	win_size_restore(&winsizes);
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  # ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	unblock_autocmds();
Karsten Hopp b91ca1
  # endif
Karsten Hopp b91ca1
      }
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
*** ../vim-7.1.124/src/fileio.c	Sun Aug 12 15:50:26 2007
Karsten Hopp b91ca1
--- src/fileio.c	Wed Sep 26 20:02:54 2007
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 7165,7170 ****
Karsten Hopp b91ca1
--- 7187,7193 ----
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  static event_T	last_event;
Karsten Hopp b91ca1
  static int	last_group;
Karsten Hopp b91ca1
+ static int	autocmd_blocked = 0;	/* block all autocmds */
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  /*
Karsten Hopp b91ca1
   * Show the autocommands for one AutoPat.
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 8454,8460 ****
Karsten Hopp b91ca1
       * Quickly return if there are no autocommands for this event or
Karsten Hopp b91ca1
       * autocommands are blocked.
Karsten Hopp b91ca1
       */
Karsten Hopp b91ca1
!     if (first_autopat[(int)event] == NULL || autocmd_block > 0)
Karsten Hopp b91ca1
  	goto BYPASS_AU;
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      /*
Karsten Hopp b91ca1
--- 8477,8483 ----
Karsten Hopp b91ca1
       * Quickly return if there are no autocommands for this event or
Karsten Hopp b91ca1
       * autocommands are blocked.
Karsten Hopp b91ca1
       */
Karsten Hopp b91ca1
!     if (first_autopat[(int)event] == NULL || autocmd_blocked > 0)
Karsten Hopp b91ca1
  	goto BYPASS_AU;
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      /*
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 8766,8771 ****
Karsten Hopp b91ca1
--- 8789,8828 ----
Karsten Hopp b91ca1
  	aubuflocal_remove(buf);
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      return retval;
Karsten Hopp b91ca1
+ }
Karsten Hopp b91ca1
+ 
Karsten Hopp b91ca1
+ # ifdef FEAT_EVAL
Karsten Hopp b91ca1
+ static char_u	*old_termresponse = NULL;
Karsten Hopp b91ca1
+ # endif
Karsten Hopp b91ca1
+ 
Karsten Hopp b91ca1
+ /*
Karsten Hopp b91ca1
+  * Block triggering autocommands until unblock_autocmd() is called.
Karsten Hopp b91ca1
+  * Can be used recursively, so long as it's symmetric.
Karsten Hopp b91ca1
+  */
Karsten Hopp b91ca1
+     void
Karsten Hopp b91ca1
+ block_autocmds()
Karsten Hopp b91ca1
+ {
Karsten Hopp b91ca1
+ # ifdef FEAT_EVAL
Karsten Hopp b91ca1
+     /* Remember the value of v:termresponse. */
Karsten Hopp b91ca1
+     if (autocmd_blocked == 0)
Karsten Hopp b91ca1
+ 	old_termresponse = get_vim_var_str(VV_TERMRESPONSE);
Karsten Hopp b91ca1
+ # endif
Karsten Hopp b91ca1
+     ++autocmd_blocked;
Karsten Hopp b91ca1
+ }
Karsten Hopp b91ca1
+ 
Karsten Hopp b91ca1
+     void
Karsten Hopp b91ca1
+ unblock_autocmds()
Karsten Hopp b91ca1
+ {
Karsten Hopp b91ca1
+     --autocmd_blocked;
Karsten Hopp b91ca1
+ 
Karsten Hopp b91ca1
+ # ifdef FEAT_EVAL
Karsten Hopp b91ca1
+     /* When v:termresponse was set while autocommands were blocked, trigger
Karsten Hopp b91ca1
+      * the autocommands now.  Esp. useful when executing a shell command
Karsten Hopp b91ca1
+      * during startup (vimdiff). */
Karsten Hopp b91ca1
+     if (autocmd_blocked == 0
Karsten Hopp b91ca1
+ 		      && get_vim_var_str(VV_TERMRESPONSE) != old_termresponse)
Karsten Hopp b91ca1
+ 	apply_autocmds(EVENT_TERMRESPONSE, NULL, NULL, FALSE, curbuf);
Karsten Hopp b91ca1
+ # endif
Karsten Hopp b91ca1
  }
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  /*
Karsten Hopp b91ca1
*** ../vim-7.1.124/src/globals.h	Tue Sep 25 17:54:41 2007
Karsten Hopp b91ca1
--- src/globals.h	Tue Sep 25 22:03:39 2007
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 366,372 ****
Karsten Hopp b91ca1
  EXTERN int	autocmd_busy INIT(= FALSE);	/* Is apply_autocmds() busy? */
Karsten Hopp b91ca1
  EXTERN int	autocmd_no_enter INIT(= FALSE); /* *Enter autocmds disabled */
Karsten Hopp b91ca1
  EXTERN int	autocmd_no_leave INIT(= FALSE); /* *Leave autocmds disabled */
Karsten Hopp b91ca1
- EXTERN int	autocmd_block INIT(= 0);	/* block all autocmds */
Karsten Hopp b91ca1
  EXTERN int	modified_was_set;		/* did ":set modified" */
Karsten Hopp b91ca1
  EXTERN int	did_filetype INIT(= FALSE);	/* FileType event found */
Karsten Hopp b91ca1
  EXTERN int	keep_filetype INIT(= FALSE);	/* value for did_filetype when
Karsten Hopp b91ca1
--- 366,371 ----
Karsten Hopp b91ca1
*** ../vim-7.1.124/src/misc2.c	Thu May 10 19:58:47 2007
Karsten Hopp b91ca1
--- src/misc2.c	Tue Sep 25 22:04:39 2007
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 972,978 ****
Karsten Hopp b91ca1
  	return;
Karsten Hopp b91ca1
      entered = TRUE;
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
!     ++autocmd_block;	    /* don't want to trigger autocommands here */
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_WINDOWS
Karsten Hopp b91ca1
      /* close all tabs and windows */
Karsten Hopp b91ca1
--- 973,979 ----
Karsten Hopp b91ca1
  	return;
Karsten Hopp b91ca1
      entered = TRUE;
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
!     block_autocmds();	    /* don't want to trigger autocommands here */
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_WINDOWS
Karsten Hopp b91ca1
      /* close all tabs and windows */
Karsten Hopp b91ca1
*** ../vim-7.1.124/src/proto/fileio.pro	Thu Jun 28 21:57:08 2007
Karsten Hopp b91ca1
--- src/proto/fileio.pro	Wed Sep 26 20:05:02 2007
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 40,45 ****
Karsten Hopp b91ca1
--- 41,48 ----
Karsten Hopp b91ca1
  int trigger_cursorhold __ARGS((void));
Karsten Hopp b91ca1
  int has_cursormoved __ARGS((void));
Karsten Hopp b91ca1
  int has_cursormovedI __ARGS((void));
Karsten Hopp b91ca1
+ void block_autocmds __ARGS((void));
Karsten Hopp b91ca1
+ void unblock_autocmds __ARGS((void));
Karsten Hopp b91ca1
  int has_autocmd __ARGS((event_T event, char_u *sfname, buf_T *buf));
Karsten Hopp b91ca1
  char_u *get_augroup_name __ARGS((expand_T *xp, int idx));
Karsten Hopp b91ca1
  char_u *set_context_in_autocmd __ARGS((expand_T *xp, char_u *arg, int doautocmd));
Karsten Hopp b91ca1
*** ../vim-7.1.124/src/window.c	Tue Sep 25 14:50:19 2007
Karsten Hopp b91ca1
--- src/window.c	Tue Sep 25 22:05:45 2007
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 1291,1297 ****
Karsten Hopp b91ca1
       * Don't execute autocommands while creating the windows.  Must do that
Karsten Hopp b91ca1
       * when putting the buffers in the windows.
Karsten Hopp b91ca1
       */
Karsten Hopp b91ca1
!     ++autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      /* todo is number of windows left to create */
Karsten Hopp b91ca1
--- 1291,1297 ----
Karsten Hopp b91ca1
       * Don't execute autocommands while creating the windows.  Must do that
Karsten Hopp b91ca1
       * when putting the buffers in the windows.
Karsten Hopp b91ca1
       */
Karsten Hopp b91ca1
!     block_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      /* todo is number of windows left to create */
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 1313,1319 ****
Karsten Hopp b91ca1
  	}
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
!     --autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      /* return actual number of windows */
Karsten Hopp b91ca1
--- 1313,1319 ----
Karsten Hopp b91ca1
  	}
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
!     unblock_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      /* return actual number of windows */
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 3415,3421 ****
Karsten Hopp b91ca1
       * Don't execute autocommands while creating the tab pages.  Must do that
Karsten Hopp b91ca1
       * when putting the buffers in the windows.
Karsten Hopp b91ca1
       */
Karsten Hopp b91ca1
!     ++autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      for (todo = count - 1; todo > 0; --todo)
Karsten Hopp b91ca1
--- 3415,3421 ----
Karsten Hopp b91ca1
       * Don't execute autocommands while creating the tab pages.  Must do that
Karsten Hopp b91ca1
       * when putting the buffers in the windows.
Karsten Hopp b91ca1
       */
Karsten Hopp b91ca1
!     block_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      for (todo = count - 1; todo > 0; --todo)
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 3423,3429 ****
Karsten Hopp b91ca1
  	    break;
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
!     --autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      /* return actual number of tab pages */
Karsten Hopp b91ca1
--- 3423,3429 ----
Karsten Hopp b91ca1
  	    break;
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
!     unblock_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
      /* return actual number of tab pages */
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 4162,4168 ****
Karsten Hopp b91ca1
  	/* Don't execute autocommands while the window is not properly
Karsten Hopp b91ca1
  	 * initialized yet.  gui_create_scrollbar() may trigger a FocusGained
Karsten Hopp b91ca1
  	 * event. */
Karsten Hopp b91ca1
! 	++autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  	/*
Karsten Hopp b91ca1
  	 * link the window in the window list
Karsten Hopp b91ca1
--- 4162,4168 ----
Karsten Hopp b91ca1
  	/* Don't execute autocommands while the window is not properly
Karsten Hopp b91ca1
  	 * initialized yet.  gui_create_scrollbar() may trigger a FocusGained
Karsten Hopp b91ca1
  	 * event. */
Karsten Hopp b91ca1
! 	block_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  	/*
Karsten Hopp b91ca1
  	 * link the window in the window list
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 4207,4213 ****
Karsten Hopp b91ca1
  	foldInitWin(newwin);
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	--autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  #ifdef FEAT_SEARCH_EXTRA
Karsten Hopp b91ca1
  	newwin->w_match_head = NULL;
Karsten Hopp b91ca1
--- 4207,4213 ----
Karsten Hopp b91ca1
  	foldInitWin(newwin);
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
! 	unblock_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  #ifdef FEAT_SEARCH_EXTRA
Karsten Hopp b91ca1
  	newwin->w_match_head = NULL;
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 4232,4238 ****
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
      /* Don't execute autocommands while the window is halfway being deleted.
Karsten Hopp b91ca1
       * gui_mch_destroy_scrollbar() may trigger a FocusGained event. */
Karsten Hopp b91ca1
!     ++autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_MZSCHEME
Karsten Hopp b91ca1
--- 4232,4238 ----
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
      /* Don't execute autocommands while the window is halfway being deleted.
Karsten Hopp b91ca1
       * gui_mch_destroy_scrollbar() may trigger a FocusGained event. */
Karsten Hopp b91ca1
!     block_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_MZSCHEME
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 4295,4301 ****
Karsten Hopp b91ca1
      vim_free(wp);
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
!     --autocmd_block;
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  }
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
--- 4295,4301 ----
Karsten Hopp b91ca1
      vim_free(wp);
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
  #ifdef FEAT_AUTOCMD
Karsten Hopp b91ca1
!     unblock_autocmds();
Karsten Hopp b91ca1
  #endif
Karsten Hopp b91ca1
  }
Karsten Hopp b91ca1
  
Karsten Hopp b91ca1
*** ../vim-7.1.124/src/version.c	Sat Sep 29 13:15:29 2007
Karsten Hopp b91ca1
--- src/version.c	Sat Sep 29 14:08:31 2007
Karsten Hopp b91ca1
***************
Karsten Hopp b91ca1
*** 668,669 ****
Karsten Hopp b91ca1
--- 668,671 ----
Karsten Hopp b91ca1
  {   /* Add new patch number below this line */
Karsten Hopp b91ca1
+ /**/
Karsten Hopp b91ca1
+     125,
Karsten Hopp b91ca1
  /**/
Karsten Hopp b91ca1
Karsten Hopp b91ca1
-- 
Karsten Hopp b91ca1
MICHAEL PALIN PLAYED: 1ST SOLDIER WITH A KEEN INTEREST IN BIRDS, DENNIS, MR
Karsten Hopp b91ca1
                      DUCK (A VILLAGE CARPENTER WHO IS ALMOST KEENER THAN
Karsten Hopp b91ca1
                      ANYONE ELSE TO BURN WITCHES), THREE-HEADED KNIGHT, SIR
Karsten Hopp b91ca1
                      GALAHAD, KING OF SWAMP CASTLE, BROTHER MAYNARD'S ROOMATE
Karsten Hopp b91ca1
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
Karsten Hopp b91ca1
Karsten Hopp b91ca1
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp b91ca1
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp b91ca1
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp b91ca1
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///