From: Bram Moolenaar Date: Wed, 13 Jun 2012 12:01:41 +0000 (+0200) Subject: updated for version 7.3.550 X-Git-Tag: v7.3.550 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e04a48f20413f3f926d26394fad6431795348af7;p=thirdparty%2Fvim.git 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) --- diff --git a/src/ops.c b/src/ops.c index 37c6aab48f..5383a7c6dd 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 cf24642d50..2df2f7077e 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 a5546abe84..902d52f49b 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 1e5d5cdb07..e3abb957c7 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, /**/