mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.1.0555: crash when last search pat is set but not last substitute pat
Problem: Crash when last search pat is set but not last substitute pat. Solution: Do not mix up last search pattern and last subtitute pattern. (closes #3647)
This commit is contained in:
@@ -1385,7 +1385,7 @@ do_search(
|
||||
char_u *trunc;
|
||||
|
||||
if (*searchstr == NUL)
|
||||
p = spats[last_idx].pat;
|
||||
p = spats[0].pat;
|
||||
else
|
||||
p = searchstr;
|
||||
msgbuf = alloc((unsigned)(STRLEN(p) + 40));
|
||||
|
@@ -1142,3 +1142,15 @@ func Test_search_sentence()
|
||||
/\%'(
|
||||
/
|
||||
endfunc
|
||||
|
||||
" Test that there is no crash when there is a last search pattern but no last
|
||||
" substitute pattern.
|
||||
func Test_no_last_substitute_pat()
|
||||
" Use viminfo to set the last search pattern to a string and make the last
|
||||
" substitute pattern the most recent used and make it empty (NULL).
|
||||
call writefile(['~MSle0/bar', '~MSle0~&'], 'Xviminfo')
|
||||
rviminfo! Xviminfo
|
||||
call assert_fails('normal n', 'E35:')
|
||||
|
||||
call delete('Xviminfo')
|
||||
endfunc
|
||||
|
@@ -792,6 +792,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
555,
|
||||
/**/
|
||||
554,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user