Try the following code:

    echo matchlist('abc', '\%#=1\v(\_.{-})\C(%(\V\\\v)*)@>(\V%\v|%$)')
    echo matchlist('abc', '\%#=2\v(\_.{-})\C(%(\V\\\v)*)@>(\V%\v|%$)')

. You will see that output differs: first version (with old engine) contains 
“abc” in first capturing group and full text, second version contains “abc” 
only in full text, but not in any capturing group. Given these regexes this 
should not be possible: all matched text is always covered by one of three 
capturing groups. The following regex seems to be the minimal example:

    echo matchlist('a', '\v(.)($)@>')

. Note: you can put into second parenthesis anything you like that does match 
and you can have any number of capturing group before capturing group with `@>` 
attached: all preceding groups will be empty.

Workaround: use non-capturing group for `@>` and surround it with capturing 
group.

-- 
-- 
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