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:
@@ -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();
|
||||||
|
|
||||||
|
@@ -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,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user