]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.3.989 v7.3.989
authorBram Moolenaar <Bram@vim.org>
Tue, 21 May 2013 13:33:41 +0000 (15:33 +0200)
committerBram Moolenaar <Bram@vim.org>
Tue, 21 May 2013 13:33:41 +0000 (15:33 +0200)
Problem:    New regexp engine compares negative numbers to character.
Solution:   Add missing case statements.

src/regexp_nfa.c
src/version.c

index 8a0c2614a50395951f5d4125eeba65e14d0a373a..297829a1d131b8ddbb140c645ba720a2185aad15 100644 (file)
@@ -3383,8 +3383,30 @@ again:
                ADD_POS_NEG_STATE(t->state);
                break;
 
+           case NFA_MOPEN + 0:
+           case NFA_MOPEN + 1:
+           case NFA_MOPEN + 2:
+           case NFA_MOPEN + 3:
+           case NFA_MOPEN + 4:
+           case NFA_MOPEN + 5:
+           case NFA_MOPEN + 6:
+           case NFA_MOPEN + 7:
+           case NFA_MOPEN + 8:
+           case NFA_MOPEN + 9:
+               /* handled below */
+               break;
+
+           case NFA_SKIP_CHAR:
+           case NFA_ZSTART:
+               /* TODO: should not happen? */
+               break;
+
            default:    /* regular character */
+               /* TODO: put this in #ifdef later */
+               if (t->state->c < -256)
+                   EMSGN("INTERNAL: Negative state char: %ld", t->state->c);
                result = (no_Magic(t->state->c) == c);
+
                if (!result)
                    result = ireg_ic == TRUE
                                && MB_TOLOWER(t->state->c) == MB_TOLOWER(c);
index 8931d1d9ef8c7ca67a7b09df898593ebb5c43ccf..9ff699d2de8f00682e8e6766f94b5348947de498 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    989,
 /**/
     988,
 /**/