changeset 3580:297771eff080 v7.3.550

updated for version 7.3.550 Problem: With "j" in 'formatoptions' a list leader is not removed. (Gary Johnson) Solution: Don't ignore the start of a three part comment. (Lech Lorens)
author Bram Moolenaar <bram@vim.org>
date Wed, 13 Jun 2012 14:01:41 +0200
parents eabf1a91c2e4
children 277b3bc2dabb
files src/ops.c src/testdir/test29.in src/testdir/test29.ok src/version.c
diffstat 4 files changed, 29 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/ops.c
+++ b/src/ops.c
@@ -4250,15 +4250,13 @@ skip_comment(line, process, include_spac
 	return line;
 
     /* Find:
-     * - COM_START,
      * - COM_END,
      * - colon,
      * whichever comes first.
      */
     while (*comment_flags)
     {
-	if (*comment_flags == COM_START
-		|| *comment_flags == COM_END
+	if (*comment_flags == COM_END
 		|| *comment_flags == ':')
 	{
 	    break;
@@ -4267,9 +4265,8 @@ skip_comment(line, process, include_spac
     }
 
     /* If we found a colon, it means that we are not processing a line
-     * starting with an opening or a closing part of a three-part
-     * comment. That's good, because we don't want to remove those as
-     * this would be annoying.
+     * starting with a closing part of a three-part comment. That's good,
+     * because we don't want to remove those as this would be annoying.
      */
     if (*comment_flags == ':' || *comment_flags == NUL)
 	line += lead_len;
--- a/src/testdir/test29.in
+++ b/src/testdir/test29.in
@@ -103,12 +103,15 @@ if (condition) // Remove the next commen
 
 STARTTEST
 /^{/+1
-:set comments=s1:/*,mb:*,ex:*/,://
+:set comments=sO:*\ -,mO:*\ \ ,exO:*/
+:set comments+=s1:/*,mb:*,ex:*/,://
 :set comments+=s1:>#,mb:#,ex:#<,:<
 :set cpoptions-=j joinspaces fo=j
 :set backspace=eol,start
 :.,+3join
 j4J
+:.,+8join
+j9J
 :.,+2join
 j3J
 :.,+2join
@@ -132,6 +135,24 @@ ENDTEST
  * Make sure the previous comment leader is not removed.
  */
 
+/* List:
+ * - item1
+ *   foo bar baz
+ *   foo bar baz
+ * - item2
+ *   foo bar baz
+ *   foo bar baz
+ */
+
+/* List:
+ * - item1
+ *   foo bar baz
+ *   foo bar baz
+ * - item2
+ *   foo bar baz
+ *   foo bar baz
+ */
+
 // Should the next comment leader be left alone?
 // Yes.
 
--- a/src/testdir/test29.ok
+++ b/src/testdir/test29.ok
@@ -66,6 +66,8 @@ if (condition) // Remove the next commen
 {
 /* Make sure the previous comment leader is not removed.  */
 /* Make sure the previous comment leader is not removed.  */
+/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */
+/* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */
 // Should the next comment leader be left alone?  Yes.
 // Should the next comment leader be left alone?  Yes.
 /* Here the comment leader should be left intact. */ // And so should this one.
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    550,
+/**/
     549,
 /**/
     548,