mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:9.0.1356: cannot cancel "gr" with Esc
Problem: Cannot cancel "gr" with Esc. Solution: Make "gr<Esc>" do nothing. (closes vim/vim#12064)4f026ea9f1
N/A patches for version.c: vim-patch:9.0.1347: "gr CTRL-O" stays in Insert mode Problem: "gr CTRL-O" stays in Insert mode. (Pierre Ganty) Solution: Do not set restart_edit when "cmdchar" is 'v'. (closes vim/vim#12045)2824d1ee32
vim-patch:9.0.1349: "gr" with a count fails Problem: "gr" with a count fails. Solution: Break out of the loop only after using the count.3ddb1182b7
This commit is contained in:
parent
5e846978e3
commit
6644742c26
@ -4710,7 +4710,7 @@ static void nv_vreplace(cmdarg_T *cap)
|
||||
return;
|
||||
}
|
||||
|
||||
if (checkclearopq(cap->oap)) {
|
||||
if (checkclearopq(cap->oap) || cap->extra_char == ESC) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -580,6 +580,7 @@ func Test_edit_CTRL_G()
|
||||
call assert_equal([0, 3, 7, 0], getpos('.'))
|
||||
call feedkeys("i\<c-g>j\<esc>", 'tnix')
|
||||
call assert_equal([0, 3, 6, 0], getpos('.'))
|
||||
call assert_nobeep("normal! i\<c-g>\<esc>")
|
||||
bw!
|
||||
endfunc
|
||||
|
||||
@ -2080,20 +2081,6 @@ func Test_edit_CTRL_hat()
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
" Test "gr" followed by an Insert mode command does get out of Insert mode.
|
||||
func Test_edit_gr_special()
|
||||
enew
|
||||
call setline(1, ['abcdef', 'xxxxxx'])
|
||||
exe "normal! gr\<C-O>lx"
|
||||
call assert_equal("\<C-O>def", getline(1))
|
||||
|
||||
call setline(1, 'abcdef')
|
||||
exe "normal! 0gr\<C-G>lx"
|
||||
call assert_equal("\<C-G>def", getline(1))
|
||||
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
" Weird long file name was going over the end of NameBuff
|
||||
func Test_edit_overlong_file_name()
|
||||
CheckUnix
|
||||
|
@ -3283,9 +3283,9 @@ func Test_delete_until_paragraph()
|
||||
endfunc
|
||||
|
||||
" Test for the gr (virtual replace) command
|
||||
" Test for the bug fixed by 7.4.387
|
||||
func Test_gr_command()
|
||||
enew!
|
||||
" Test for the bug fixed by 7.4.387
|
||||
let save_cpo = &cpo
|
||||
call append(0, ['First line', 'Second line', 'Third line'])
|
||||
exe "normal i\<C-G>u"
|
||||
@ -3298,10 +3298,12 @@ func Test_gr_command()
|
||||
normal 4gro
|
||||
call assert_equal('ooooecond line', getline(2))
|
||||
let &cpo = save_cpo
|
||||
|
||||
normal! ggvegrx
|
||||
call assert_equal('xxxxx line', getline(1))
|
||||
exe "normal! gggr\<C-V>122"
|
||||
call assert_equal('zxxxx line', getline(1))
|
||||
|
||||
set virtualedit=all
|
||||
normal! 15|grl
|
||||
call assert_equal('zxxxx line l', getline(1))
|
||||
@ -3309,8 +3311,25 @@ func Test_gr_command()
|
||||
set nomodifiable
|
||||
call assert_fails('normal! grx', 'E21:')
|
||||
call assert_fails('normal! gRx', 'E21:')
|
||||
call assert_nobeep("normal! gr\<Esc>")
|
||||
set modifiable&
|
||||
enew!
|
||||
|
||||
call assert_nobeep("normal! gr\<Esc>")
|
||||
call assert_beeps("normal! cgr\<Esc>")
|
||||
|
||||
call assert_equal('zxxxx line l', getline(1))
|
||||
exe "normal! 2|gr\<C-V>\<Esc>"
|
||||
call assert_equal("z\<Esc>xx line l", getline(1))
|
||||
|
||||
call setline(1, 'abcdef')
|
||||
exe "normal! 0gr\<C-O>lx"
|
||||
call assert_equal("\<C-O>def", getline(1))
|
||||
|
||||
call setline(1, 'abcdef')
|
||||
exe "normal! 0gr\<C-G>lx"
|
||||
call assert_equal("\<C-G>def", getline(1))
|
||||
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
func Test_nv_hat_count()
|
||||
|
Loading…
Reference in New Issue
Block a user