]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.205 v7.3.205
authorBram Moolenaar <Bram@vim.org>
Wed, 25 May 2011 15:56:27 +0000 (17:56 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 25 May 2011 15:56:27 +0000 (17:56 +0200)
Problem:    Syntax "extend" doesn't work correctly.
Solution:   Avoid calling check_state_ends() recursively (Ben Schmidt)

src/syntax.c
src/version.c

index da648e398e1df0f5ea8da666d07b8f2efe716686..a9a2e862f34e24605fdd92fe59a14734aba0a90c 100644 (file)
@@ -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();
 
index 8de124f29cbc4134d0f99dcd28017a258840b5f9..14c2b850764d23b5a6c46ed2f07d57867063b419 100644 (file)
@@ -709,6 +709,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    205,
 /**/
     204,
 /**/