Karsten Hopp f10224
To: vim_dev@googlegroups.com
Karsten Hopp f10224
Subject: Patch 7.3.550
Karsten Hopp f10224
Fcc: outbox
Karsten Hopp f10224
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp f10224
Mime-Version: 1.0
Karsten Hopp f10224
Content-Type: text/plain; charset=UTF-8
Karsten Hopp f10224
Content-Transfer-Encoding: 8bit
Karsten Hopp f10224
------------
Karsten Hopp f10224
Karsten Hopp f10224
Patch 7.3.550 (after 7.3.541)
Karsten Hopp f10224
Problem:    With "j" in 'formatoptions' a list leader is not removed. (Gary
Karsten Hopp f10224
	    Johnson)
Karsten Hopp f10224
Solution:   Don't ignore the start of a three part comment. (Lech Lorens)
Karsten Hopp f10224
Files:	    src/ops.c, src/testdir/test29.in, src/testdir/test29.ok
Karsten Hopp f10224
Karsten Hopp f10224
Karsten Hopp f10224
*** ../vim-7.3.549/src/ops.c	2012-06-07 21:09:35.000000000 +0200
Karsten Hopp f10224
--- src/ops.c	2012-06-13 13:48:26.000000000 +0200
Karsten Hopp f10224
***************
Karsten Hopp f10224
*** 4250,4264 ****
Karsten Hopp f10224
  	return line;
Karsten Hopp f10224
  
Karsten Hopp f10224
      /* Find:
Karsten Hopp f10224
-      * - COM_START,
Karsten Hopp f10224
       * - COM_END,
Karsten Hopp f10224
       * - colon,
Karsten Hopp f10224
       * whichever comes first.
Karsten Hopp f10224
       */
Karsten Hopp f10224
      while (*comment_flags)
Karsten Hopp f10224
      {
Karsten Hopp f10224
! 	if (*comment_flags == COM_START
Karsten Hopp f10224
! 		|| *comment_flags == COM_END
Karsten Hopp f10224
  		|| *comment_flags == ':')
Karsten Hopp f10224
  	{
Karsten Hopp f10224
  	    break;
Karsten Hopp f10224
--- 4250,4262 ----
Karsten Hopp f10224
  	return line;
Karsten Hopp f10224
  
Karsten Hopp f10224
      /* Find:
Karsten Hopp f10224
       * - COM_END,
Karsten Hopp f10224
       * - colon,
Karsten Hopp f10224
       * whichever comes first.
Karsten Hopp f10224
       */
Karsten Hopp f10224
      while (*comment_flags)
Karsten Hopp f10224
      {
Karsten Hopp f10224
! 	if (*comment_flags == COM_END
Karsten Hopp f10224
  		|| *comment_flags == ':')
Karsten Hopp f10224
  	{
Karsten Hopp f10224
  	    break;
Karsten Hopp f10224
***************
Karsten Hopp f10224
*** 4267,4275 ****
Karsten Hopp f10224
      }
Karsten Hopp f10224
  
Karsten Hopp f10224
      /* If we found a colon, it means that we are not processing a line
Karsten Hopp f10224
!      * starting with an opening or a closing part of a three-part
Karsten Hopp f10224
!      * comment. That's good, because we don't want to remove those as
Karsten Hopp f10224
!      * this would be annoying.
Karsten Hopp f10224
       */
Karsten Hopp f10224
      if (*comment_flags == ':' || *comment_flags == NUL)
Karsten Hopp f10224
  	line += lead_len;
Karsten Hopp f10224
--- 4265,4272 ----
Karsten Hopp f10224
      }
Karsten Hopp f10224
  
Karsten Hopp f10224
      /* If we found a colon, it means that we are not processing a line
Karsten Hopp f10224
!      * starting with a closing part of a three-part comment. That's good,
Karsten Hopp f10224
!      * because we don't want to remove those as this would be annoying.
Karsten Hopp f10224
       */
Karsten Hopp f10224
      if (*comment_flags == ':' || *comment_flags == NUL)
Karsten Hopp f10224
  	line += lead_len;
Karsten Hopp f10224
*** ../vim-7.3.549/src/testdir/test29.in	2012-06-06 16:12:54.000000000 +0200
Karsten Hopp f10224
--- src/testdir/test29.in	2012-06-13 13:48:26.000000000 +0200
Karsten Hopp f10224
***************
Karsten Hopp f10224
*** 103,114 ****
Karsten Hopp f10224
  
Karsten Hopp f10224
  STARTTEST
Karsten Hopp f10224
  /^{/+1
Karsten Hopp f10224
! :set comments=s1:/*,mb:*,ex:*/,://
Karsten Hopp f10224
  :set comments+=s1:>#,mb:#,ex:#<,:<
Karsten Hopp f10224
  :set cpoptions-=j joinspaces fo=j
Karsten Hopp f10224
  :set backspace=eol,start
Karsten Hopp f10224
  :.,+3join
Karsten Hopp f10224
  j4J
Karsten Hopp f10224
  :.,+2join
Karsten Hopp f10224
  j3J
Karsten Hopp f10224
  :.,+2join
Karsten Hopp f10224
--- 103,117 ----
Karsten Hopp f10224
  
Karsten Hopp f10224
  STARTTEST
Karsten Hopp f10224
  /^{/+1
Karsten Hopp f10224
! :set comments=sO:*\ -,mO:*\ \ ,exO:*/
Karsten Hopp f10224
! :set comments+=s1:/*,mb:*,ex:*/,://
Karsten Hopp f10224
  :set comments+=s1:>#,mb:#,ex:#<,:<
Karsten Hopp f10224
  :set cpoptions-=j joinspaces fo=j
Karsten Hopp f10224
  :set backspace=eol,start
Karsten Hopp f10224
  :.,+3join
Karsten Hopp f10224
  j4J
Karsten Hopp f10224
+ :.,+8join
Karsten Hopp f10224
+ j9J
Karsten Hopp f10224
  :.,+2join
Karsten Hopp f10224
  j3J
Karsten Hopp f10224
  :.,+2join
Karsten Hopp f10224
***************
Karsten Hopp f10224
*** 132,137 ****
Karsten Hopp f10224
--- 135,158 ----
Karsten Hopp f10224
   * Make sure the previous comment leader is not removed.
Karsten Hopp f10224
   */
Karsten Hopp f10224
  
Karsten Hopp f10224
+ /* List:
Karsten Hopp f10224
+  * - item1
Karsten Hopp f10224
+  *   foo bar baz
Karsten Hopp f10224
+  *   foo bar baz
Karsten Hopp f10224
+  * - item2
Karsten Hopp f10224
+  *   foo bar baz
Karsten Hopp f10224
+  *   foo bar baz
Karsten Hopp f10224
+  */
Karsten Hopp f10224
+ 
Karsten Hopp f10224
+ /* List:
Karsten Hopp f10224
+  * - item1
Karsten Hopp f10224
+  *   foo bar baz
Karsten Hopp f10224
+  *   foo bar baz
Karsten Hopp f10224
+  * - item2
Karsten Hopp f10224
+  *   foo bar baz
Karsten Hopp f10224
+  *   foo bar baz
Karsten Hopp f10224
+  */
Karsten Hopp f10224
+ 
Karsten Hopp f10224
  // Should the next comment leader be left alone?
Karsten Hopp f10224
  // Yes.
Karsten Hopp f10224
  
Karsten Hopp f10224
*** ../vim-7.3.549/src/testdir/test29.ok	2012-06-06 16:12:54.000000000 +0200
Karsten Hopp f10224
--- src/testdir/test29.ok	2012-06-13 13:48:26.000000000 +0200
Karsten Hopp f10224
***************
Karsten Hopp f10224
*** 66,71 ****
Karsten Hopp f10224
--- 66,73 ----
Karsten Hopp f10224
  {
Karsten Hopp f10224
  /* Make sure the previous comment leader is not removed.  */
Karsten Hopp f10224
  /* Make sure the previous comment leader is not removed.  */
Karsten Hopp f10224
+ /* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */
Karsten Hopp f10224
+ /* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */
Karsten Hopp f10224
  // Should the next comment leader be left alone?  Yes.
Karsten Hopp f10224
  // Should the next comment leader be left alone?  Yes.
Karsten Hopp f10224
  /* Here the comment leader should be left intact. */ // And so should this one.
Karsten Hopp f10224
*** ../vim-7.3.549/src/version.c	2012-06-13 13:40:45.000000000 +0200
Karsten Hopp f10224
--- src/version.c	2012-06-13 13:50:23.000000000 +0200
Karsten Hopp f10224
***************
Karsten Hopp f10224
*** 716,717 ****
Karsten Hopp f10224
--- 716,719 ----
Karsten Hopp f10224
  {   /* Add new patch number below this line */
Karsten Hopp f10224
+ /**/
Karsten Hopp f10224
+     550,
Karsten Hopp f10224
  /**/
Karsten Hopp f10224
Karsten Hopp f10224
-- 
Karsten Hopp f10224
If you put 7 of the most talented OSS developers in a room for a week
Karsten Hopp f10224
and asked them to fix a bug in a spreadsheet program, in 1 week
Karsten Hopp f10224
you'd have 2 new mail readers and a text-based web browser.
Karsten Hopp f10224
Karsten Hopp f10224
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp f10224
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp f10224
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp f10224
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///