From: Bram Moolenaar Date: Wed, 29 Dec 2021 15:15:47 +0000 (+0000) Subject: patch 8.2.3934: repeating line comment is undesired for "O" command X-Git-Tag: v8.2.3934 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ea5f373729589acb38ce3f3ca338e8a6d398bdc;p=thirdparty%2Fvim.git patch 8.2.3934: repeating line comment is undesired for "O" command Problem: Repeating line comment is undesired for "O" command. Solution: Do not copy line comment leader for "O". (closes #9426) --- diff --git a/src/change.c b/src/change.c index 1e008a4b00..bc77fa23da 100644 --- a/src/change.c +++ b/src/change.c @@ -1655,13 +1655,14 @@ open_line( lead_len = get_leader_len(saved_line, &lead_flags, dir == BACKWARD, TRUE); #ifdef FEAT_CINDENT - if (lead_len == 0 && do_cindent) + if (lead_len == 0 && do_cindent && dir == FORWARD) { + // Check for a line comment after code. comment_start = check_linecomment(saved_line); if (comment_start != MAXCOL) { lead_len = get_leader_len(saved_line + comment_start, - &lead_flags, dir == BACKWARD, TRUE); + &lead_flags, FALSE, TRUE); if (lead_len != 0) { lead_len += comment_start; diff --git a/src/testdir/test_textformat.vim b/src/testdir/test_textformat.vim index 07a9224c6b..1a7bb68728 100644 --- a/src/testdir/test_textformat.vim +++ b/src/testdir/test_textformat.vim @@ -238,6 +238,29 @@ func Test_format_c_comment() END call assert_equal(expected, getline(1, '$')) + " Using "o" repeates the line comment, "O" does not. + %del + let text =<< trim END + nop; + val = val; // This is a comment + END + call setline(1, text) + normal 2Go + let expected =<< trim END + nop; + val = val; // This is a comment + // + END + call assert_equal(expected, getline(1, '$')) + normal 2GO + let expected =<< trim END + nop; + + val = val; // This is a comment + // + END + call assert_equal(expected, getline(1, '$')) + bwipe! endfunc diff --git a/src/version.c b/src/version.c index 2b1ce02d50..e4b481bf27 100644 --- a/src/version.c +++ b/src/version.c @@ -749,6 +749,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3934, /**/ 3933, /**/