Mercurial > vim
changeset 15089:e428882d6ffb v8.1.0555
patch 8.1.0555: crash when last search pat is set but not last substitute pat
commit https://github.com/vim/vim/commit/2fb8f684d888ad68b283ba8f9505106b5fb725be
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Dec 1 13:14:45 2018 +0100
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 01 Dec 2018 13:15:04 +0100 |
parents | 4460aef12c69 |
children | a5a7fa34aa88 |
files | src/search.c src/testdir/test_search.vim src/version.c |
diffstat | 3 files changed, 15 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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));
--- 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