Problem: Syntax "extend" doesn't work correctly.
Solution: Avoid calling check_state_ends() recursively (Ben Schmidt)
* previous line and regions that have "keepend".
*/
if (current_state.ga_len > 0)
+ {
syn_update_ends(TRUE);
+ check_state_ends();
+ }
next_match_idx = -1;
++current_line_id;
}
}
check_keepend();
- check_state_ends();
}
/****************************************
check_state_ends()
{
stateitem_T *cur_si;
- int had_extend = FALSE;
+ int had_extend;
cur_si = &CUR_STATE(current_state.ga_len - 1);
for (;;)
/* When the ended item has "extend", another item with
* "keepend" now needs to check for its end. */
- if (cur_si->si_flags & HL_EXTEND)
- had_extend = TRUE;
+ had_extend = (cur_si->si_flags & HL_EXTEND);
pop_current_state();
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 205,
/**/
204,
/**/