changeset 12829:91222b3123ba v8.0.1291

patch 8.0.1291: C indent wrong when * immediately follows comment commit https://github.com/vim/vim/commit/f8c53d3d268fc67a29c8c1a4e76fae85762e11b5 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Nov 12 15:36:38 2017 +0100 patch 8.0.1291: C indent wrong when * immediately follows comment Problem: C indent wrong when * immediately follows comment. (John Bowler) Solution: Do not see "/*" after "*" as a comment start. (closes https://github.com/vim/vim/issues/2321)
author Christian Brabandt <cb@256bit.org>
date Sun, 12 Nov 2017 15:45:05 +0100
parents a9f1e7cf5b0f
children 36e0c6ef69e8
files src/search.c src/testdir/test3.in src/testdir/test3.ok src/version.c
diffstat 4 files changed, 20 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/search.c
+++ b/src/search.c
@@ -2280,7 +2280,7 @@ findmatchlimit(
 	    {
 		/*
 		 * A comment may contain / * or / /, it may also start or end
-		 * with / * /.	Ignore a / * after / /.
+		 * with / * /.	Ignore a / * after / / and after *.
 		 */
 		if (pos.col == 0)
 		    continue;
@@ -2306,6 +2306,7 @@ findmatchlimit(
 		}
 		else if (  linep[pos.col - 1] == '/'
 			&& linep[pos.col] == '*'
+			&& (pos.col == 1 || linep[pos.col - 2] != '*')
 			&& (int)pos.col < comment_col)
 		{
 		    count++;
--- a/src/testdir/test3.in
+++ b/src/testdir/test3.in
@@ -2339,6 +2339,16 @@ 4
 /* end of define */
 
 STARTTEST
+:set cin cino&
+/a = second
+ox
+ENDTEST
+
+{
+	a = second/*bug*/*line;
+}
+
+STARTTEST
 :g/^STARTTEST/.,/^ENDTEST/d
 :1;/start of AUTO/,$wq! test.out
 ENDTEST
--- a/src/testdir/test3.ok
+++ b/src/testdir/test3.ok
@@ -2094,3 +2094,9 @@ JSEND
 	4
 /* end of define */
 
+
+{
+	a = second/*bug*/*line;
+	x
+}
+
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1291,
+/**/
     1290,
 /**/
     1289,