0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

updated for version 7.3.205

Problem:    Syntax "extend" doesn't work correctly.
Solution:   Avoid calling check_state_ends() recursively (Ben Schmidt)
This commit is contained in:
Bram Moolenaar
2011-05-25 17:56:27 +02:00
parent 9b83c2f979
commit 6fa46363ad
2 changed files with 7 additions and 4 deletions

View File

@@ -990,7 +990,10 @@ syn_start_line()
* 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;
@@ -1064,7 +1067,6 @@ syn_update_ends(startofline)
}
}
check_keepend();
check_state_ends();
}
/****************************************
@@ -2533,7 +2535,7 @@ push_next_match(cur_si)
check_state_ends()
{
stateitem_T *cur_si;
int had_extend = FALSE;
int had_extend;
cur_si = &CUR_STATE(current_state.ga_len - 1);
for (;;)
@@ -2586,8 +2588,7 @@ check_state_ends()
/* 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();