summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2011-05-25 17:56:27 +0200
committerBram Moolenaar <bram@vim.org>2011-05-25 17:56:27 +0200
commit6ee9f5dc9c7714ee7e485f1c955ab54f32b1d5b5 (patch)
tree21451822250f612cfbeec0796367b3b663177524
parentb0e551a0256ddcfeed7cd78da87bf9dc4b1e568a (diff)
downloadvim-6ee9f5dc9c7714ee7e485f1c955ab54f32b1d5b5.tar.gz
updated for version 7.3.205v7.3.205v7-3-205
Problem: Syntax "extend" doesn't work correctly. Solution: Avoid calling check_state_ends() recursively (Ben Schmidt)
-rw-r--r--src/syntax.c9
-rw-r--r--src/version.c2
2 files changed, 7 insertions, 4 deletions
diff --git a/src/syntax.c b/src/syntax.c
index da648e39..a9a2e862 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -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();
diff --git a/src/version.c b/src/version.c
index 8de124f2..14c2b850 100644
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 205,
+/**/
204,
/**/
203,