0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

updated for version 7.1-227

This commit is contained in:
Bram Moolenaar
2008-01-13 16:40:19 +00:00
parent 332fa0c55a
commit dbe3175049
2 changed files with 14 additions and 13 deletions

View File

@@ -372,7 +372,7 @@ static void syn_stack_alloc __ARGS((void));
static int syn_stack_cleanup __ARGS((void));
static void syn_stack_free_entry __ARGS((buf_T *buf, synstate_T *p));
static synstate_T *syn_stack_find_entry __ARGS((linenr_T lnum));
static synstate_T *store_current_state __ARGS((synstate_T *sp));
static synstate_T *store_current_state __ARGS((void));
static void load_current_state __ARGS((synstate_T *from));
static void invalidate_current_state __ARGS((void));
static int syn_stack_equal __ARGS((synstate_T *sp));
@@ -464,7 +464,7 @@ syntax_start(wp, lnum)
synstate_T *p;
synstate_T *last_valid = NULL;
synstate_T *last_min_valid = NULL;
synstate_T *sp, *prev;
synstate_T *sp, *prev = NULL;
linenr_T parsed_lnum;
linenr_T first_stored;
int dist;
@@ -502,7 +502,7 @@ syntax_start(wp, lnum)
if (!current_state_stored)
{
++current_lnum;
(void)store_current_state(NULL);
(void)store_current_state();
}
/*
@@ -558,7 +558,6 @@ syntax_start(wp, lnum)
dist = 999999;
else
dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1;
prev = syn_stack_find_entry(current_lnum);
while (current_lnum < lnum)
{
syn_start_line();
@@ -572,10 +571,14 @@ syntax_start(wp, lnum)
/* Check if the saved state entry is for the current line and is
* equal to the current state. If so, then validate all saved
* states that depended on a change before the parsed line. */
if (prev == NULL)
prev = syn_stack_find_entry(current_lnum - 1);
if (prev == NULL)
sp = syn_buf->b_sst_first;
else
sp = prev->sst_next;
sp = prev;
while (sp != NULL && sp->sst_lnum < current_lnum)
sp = sp->sst_next;
if (sp != NULL
&& sp->sst_lnum == current_lnum
&& syn_stack_equal(sp))
@@ -601,7 +604,7 @@ syntax_start(wp, lnum)
else if (prev == NULL
|| current_lnum == lnum
|| current_lnum >= prev->sst_lnum + dist)
prev = store_current_state(prev);
prev = store_current_state();
}
/* This can take a long time: break when CTRL-C pressed. The current
@@ -1353,17 +1356,13 @@ syn_stack_find_entry(lnum)
* The current state must be valid for the start of the current_lnum line!
*/
static synstate_T *
store_current_state(sp)
synstate_T *sp; /* at or before where state is to be saved or
NULL */
store_current_state()
{
int i;
synstate_T *p;
bufstate_T *bp;
stateitem_T *cur_si;
if (sp == NULL)
sp = syn_stack_find_entry(current_lnum);
synstate_T *sp = syn_stack_find_entry(current_lnum);
/*
* If the current state contains a start or end pattern that continues
@@ -1667,7 +1666,7 @@ syntax_check_changed(lnum)
* Store the current state in b_sst_array[] for later use.
*/
++current_lnum;
(void)store_current_state(NULL);
(void)store_current_state();
}
}