summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2012-06-13 14:01:41 +0200
committerBram Moolenaar <Bram@vim.org>2012-06-13 14:01:41 +0200
commite04a48f20413f3f926d26394fad6431795348af7 (patch)
tree24168dd25a64d6e0df9cb21bdb0695070f38c5cb
parent48d279215f08667ccfa243afe874ef93e228dd57 (diff)
downloadvim-git-e04a48f20413f3f926d26394fad6431795348af7.tar.gz
updated for version 7.3.550v7.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)
-rw-r--r--src/ops.c9
-rw-r--r--src/testdir/test29.in23
-rw-r--r--src/testdir/test29.ok2
-rw-r--r--src/version.c2
4 files changed, 29 insertions, 7 deletions
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
@@ -715,6 +715,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 550,
+/**/
549,
/**/
548,