The problem is the NFA engine can't figure out how much a multi in a submatch 
should match.

I made a simplified case. We'll make a bunch of lines full of "a"s. This regex 
that uses the old engine matches lines with an even number of "a"s:

\%#=1\v^(a*)\1$

This makes sense. The submatch can match any number of "a"s. The backreference 
just tries to double it.

However, if you don't specify the engine, Vim defaults to NFA, and you get the 
power of 2 plus 2 behavior:

\v^(a*)\1$

For instance, this won't match a line of 8 "a"s, because apparently the a* in 
the submatch can't match 4 "a"s. This makes no sense.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Raspunde prin e-mail lui