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.
Problem: With some regexp patterns the NFA engine uses many states and
becomes very slow. To the user it looks like Vim freezes.
Solution: When the number of states reaches a limit fall back to the old
engine. (Christian Brabandt)
Problem: New regexp engine: saving and restoring lastlist in the states
takes a lot of time.
Solution: Use a second lastlist value for the first recursive call.
Problem: Can't build with regexp debugging. NFA debug output shows wrong
pattern.
Solution: Fix debugging code for recent changes. Add the pattern to the
program.
Problem: New regexp: End of matching pattern not set correctly. (Cesar
Romani)
Solution: Quit the loop after finding the match. Store nfa_has_zend in the
program.
Problem: Syntax highlighting can be slow.
Solution: Include the NFA regexp engine. Add the 'regexpengine' option to
select which one is used. (various authors, including Ken Takata,
Andrei Aiordachioaie, Russ Cox, Xiaozhou Liua, Ian Young)