Mercurial > vim
diff src/testdir/test_search.vim @ 15914:c94b46f98b1a v8.1.0963
patch 8.1.0963: illegal memory access when using 'incsearch'
commit https://github.com/vim/vim/commit/4a7d2d3b407ed695450bb7f43166e2f2722a6836
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Feb 21 16:25:50 2019 +0100
patch 8.1.0963: illegal memory access when using 'incsearch'
Problem: Illegal memory access when using 'incsearch'.
Solution: Reset highlight_match when changing text. (closes https://github.com/vim/vim/issues/4022)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 21 Feb 2019 16:30:15 +0100 |
parents | 2dcaa860e3fc |
children | 22b51b13634d |
line wrap: on
line diff
--- a/src/testdir/test_search.vim +++ b/src/testdir/test_search.vim @@ -981,6 +981,30 @@ func Test_incsearch_substitute_dump() call delete('Xis_subst_script') endfunc +func Test_incsearch_with_change() + if !has('timers') || !exists('+incsearch') || !CanRunVimInTerminal() + return + endif + + call writefile([ + \ 'set incsearch hlsearch scrolloff=0', + \ 'call setline(1, ["one", "two ------ X", "three"])', + \ 'call timer_start(200, { _ -> setline(2, "x")})', + \ ], 'Xis_change_script') + let buf = RunVimInTerminal('-S Xis_change_script', {'rows': 9, 'cols': 70}) + " Give Vim a chance to redraw to get rid of the spaces in line 2 caused by + " the 'ambiwidth' check. + sleep 100m + + " Highlight X, it will be deleted by the timer callback. + call term_sendkeys(buf, ':%s/X') + call VerifyScreenDump(buf, 'Test_incsearch_change_01', {}) + call term_sendkeys(buf, "\<Esc>") + + call StopVimInTerminal(buf) + call delete('Xis_change_script') +endfunc + " Similar to Test_incsearch_substitute_dump() for :sort func Test_incsearch_sort_dump() if !exists('+incsearch')