changeset 28425:ef62a0ea2a78 v8.2.4737

patch 8.2.4737: // in JavaScript string recognized as comment Commit: https://github.com/vim/vim/commit/1655619717ff109ea8bf1002883636d5af345e48 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Apr 11 17:36:37 2022 +0100 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 https://github.com/vim/vim/issues/10151)
author Bram Moolenaar <Bram@vim.org>
date Mon, 11 Apr 2022 18:45:02 +0200
parents 6c275c41f7e5
children b6813029efe9
files src/change.c src/testdir/test_textformat.vim src/version.c
diffstat 3 files changed, 17 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/change.c
+++ b/src/change.c
@@ -1659,7 +1659,7 @@ open_line(
 	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);
--- a/src/testdir/test_textformat.vim
+++ b/src/testdir/test_textformat.vim
@@ -278,12 +278,25 @@ func Test_format_c_comment()
                       //
   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, '$'))
 
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4737,
+/**/
     4736,
 /**/
     4735,