comparison src/syntax.c @ 36:125e80798a85 v7.0021

updated for version 7.0021
author vimboss
date Thu, 09 Dec 2004 21:34:53 +0000
parents 404aac550f35
children f529edb9bab3
comparison
equal deleted inserted replaced
35:8f3a526c2fe1 36:125e80798a85
2337 cur_si->si_end_idx = 0; 2337 cur_si->si_end_idx = 0;
2338 cur_si->si_m_endpos = cur_si->si_eoe_pos; 2338 cur_si->si_m_endpos = cur_si->si_eoe_pos;
2339 cur_si->si_h_endpos = cur_si->si_eoe_pos; 2339 cur_si->si_h_endpos = cur_si->si_eoe_pos;
2340 cur_si->si_flags |= HL_MATCH; 2340 cur_si->si_flags |= HL_MATCH;
2341 update_si_attr(current_state.ga_len - 1); 2341 update_si_attr(current_state.ga_len - 1);
2342
2343 /* what matches next may be different now, clear it */
2344 next_match_idx = 0;
2345 next_match_col = MAXCOL;
2342 break; 2346 break;
2343 } 2347 }
2344 else 2348 else
2345 { 2349 {
2346 /* handle next_list, unless at end of line and no "skipnl" or 2350 /* handle next_list, unless at end of line and no "skipnl" or
2437 } 2441 }
2438 else 2442 else
2439 { 2443 {
2440 sip->si_attr = CUR_STATE(idx - 1).si_attr; 2444 sip->si_attr = CUR_STATE(idx - 1).si_attr;
2441 sip->si_trans_id = CUR_STATE(idx - 1).si_trans_id; 2445 sip->si_trans_id = CUR_STATE(idx - 1).si_trans_id;
2446 sip->si_h_startpos = CUR_STATE(idx - 1).si_h_startpos;
2447 sip->si_h_endpos = CUR_STATE(idx - 1).si_h_endpos;
2442 if (sip->si_cont_list == NULL) 2448 if (sip->si_cont_list == NULL)
2443 { 2449 {
2444 sip->si_flags |= HL_TRANS_CONT; 2450 sip->si_flags |= HL_TRANS_CONT;
2445 sip->si_cont_list = CUR_STATE(idx - 1).si_cont_list; 2451 sip->si_cont_list = CUR_STATE(idx - 1).si_cont_list;
2446 } 2452 }
5618 short id = ssp->id; 5624 short id = ssp->id;
5619 static int depth = 0; 5625 static int depth = 0;
5620 int r; 5626 int r;
5621 5627
5622 /* If spp has a "containedin" list and "cur_si" is in it, return TRUE. */ 5628 /* If spp has a "containedin" list and "cur_si" is in it, return TRUE. */
5623 if (cur_si != NULL && ssp->cont_in_list != NULL) 5629 if (cur_si != NULL && ssp->cont_in_list != NULL
5630 && !(cur_si->si_flags & HL_MATCH))
5624 { 5631 {
5625 /* Ignore transparent items without a contains argument. Double check 5632 /* Ignore transparent items without a contains argument. Double check
5626 * that we don't go back past the first one. */ 5633 * that we don't go back past the first one. */
5627 while ((cur_si->si_flags & HL_TRANS_CONT) 5634 while ((cur_si->si_flags & HL_TRANS_CONT)
5628 && cur_si > (stateitem_T *)(current_state.ga_data)) 5635 && cur_si > (stateitem_T *)(current_state.ga_data))