Loading ...
Sorry, an error occurred while loading the content.

Patch 7.2.220

Expand Messages
  • Bram Moolenaar
    Patch 7.2.220 (after 7.2.215) Problem: a BufEnter autocommand that changes directory causes problems. (Ajit Thakkar) Solution: Disable autocommands when
    Message 1 of 1 , Jul 1, 2009
    • 0 Attachment
      Patch 7.2.220 (after 7.2.215)
      Problem: a BufEnter autocommand that changes directory causes problems.
      (Ajit Thakkar)
      Solution: Disable autocommands when opening a hidden buffer in a window.
      Files: src/fileio.c


      *** ../vim-7.2.219/src/fileio.c 2009-06-24 17:31:27.000000000 +0200
      --- src/fileio.c 2009-07-01 17:02:46.000000000 +0200
      ***************
      *** 8441,8453 ****
      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. */
      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;
      #endif
      curwin = aucmd_win;
      }
      --- 8441,8456 ----
      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.
      ! * 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,8480 ****
      --curbuf->b_nwindows;
      #ifdef FEAT_WINDOWS
      /* Find "aucmd_win", it can't be closed, but it may be in another tab
      ! * page. */
      if (curwin != aucmd_win)
      {
      tabpage_T *tp;
      --- 8477,8484 ----
      --curbuf->b_nwindows;
      #ifdef FEAT_WINDOWS
      /* Find "aucmd_win", it can't be closed, but it may be in another tab
      ! * page. Do not trigger autocommands here. */
      ! block_autocmds();
      if (curwin != aucmd_win)
      {
      tabpage_T *tp;
      ***************
      *** 8498,8503 ****
      --- 8502,8508 ----
      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;
      *** ../vim-7.2.219/src/version.c 2009-07-01 16:12:54.000000000 +0200
      --- src/version.c 2009-07-01 17:10:22.000000000 +0200
      ***************
      *** 678,679 ****
      --- 678,681 ----
      { /* Add new patch number below this line */
      + /**/
      + 220,
      /**/

      --
      Microsoft is to software what McDonalds is to gourmet cooking

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ download, build and distribute -- http://www.A-A-P.org ///
      \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    Your message has been successfully submitted and would be delivered to recipients shortly.