patch 9.1.1464: gv does not work in operator-pending mode

Commit: 
https://github.com/vim/vim/commit/cb27992cdadd3a17a9094096f0972fa806f0240d
Author: phanium <91544758+pha...@users.noreply.github.com>
Date:   Mon Jun 16 20:19:15 2025 +0200

    patch 9.1.1464: gv does not work in operator-pending mode
    
    Problem:  gv does not work in operator-pending mode
              (liushapku)
    Solution: remove the check for checkclearop in nv_gv_cmd()
              (phanium)
    
    fixes: #3666
    closes: #17551
    
    Signed-off-by: phanium <91544758+pha...@users.noreply.github.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index ec963aea7..cd72d7331 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt*  For Vim version 9.1.  Last change: 2025 May 28
+*version9.txt*  For Vim version 9.1.  Last change: 2025 Jun 16
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -41686,6 +41686,7 @@ Others: ~
 - |CTRL-C| always closes the active |popup-window|.
 - the configure script will favor using GTK3 over GTK2 when auto-detecting the
   gui toolkit
+- |gv| works in operator pending mode and does not abort
 
                                                        *added-9.2*
 Added ~
diff --git a/src/normal.c b/src/normal.c
index c631651a0..8758d4b75 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -5676,9 +5676,6 @@ nv_gv_cmd(cmdarg_T *cap)
     pos_T      tpos;
     int                i;
 
-    if (checkclearop(cap->oap))
-       return;
-
     if (curbuf->b_visual.vi_start.lnum == 0
            || curbuf->b_visual.vi_start.lnum > curbuf->b_ml.ml_line_count
            || curbuf->b_visual.vi_end.lnum == 0)
diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim
index 069651f6b..cbd90ec4e 100644
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -2604,8 +2604,14 @@ func Test_normal33_g_cmd2()
   exe "norm! G0\<c-v>4k4ly"
   exe "norm! gvood"
   call assert_equal(['', 'abfgh', 'abfgh', 'abfgh', 'fgh', 'fgh', 'fgh', 
'fgh', 'fgh'], getline(1,'$'))
-  " gv cannot be used in operator pending mode
-  call assert_beeps('normal! cgv')
+  " gv works in operator pending mode
+  call assert_nobeep('normal! cgvxyza')
+  call assert_equal(['', 'abfgh', 'abfgh', 'abfgh', 'xyza', 'xyza', 'xyza', 
'xyza', 'xyza'], getline(1,'$'))
+  exe "norm! ^\<c-v>Gydgv..cgvbc"
+  call assert_equal(['', 'abfgh', 'abfgh', 'abfgh', 'bc', 'bc', 'bc', 'bc', 
'bc'], getline(1,'$'))
+  exe "norm! v^GragggUgv"
+  call assert_equal(['', 'abfgh', 'abfgh', 'abfgh', 'bA', 'AA', 'AA', 'AA', 
'Ac'], getline(1,'$'))
+
   " gv should beep without a previously selected visual area
   new
   call assert_beeps('normal! gv')
diff --git a/src/version.c b/src/version.c
index 8d4cbf255..65199ad6d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -709,6 +709,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1464,
 /**/
     1463,
 /**/

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1uREap-002WKm-Bn%40256bit.org.

Raspunde prin e-mail lui