mirror of
https://github.com/vim/vim.git
synced 2025-07-04 23:07:33 -04:00
patch 8.1.1704: C-R C-W does not work after C-G when using 'incsearch'
Problem: C-R C-W does not work after C-G when using 'incsearch'. Solution: Put cursor at end of the match. (Yasuhiro Matsumoto, closes #4664)
This commit is contained in:
parent
6138640806
commit
69a5b86794
@ -713,6 +713,7 @@ may_adjust_incsearch_highlighting(
|
|||||||
save_viewstate(&is_state->old_viewstate);
|
save_viewstate(&is_state->old_viewstate);
|
||||||
update_screen(NOT_VALID);
|
update_screen(NOT_VALID);
|
||||||
redrawcmdline();
|
redrawcmdline();
|
||||||
|
curwin->w_cursor = is_state->match_end;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
vim_beep(BO_ERROR);
|
vim_beep(BO_ERROR);
|
||||||
|
@ -240,6 +240,10 @@ func Test_search_cmdline2()
|
|||||||
" go to previous match (on line 2)
|
" go to previous match (on line 2)
|
||||||
call feedkeys("/the\<C-G>\<C-G>\<C-G>\<C-T>\<C-T>\<C-T>\<cr>", 'tx')
|
call feedkeys("/the\<C-G>\<C-G>\<C-G>\<C-T>\<C-T>\<C-T>\<cr>", 'tx')
|
||||||
call assert_equal(' 2 these', getline('.'))
|
call assert_equal(' 2 these', getline('.'))
|
||||||
|
1
|
||||||
|
" go to previous match (on line 2)
|
||||||
|
call feedkeys("/the\<C-G>\<C-R>\<C-W>\<cr>", 'tx')
|
||||||
|
call assert_equal('theother', @/)
|
||||||
|
|
||||||
" Test 2: keep the view,
|
" Test 2: keep the view,
|
||||||
" after deleting a character from the search cmd
|
" after deleting a character from the search cmd
|
||||||
@ -251,7 +255,7 @@ func Test_search_cmdline2()
|
|||||||
call assert_equal({'lnum': 10, 'leftcol': 0, 'col': 4, 'topfill': 0, 'topline': 6, 'coladd': 0, 'skipcol': 0, 'curswant': 4}, winsaveview())
|
call assert_equal({'lnum': 10, 'leftcol': 0, 'col': 4, 'topfill': 0, 'topline': 6, 'coladd': 0, 'skipcol': 0, 'curswant': 4}, winsaveview())
|
||||||
|
|
||||||
" remove all history entries
|
" remove all history entries
|
||||||
for i in range(10)
|
for i in range(11)
|
||||||
call histdel('/')
|
call histdel('/')
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
@ -477,14 +481,14 @@ func Test_search_cmdline5()
|
|||||||
" Do not call test_override("char_avail", 1) so that <C-g> and <C-t> work
|
" Do not call test_override("char_avail", 1) so that <C-g> and <C-t> work
|
||||||
" regardless char_avail.
|
" regardless char_avail.
|
||||||
new
|
new
|
||||||
call setline(1, [' 1 the first', ' 2 the second', ' 3 the third'])
|
call setline(1, [' 1 the first', ' 2 the second', ' 3 the third', ''])
|
||||||
set incsearch
|
set incsearch
|
||||||
1
|
1
|
||||||
call feedkeys("/the\<c-g>\<c-g>\<cr>", 'tx')
|
call feedkeys("/the\<c-g>\<c-g>\<cr>", 'tx')
|
||||||
call assert_equal(' 3 the third', getline('.'))
|
call assert_equal(' 3 the third', getline('.'))
|
||||||
$
|
$
|
||||||
call feedkeys("?the\<c-t>\<c-t>\<c-t>\<cr>", 'tx')
|
call feedkeys("?the\<c-t>\<c-t>\<c-t>\<cr>", 'tx')
|
||||||
call assert_equal(' 2 the second', getline('.'))
|
call assert_equal(' 1 the first', getline('.'))
|
||||||
" clean up
|
" clean up
|
||||||
set noincsearch
|
set noincsearch
|
||||||
bw!
|
bw!
|
||||||
|
@ -777,6 +777,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 */
|
||||||
|
/**/
|
||||||
|
1704,
|
||||||
/**/
|
/**/
|
||||||
1703,
|
1703,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user