0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

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)
This commit is contained in:
Bram Moolenaar
2012-06-13 14:01:41 +02:00
parent 48d279215f
commit e04a48f204
4 changed files with 29 additions and 7 deletions

View File

@@ -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;

View File

@@ -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.

View File

@@ -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.

View File

@@ -714,6 +714,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
550,
/**/
549,
/**/