diff --git a/src/ops.c b/src/ops.c index 37c6aab48..5383a7c6d 100644 --- a/src/ops.c +++ b/src/ops.c @@ -4250,15 +4250,13 @@ skip_comment(line, process, include_space, is_comment) 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_space, is_comment) } /* 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; diff --git a/src/testdir/test29.in b/src/testdir/test29.in index cf24642d5..2df2f7077 100644 --- a/src/testdir/test29.in +++ b/src/testdir/test29.in @@ -103,12 +103,15 @@ if (condition) // Remove the next comment leader! 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. diff --git a/src/testdir/test29.ok b/src/testdir/test29.ok index a5546abe8..902d52f49 100644 --- a/src/testdir/test29.ok +++ b/src/testdir/test29.ok @@ -66,6 +66,8 @@ if (condition) // Remove the next comment leader! OK, I will. { /* 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. diff --git a/src/version.c b/src/version.c index 1e5d5cdb0..e3abb957c 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 550, /**/ 549, /**/