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 -- [email protected] -- 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    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui