To: vim_dev@googlegroups.com
Subject: Patch 7.3.549
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.549
Problem:    In 'cinoptions' "0s" is interpreted as one shiftwidth. (David
	    Pineau)
Solution:   Use the zero as zero. (Lech Lorens)
Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok


*** ../vim-7.3.548/src/misc1.c	2012-06-06 16:12:54.000000000 +0200
--- src/misc1.c	2012-06-13 13:17:11.000000000 +0200
***************
*** 6635,6640 ****
--- 6635,6641 ----
      int		whilelevel;
      linenr_T	lnum;
      char_u	*options;
+     char_u	*digits;
      int		fraction = 0;	    /* init for GCC */
      int		divider;
      int		n;
***************
*** 6650,6655 ****
--- 6651,6657 ----
  	l = options++;
  	if (*options == '-')
  	    ++options;
+ 	digits = options;	    /* remember where the digits start */
  	n = getdigits(&options);
  	divider = 0;
  	if (*options == '.')	    /* ".5s" means a fraction */
***************
*** 6666,6672 ****
  	}
  	if (*options == 's')	    /* "2s" means two times 'shiftwidth' */
  	{
! 	    if (n == 0 && fraction == 0)
  		n = curbuf->b_p_sw;	/* just "s" is one 'shiftwidth' */
  	    else
  	    {
--- 6668,6674 ----
  	}
  	if (*options == 's')	    /* "2s" means two times 'shiftwidth' */
  	{
! 	    if (options == digits)
  		n = curbuf->b_p_sw;	/* just "s" is one 'shiftwidth' */
  	    else
  	    {
*** ../vim-7.3.548/src/testdir/test3.in	2012-04-05 17:17:38.000000000 +0200
--- src/testdir/test3.in	2012-06-13 13:17:31.000000000 +0200
***************
*** 977,982 ****
--- 977,1000 ----
  
  STARTTEST
  :set cin
+ :set cino=es,n0s
+ /main
+ =][
+ ENDTEST
+ 
+ main(void)
+ {
+ 	/* Make sure that cino=X0s is not parsed like cino=Xs. */
+ 	if (cond)
+ 		foo();
+ 	else
+ 	{
+ 		bar();
+ 	}
+ }
+ 
+ STARTTEST
+ :set cin
  :set cino=
  ]]=][
  ENDTEST
*** ../vim-7.3.548/src/testdir/test3.ok	2012-04-05 17:17:38.000000000 +0200
--- src/testdir/test3.ok	2012-06-13 13:17:31.000000000 +0200
***************
*** 940,945 ****
--- 940,957 ----
  }
  
  
+ main(void)
+ {
+ 	/* Make sure that cino=X0s is not parsed like cino=Xs. */
+ 	if (cond)
+ 		foo();
+ 	else
+ 	{
+ 		bar();
+ 	}
+ }
+ 
+ 
  {
  	do
  	{
*** ../vim-7.3.548/src/version.c	2012-06-07 21:09:35.000000000 +0200
--- src/version.c	2012-06-13 13:37:18.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     549,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
29. Your phone bill comes to your doorstep in a box.

 /// 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    ///
