Karsten Hopp 81c285
To: vim-dev@vim.org
Karsten Hopp 81c285
Subject: Patch 7.2.154
Karsten Hopp 81c285
Fcc: outbox
Karsten Hopp 81c285
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 81c285
Mime-Version: 1.0
Karsten Hopp 81c285
Content-Type: text/plain; charset=ISO-8859-1
Karsten Hopp 81c285
Content-Transfer-Encoding: 8bit
Karsten Hopp 81c285
------------
Karsten Hopp 81c285
Karsten Hopp 81c285
Patch 7.2.154 (after 7.2.132)
Karsten Hopp 81c285
Problem:    ":cd" is still possible in a SwapExists autocmd.
Karsten Hopp 81c285
Solution:   Set allbuf_lock in do_swapexists().
Karsten Hopp 81c285
Files:	    src/memline.c
Karsten Hopp 81c285
Karsten Hopp 81c285
Karsten Hopp 81c285
*** ../vim-7.2.153/src/memline.c	Wed Apr 22 15:37:12 2009
Karsten Hopp 81c285
--- src/memline.c	Wed Apr 22 15:54:48 2009
Karsten Hopp 81c285
***************
Karsten Hopp 81c285
*** 3771,3778 ****
Karsten Hopp 81c285
      set_vim_var_string(VV_SWAPCHOICE, NULL, -1);
Karsten Hopp 81c285
  
Karsten Hopp 81c285
      /* Trigger SwapExists autocommands with <afile> set to the file being
Karsten Hopp 81c285
!      * edited. */
Karsten Hopp 81c285
      apply_autocmds(EVENT_SWAPEXISTS, buf->b_fname, NULL, FALSE, NULL);
Karsten Hopp 81c285
  
Karsten Hopp 81c285
      set_vim_var_string(VV_SWAPNAME, NULL, -1);
Karsten Hopp 81c285
  
Karsten Hopp 81c285
--- 3771,3780 ----
Karsten Hopp 81c285
      set_vim_var_string(VV_SWAPCHOICE, NULL, -1);
Karsten Hopp 81c285
  
Karsten Hopp 81c285
      /* Trigger SwapExists autocommands with <afile> set to the file being
Karsten Hopp 81c285
!      * edited.  Disallow changing directory here. */
Karsten Hopp 81c285
!     ++allbuf_lock;
Karsten Hopp 81c285
      apply_autocmds(EVENT_SWAPEXISTS, buf->b_fname, NULL, FALSE, NULL);
Karsten Hopp 81c285
+     --allbuf_lock;
Karsten Hopp 81c285
  
Karsten Hopp 81c285
      set_vim_var_string(VV_SWAPNAME, NULL, -1);
Karsten Hopp 81c285
  
Karsten Hopp 81c285
***************
Karsten Hopp 81c285
*** 3798,3803 ****
Karsten Hopp 81c285
--- 3800,3806 ----
Karsten Hopp 81c285
   *
Karsten Hopp 81c285
   * Note: If BASENAMELEN is not correct, you will get error messages for
Karsten Hopp 81c285
   *	 not being able to open the swapfile
Karsten Hopp 81c285
+  * Note: May trigger SwapExists autocmd, pointers may change!
Karsten Hopp 81c285
   */
Karsten Hopp 81c285
      static char_u *
Karsten Hopp 81c285
  findswapname(buf, dirp, old_fname)
Karsten Hopp 81c285
*** ../vim-7.2.153/src/version.c	Wed Apr 22 15:37:12 2009
Karsten Hopp 81c285
--- src/version.c	Wed Apr 22 15:55:48 2009
Karsten Hopp 81c285
***************
Karsten Hopp 81c285
*** 678,679 ****
Karsten Hopp 81c285
--- 678,681 ----
Karsten Hopp 81c285
  {   /* Add new patch number below this line */
Karsten Hopp 81c285
+ /**/
Karsten Hopp 81c285
+     154,
Karsten Hopp 81c285
  /**/
Karsten Hopp 81c285
Karsten Hopp 81c285
-- 
Karsten Hopp 81c285
ARTHUR:  Be quiet!
Karsten Hopp 81c285
DENNIS:  Well you can't expect to wield supreme executive power just 'cause
Karsten Hopp 81c285
         some watery tart threw a sword at you!
Karsten Hopp 81c285
ARTHUR:  Shut up!
Karsten Hopp 81c285
DENNIS:  I mean, if I went around sayin' I was an empereror just because some
Karsten Hopp 81c285
         moistened bint had lobbed a scimitar at me they'd put me away!
Karsten Hopp 81c285
                                  The Quest for the Holy Grail (Monty Python)
Karsten Hopp 81c285
Karsten Hopp 81c285
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 81c285
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 81c285
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp 81c285
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///