Mercurial > vim
view src/testdir/test_spell.vim @ 11521:578df034735d v8.0.0643
patch 8.0.0643: when a pattern search is slow Vim becomes unusable
commit https://github.com/vim/vim/commit/fbd0b0af6800f6ff89857863d6a07ea03f09ff6c
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 17 18:44:21 2017 +0200
patch 8.0.0643: when a pattern search is slow Vim becomes unusable
Problem: When 'hlsearch' is set and matching with the last search pattern
is very slow, Vim becomes unusable. Cannot quit search by
pressing CTRL-C.
Solution: When the search times out set a flag and don't try again. Check
for timeout and CTRL-C in NFA loop that adds states.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 17 Jun 2017 18:45:04 +0200 |
parents | b3815e491811 |
children | 7798e9bcdb13 |
line wrap: on
line source
" Test spell checking " TODO: move test58 tests here if !has('spell') finish endif func Test_wrap_search() new call setline(1, ['The', '', 'A plong line with two zpelling mistakes', '', 'End']) set spell wrapscan normal ]s call assert_equal('plong', expand('<cword>')) normal ]s call assert_equal('zpelling', expand('<cword>')) normal ]s call assert_equal('plong', expand('<cword>')) bwipe! set nospell endfunc func Test_z_equal_on_invalid_utf8_word() split set spell call setline(1, "\xff") norm z= set nospell bwipe! endfunc func Test_spellreall() new set spell call assert_fails('spellrepall', 'E752:') call setline(1, ['A speling mistake. The same speling mistake.', \ 'Another speling mistake.']) call feedkeys(']s1z=', 'tx') call assert_equal('A spelling mistake. The same speling mistake.', getline(1)) call assert_equal('Another speling mistake.', getline(2)) spellrepall call assert_equal('A spelling mistake. The same spelling mistake.', getline(1)) call assert_equal('Another spelling mistake.', getline(2)) call assert_fails('spellrepall', 'E753:') set spell& bwipe! endfunc