patch 8.2.4737: // in JavaScript string recognized as comment
Problem: // in JavaScript string recognized as comment.
Solution: Only check for linecomment if 'cindent' is set. (closes #10151)
diff --git a/src/change.c b/src/change.c
index bc9195b..259f076 100644
--- a/src/change.c
+++ b/src/change.c
@@ -1659,7 +1659,7 @@
lead_len = get_leader_len(saved_line, &lead_flags,
dir == BACKWARD, TRUE);
#ifdef FEAT_CINDENT
- if (lead_len == 0 && do_cindent && dir == FORWARD)
+ if (lead_len == 0 && curbuf->b_p_cin && do_cindent && dir == FORWARD)
{
// Check for a line comment after code.
comment_start = check_linecomment(saved_line);
diff --git a/src/testdir/test_textformat.vim b/src/testdir/test_textformat.vim
index 3850213..1d4ade9 100644
--- a/src/testdir/test_textformat.vim
+++ b/src/testdir/test_textformat.vim
@@ -278,12 +278,25 @@
//
END
call assert_equal(expected, getline(1, '$'))
+
+ " using 'indentexpr' instead of 'cindent' does not repeat a comment
+ setl nocindent indentexpr=2
+ 3delete
+ normal 2Gox
+ let expected =<< trim END
+ nop;
+ val = val; // This is a comment
+ x
+ END
+ call assert_equal(expected, getline(1, '$'))
+ setl cindent indentexpr=
+ 3delete
+
normal 2GO
let expected =<< trim END
nop;
val = val; // This is a comment
- //
END
call assert_equal(expected, getline(1, '$'))
diff --git a/src/version.c b/src/version.c
index 737b54b..f119983 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4737,
+/**/
4736,
/**/
4735,