0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -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". * previous line and regions that have "keepend".
*/ */
if (current_state.ga_len > 0) if (current_state.ga_len > 0)
{
syn_update_ends(TRUE); syn_update_ends(TRUE);
check_state_ends();
}
next_match_idx = -1; next_match_idx = -1;
++current_line_id; ++current_line_id;
@@ -1064,7 +1067,6 @@ syn_update_ends(startofline)
} }
} }
check_keepend(); check_keepend();
check_state_ends();
} }
/**************************************** /****************************************
@@ -2533,7 +2535,7 @@ push_next_match(cur_si)
check_state_ends() check_state_ends()
{ {
stateitem_T *cur_si; stateitem_T *cur_si;
int had_extend = FALSE; int had_extend;
cur_si = &CUR_STATE(current_state.ga_len - 1); cur_si = &CUR_STATE(current_state.ga_len - 1);
for (;;) for (;;)
@@ -2586,8 +2588,7 @@ check_state_ends()
/* When the ended item has "extend", another item with /* When the ended item has "extend", another item with
* "keepend" now needs to check for its end. */ * "keepend" now needs to check for its end. */
if (cur_si->si_flags & HL_EXTEND) had_extend = (cur_si->si_flags & HL_EXTEND);
had_extend = TRUE;
pop_current_state(); pop_current_state();

View File

@@ -709,6 +709,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
205,
/**/ /**/
204, 204,
/**/ /**/