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+phanen@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
93318a9933
commit
cb27992cda
@ -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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -41686,6 +41686,7 @@ Others: ~
|
|||||||
- |CTRL-C| always closes the active |popup-window|.
|
- |CTRL-C| always closes the active |popup-window|.
|
||||||
- the configure script will favor using GTK3 over GTK2 when auto-detecting the
|
- the configure script will favor using GTK3 over GTK2 when auto-detecting the
|
||||||
gui toolkit
|
gui toolkit
|
||||||
|
- |gv| works in operator pending mode and does not abort
|
||||||
|
|
||||||
*added-9.2*
|
*added-9.2*
|
||||||
Added ~
|
Added ~
|
||||||
|
|||||||
@ -5676,9 +5676,6 @@ nv_gv_cmd(cmdarg_T *cap)
|
|||||||
pos_T tpos;
|
pos_T tpos;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (checkclearop(cap->oap))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (curbuf->b_visual.vi_start.lnum == 0
|
if (curbuf->b_visual.vi_start.lnum == 0
|
||||||
|| curbuf->b_visual.vi_start.lnum > curbuf->b_ml.ml_line_count
|
|| curbuf->b_visual.vi_start.lnum > curbuf->b_ml.ml_line_count
|
||||||
|| curbuf->b_visual.vi_end.lnum == 0)
|
|| curbuf->b_visual.vi_end.lnum == 0)
|
||||||
|
|||||||
@ -2604,8 +2604,14 @@ func Test_normal33_g_cmd2()
|
|||||||
exe "norm! G0\<c-v>4k4ly"
|
exe "norm! G0\<c-v>4k4ly"
|
||||||
exe "norm! gvood"
|
exe "norm! gvood"
|
||||||
call assert_equal(['', 'abfgh', 'abfgh', 'abfgh', 'fgh', 'fgh', 'fgh', 'fgh', 'fgh'], getline(1,'$'))
|
call assert_equal(['', 'abfgh', 'abfgh', 'abfgh', 'fgh', 'fgh', 'fgh', 'fgh', 'fgh'], getline(1,'$'))
|
||||||
" gv cannot be used in operator pending mode
|
" gv works in operator pending mode
|
||||||
call assert_beeps('normal! cgv')
|
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
|
" gv should beep without a previously selected visual area
|
||||||
new
|
new
|
||||||
call assert_beeps('normal! gv')
|
call assert_beeps('normal! gv')
|
||||||
|
|||||||
@ -709,6 +709,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1464,
|
||||||
/**/
|
/**/
|
||||||
1463,
|
1463,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user