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