| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
|
|
|
|
|
| |
Problem: Typos and small problems in source files.
Solution: Small fixes.
|
|
|
|
|
| |
Problem: Executing regexp recursively fails with a crash.
Solution: Move global variables into "rex".
|
|
|
|
|
|
|
|
| |
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: Modelines in source code are inconsistant.
Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
|
|
|
|
|
|
|
| |
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: Duplicate code in regexec().
Solution: Add line_lbr flag to regexec_nl().
|
|
|
|
|
| |
Problem: HP-UX compiler can't handle zero size array. (Charles Cooper)
Solution: Make the array one item big.
|
|
|
|
|
|
| |
Problem: New regexp engine: Matching plain text could be faster.
Solution: Detect a plain text match and handle it specifically. Add
vim_regfree().
|
|
|
|
|
| |
Problem: New regexp engine: negated flag is hardly used.
Solution: Add separate _NEG states, remove negated flag.
|
|
|
|
|
|
| |
Problem: New regexp engine is a bit slow.
Solution: Skip ahead to a character that must match. Don't try matching a
"^" patter past the start of line.
|
|
|
|
|
|
| |
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 engine does not support \z1 .. \z9 and \z(.
Solution: Implement the syntax submatches.
|
|
|
|
|
| |
Problem: New regexp engine: backreferences don't work correctly.
Solution: Add every possible start/end position on the state stack.
|
|
|
|
|
| |
Problem: New regexp engine does not support \%23c, \%<23c and the like.
Solution: Implement them. (partly by Yasuhiro Matsumoto)
|
|
|
|
|
| |
Problem: "\1" .. "\9" are not supported in the new regexp engine.
Solution: Implement them. Add a few more tests.
|
|
|
|
|
| |
Problem: New regexp performance: Copying a lot of position state.
Solution: Only copy the sub-expressions that are being used.
|
|
|
|
|
|
|
| |
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: Zero width match changes length of match.
Solution: For a zero width match put new states in the current position in
the state list.
|
|
|
|
|
| |
Problem: Unused field in nfa_state.
Solution: Remove lastthread.
|
|
|
|
|
|
|
| |
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)
|
| |
|
| |
|
|
|