To: vim_dev@googlegroups.com
Subject: Patch 7.3.651
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.3.651
Problem:    Completion after ":help \{-" gives an error message.
Solution:   Prepend a backslash.
Files:      src/ex_cmds.c


*** ../vim-7.3.650/src/ex_cmds.c	2012-08-08 16:50:40.000000000 +0200
--- src/ex_cmds.c	2012-09-05 15:10:13.000000000 +0200
***************
*** 4851,4857 ****
  #ifdef FEAT_EVAL
  		if (do_count)
  		{
! 		    /* prevent accidently changing the buffer by a function */
  		    save_ma = curbuf->b_p_ma;
  		    curbuf->b_p_ma = FALSE;
  		    sandbox++;
--- 4851,4857 ----
  #ifdef FEAT_EVAL
  		if (do_count)
  		{
! 		    /* prevent accidentally changing the buffer by a function */
  		    save_ma = curbuf->b_p_ma;
  		    curbuf->b_p_ma = FALSE;
  		    sandbox++;
***************
*** 5264,5270 ****
   * is assumed to be 'p' if missing.
   *
   * This is implemented in two passes: first we scan the file for the pattern and
!  * set a mark for each line that (not) matches. secondly we execute the command
   * for each line that has a mark. This is required because after deleting
   * lines we do not know where to search for the next match.
   */
--- 5264,5270 ----
   * is assumed to be 'p' if missing.
   *
   * This is implemented in two passes: first we scan the file for the pattern and
!  * set a mark for each line that (not) matches. Secondly we execute the command
   * for each line that has a mark. This is required because after deleting
   * lines we do not know where to search for the next match.
   */
***************
*** 5896,5904 ****
  	}
  	else
  	{
! 	  /* replace "[:...:]" with "\[:...:]"; "[+...]" with "\[++...]" */
! 	    if (arg[0] == '[' && (arg[1] == ':'
! 					 || (arg[1] == '+' && arg[2] == '+')))
  	      *d++ = '\\';
  
  	  for (s = arg; *s; ++s)
--- 5896,5909 ----
  	}
  	else
  	{
! 	  /* Replace:
! 	   * "[:...:]" with "\[:...:]"
! 	   * "[++...]" with "\[++...]"
! 	   * "\{" with "\\{"
! 	   */
! 	    if ((arg[0] == '[' && (arg[1] == ':'
! 			 || (arg[1] == '+' && arg[2] == '+')))
! 		    || (arg[0] == '\\' && arg[1] == '{'))
  	      *d++ = '\\';
  
  	  for (s = arg; *s; ++s)
*** ../vim-7.3.650/src/version.c	2012-09-05 15:03:27.000000000 +0200
--- src/version.c	2012-09-05 15:12:51.000000000 +0200
***************
*** 721,722 ****
--- 721,724 ----
  {   /* Add new patch number below this line */
+ /**/
+     651,
  /**/

-- 
GUARD #1:  Where'd you get the coconut?
ARTHUR:    We found them.
GUARD #1:  Found them?  In Mercea?  The coconut's tropical!
ARTHUR:    What do you mean?
GUARD #1:  Well, this is a temperate zone.
                                  The Quest for the Holy Grail (Monty Python)

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
