diff options
author | Bram Moolenaar <bram@vim.org> | 2015-07-10 19:16:34 +0200 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2015-07-10 19:16:34 +0200 |
commit | 6f578739deac5ebb6ea8d0ef973abae5a00433e7 (patch) | |
tree | 2165bf593664d42e8fdc5e5bac983b55d6541a41 | |
parent | 9bbdd45f8108a8281138ab4f71887ec32e6d3159 (diff) | |
download | vim-6f578739deac5ebb6ea8d0ef973abae5a00433e7.tar.gz |
Problem: Equivalence class for 'd' does not work correctly.
Solution: Fix 0x1e0f and 0x1d0b. (Dominique Pelle)
-rw-r--r-- | src/regexp.c | 6 | ||||
-rw-r--r-- | src/regexp_nfa.c | 9 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 9 insertions, 8 deletions
diff --git a/src/regexp.c b/src/regexp.c index 4ce37c42..45b8071a 100644 --- a/src/regexp.c +++ b/src/regexp.c @@ -1011,10 +1011,10 @@ reg_equi_class(c) REGMBC(0x107) REGMBC(0x109) REGMBC(0x10b) REGMBC(0x10d) return; - case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b) - CASEMBC(0x1e11) + case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1e0b) + CASEMBC(0x1e0f) CASEMBC(0x1e11) regmbc('d'); REGMBC(0x10f) REGMBC(0x111) - REGMBC(0x1e0b) REGMBC(0x01e0f) REGMBC(0x1e11) + REGMBC(0x1e0b) REGMBC(0x1e0f) REGMBC(0x1e11) return; case 'e': case 0xe8: case 0xe9: case 0xea: case 0xeb: CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119) diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c index bb55a715..609da037 100644 --- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -542,7 +542,6 @@ nfa_get_match_text(start) ret = alloc(len); if (ret != NULL) { - len = 0; p = start->out->out; /* skip first char, it goes into regstart */ s = ret; while (p->c > 0) @@ -946,10 +945,10 @@ nfa_emit_equi_class(c) EMITMBC(0x10b) EMITMBC(0x10d) return OK; - case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b) - CASEMBC(0x1e11) - EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111) EMITMBC(0x1e0b) - EMITMBC(0x01e0f) EMITMBC(0x1e11) + case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1e0b) + CASEMBC(0x1e0f) CASEMBC(0x1e11) + EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111) + EMITMBC(0x1e0b) EMITMBC(0x1e0f) EMITMBC(0x1e11) return OK; case 'e': case 0350: case 0351: case 0352: case 0353: diff --git a/src/version.c b/src/version.c index 9a7aa784..ddc86580 100644 --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 776, +/**/ 775, /**/ 774, |