diff options
-rw-r--r-- | src/search.c | 2 | ||||
-rw-r--r-- | src/testdir/test_search.vim | 12 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/src/search.c b/src/search.c index d7aa59278..6d245caff 100644 --- a/src/search.c +++ b/src/search.c @@ -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)); diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim index b05ed4271..eadb128e0 100644 --- a/src/testdir/test_search.vim +++ b/src/testdir/test_search.vim @@ -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 diff --git a/src/version.c b/src/version.c index 6cce56670..566f94da5 100644 --- a/src/version.c +++ b/src/version.c @@ -793,6 +793,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 555, +/**/ 554, /**/ 553, |