]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.1132 v7.3.1132
authorBram Moolenaar <Bram@vim.org>
Thu, 6 Jun 2013 16:04:51 +0000 (18:04 +0200)
committerBram Moolenaar <Bram@vim.org>
Thu, 6 Jun 2013 16:04:51 +0000 (18:04 +0200)
Problem:    Crash when debugging regexp.
Solution:   Do not try to dump subexpr that were not set.  Skip over count of
            \% items.

src/regexp.c
src/regexp_nfa.c
src/version.c

index 741978e5718054cd9850fb0fe1a33a37a04a85cb..ae29ef53b9192f513f590591b50329b520432704 100644 (file)
@@ -6548,6 +6548,12 @@ regdump(pattern, r)
            fprintf(f, " count %ld", OPERAND_MIN(s));
            s += 4;
        }
+       else if (op == RE_LNUM || op == RE_COL || op == RE_VCOL)
+       {
+           /* one int plus comperator */
+           fprintf(f, " count %ld", OPERAND_MIN(s));
+           s += 5;
+       }
        s += 3;
        if (op == ANYOF || op == ANYOF + ADD_NL
                || op == ANYBUT || op == ANYBUT + ADD_NL
index 36968cf247a9ba74648fe966995a7558fad0d34c..ea74a8d4cc7134edbfe5e5ce206b23729101c88f 100644 (file)
@@ -256,7 +256,7 @@ static int nfa_alt_listid;
 /* 0 for first call to nfa_regmatch(), 1 for recursive call. */
 static int nfa_ll_index = 0;
 
-static int nfa_regcomp_start __ARGS((char_u*expr, int re_flags));
+static int nfa_regcomp_start __ARGS((char_u *expr, int re_flags));
 static int nfa_recognize_char_class __ARGS((char_u *start, char_u *end, int extra_newl));
 static int nfa_emit_equi_class __ARGS((int c, int neg));
 static int nfa_regatom __ARGS((void));
@@ -2927,7 +2927,8 @@ log_subsexpr(subs)
 {
     log_subexpr(&subs->norm);
 # ifdef FEAT_SYN_HL
-    log_subexpr(&subs->synt);
+    if (nfa_has_zsubexpr)
+       log_subexpr(&subs->synt);
 # endif
 }
 
index 440f59a6c5324ae4feb88ca56598ea91ad33f480..d29c15c638e25dfc0f4b3a6c059dfb6ff7aac7e6 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1132,
 /**/
     1131,
 /**/