Problem: There is no test for 'hlsearch' timing out.
Solution: Add a test.
call getchar(1)
enew!
endfunction
+
+func Test_hlsearch_hangs()
+ if !has('reltime') || !has('float')
+ return
+ endif
+
+ " This pattern takes forever to match, it should timeout.
+ help
+ let start = reltime()
+ set hlsearch nolazyredraw redrawtime=101
+ let @/ = '\%#=2\v(a|\1)*'
+ redraw
+ let elapsed = reltimefloat(reltime(start))
+ call assert_true(elapsed > 0.1)
+ call assert_true(elapsed < 1.0)
+ set nohlsearch redrawtime&
+ quit
+endfunc
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 644,
/**/
643,
/**/