| To: vim_dev@googlegroups.com |
| Subject: Patch 7.4.003 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.4.003 |
| Problem: Memory access error in Ruby syntax highlighting. (Christopher Chow) |
| Solution: Refresh stale pointer. (James McCoy) |
| Files: src/regexp_nfa.c |
| |
| |
| |
| |
| |
| *** 4120,4126 **** |
| sub = &subs->norm; |
| } |
| #ifdef FEAT_SYN_HL |
| ! else if (state->c >= NFA_ZOPEN) |
| { |
| subidx = state->c - NFA_ZOPEN; |
| sub = &subs->synt; |
| --- 4120,4126 ---- |
| sub = &subs->norm; |
| } |
| #ifdef FEAT_SYN_HL |
| ! else if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9) |
| { |
| subidx = state->c - NFA_ZOPEN; |
| sub = &subs->synt; |
| |
| *** 4189,4194 **** |
| --- 4189,4201 ---- |
| } |
| |
| subs = addstate(l, state->out, subs, pim, off); |
| + /* "subs" may have changed, need to set "sub" again */ |
| + #ifdef FEAT_SYN_HL |
| + if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9) |
| + sub = &subs->synt; |
| + else |
| + #endif |
| + sub = &subs->norm; |
| |
| if (save_in_use == -1) |
| { |
| |
| *** 4237,4243 **** |
| sub = &subs->norm; |
| } |
| #ifdef FEAT_SYN_HL |
| ! else if (state->c >= NFA_ZCLOSE) |
| { |
| subidx = state->c - NFA_ZCLOSE; |
| sub = &subs->synt; |
| --- 4244,4250 ---- |
| sub = &subs->norm; |
| } |
| #ifdef FEAT_SYN_HL |
| ! else if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9) |
| { |
| subidx = state->c - NFA_ZCLOSE; |
| sub = &subs->synt; |
| |
| *** 4281,4286 **** |
| --- 4288,4300 ---- |
| } |
| |
| subs = addstate(l, state->out, subs, pim, off); |
| + /* "subs" may have changed, need to set "sub" again */ |
| + #ifdef FEAT_SYN_HL |
| + if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9) |
| + sub = &subs->synt; |
| + else |
| + #endif |
| + sub = &subs->norm; |
| |
| if (REG_MULTI) |
| sub->list.multi[subidx].end = save_lpos; |
| |
| |
| |
| *** 729,730 **** |
| --- 729,732 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 3, |
| /**/ |
| |
| -- |
| Where do you want to crash today? |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ an exciting new programming language -- http://www.Zimbu.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |