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

updated for version 7.1-086

This commit is contained in:
Bram Moolenaar
2007-08-21 15:29:56 +00:00
parent eb1b679067
commit 3a36cf7bca
2 changed files with 28 additions and 4 deletions

View File

@@ -279,7 +279,8 @@ static int keepend_level = -1;
*/
typedef struct state_item
{
int si_idx; /* index of syntax pattern */
int si_idx; /* index of syntax pattern or
KEYWORD_IDX */
int si_id; /* highlight group ID for keywords */
int si_trans_id; /* idem, transparancy removed */
int si_m_lnum; /* lnum of the match */
@@ -837,9 +838,18 @@ syn_sync(wp, start_lnum, last_valid)
current_lnum = end_lnum;
break;
}
spp = &(SYN_ITEMS(syn_buf)[cur_si->si_idx]);
found_flags = spp->sp_flags;
found_match_idx = spp->sp_sync_idx;
if (cur_si->si_idx < 0)
{
/* Cannot happen? */
found_flags = 0;
found_match_idx = KEYWORD_IDX;
}
else
{
spp = &(SYN_ITEMS(syn_buf)[cur_si->si_idx]);
found_flags = spp->sp_flags;
found_match_idx = spp->sp_sync_idx;
}
found_current_lnum = current_lnum;
found_current_col = current_col;
found_m_endpos = cur_si->si_m_endpos;
@@ -2533,6 +2543,10 @@ update_si_attr(idx)
stateitem_T *sip = &CUR_STATE(idx);
synpat_T *spp;
/* This should not happen... */
if (sip->si_idx < 0)
return;
spp = &(SYN_ITEMS(syn_buf)[sip->si_idx]);
if (sip->si_flags & HL_MATCH)
sip->si_id = spp->sp_syn_match_id;
@@ -2648,6 +2662,10 @@ update_si_end(sip, startcol, force)
lpos_T end_endpos;
int end_idx;
/* return quickly for a keyword */
if (sip->si_idx < 0)
return;
/* Don't update when it's already done. Can be a match of an end pattern
* that started in a previous line. Watch out: can also be a "keepend"
* from a containing item. */
@@ -2760,6 +2778,10 @@ find_endpos(idx, startpos, m_endpos, hl_endpos, flagsp, end_endpos,
char_u *line;
int had_match = FALSE;
/* just in case we are invoked for a keyword */
if (idx < 0)
return;
/*
* Check for being called with a START pattern.
* Can happen with a match that continues to the next line, because it