aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/search.c3
-rw-r--r--test/functional/legacy/003_cindent_spec.lua17
2 files changed, 19 insertions, 1 deletions
diff --git a/src/nvim/search.c b/src/nvim/search.c
index 457a6c309d..dc4ae2e847 100644
--- a/src/nvim/search.c
+++ b/src/nvim/search.c
@@ -1849,7 +1849,7 @@ pos_T *findmatchlimit(oparg_T *oap, int initc, int flags, int64_t maxtravel)
} else { /* Searching backwards */
/*
* 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;
@@ -1874,6 +1874,7 @@ pos_T *findmatchlimit(oparg_T *oap, int initc, int flags, int64_t maxtravel)
}
} else if ( linep[pos.col - 1] == '/'
&& linep[pos.col] == '*'
+ && (pos.col == 1 || linep[pos.col - 2] != '*')
&& (int)pos.col < comment_col) {
count++;
match_pos = pos;
diff --git a/test/functional/legacy/003_cindent_spec.lua b/test/functional/legacy/003_cindent_spec.lua
index 1cede8a7d7..061904c42f 100644
--- a/test/functional/legacy/003_cindent_spec.lua
+++ b/test/functional/legacy/003_cindent_spec.lua
@@ -4754,4 +4754,21 @@ describe('cindent', function()
4
/* end of define */]=])
end)
+
+ it('* immediately follows comment / vim-patch 8.0.1291', function()
+ insert_([=[
+ {
+ a = second/*bug*/*line;
+ }]=])
+
+ feed_command('set cin cino&')
+ feed_command('/a = second')
+ feed('ox')
+
+ expect([=[
+ {
+ a = second/*bug*/*line;
+ x
+ }]=])
+ end)
end)