Mercurial > vim
diff src/regexp_nfa.c @ 4877:9e36c6b1ebf4 v7.3.1184
updated for version 7.3.1184
Problem: Highlighting is sometimes wrong. (Axel Bender)
Solution: Fetch regline again when returning from recursive regmatch.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 13 Jun 2013 19:47:07 +0200 |
parents | a83fb2bd8c8e |
children | 6d935f45c489 |
line wrap: on
line diff
--- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -4495,7 +4495,6 @@ recursive_regmatch(state, pim, prog, sub int **listids; { char_u *save_reginput = reginput; - char_u *save_regline = regline; int save_reglnum = reglnum; int save_nfa_match = nfa_match; int save_nfa_listid = nfa_listid; @@ -4633,8 +4632,9 @@ recursive_regmatch(state, pim, prog, sub /* restore position in input text */ reginput = save_reginput; - regline = save_regline; reglnum = save_reglnum; + if (REG_MULTI) + regline = reg_getline(reglnum); nfa_match = save_nfa_match; nfa_endp = save_nfa_endp; nfa_listid = save_nfa_listid;