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 | 2c61ec65e8dddcaf9bb5751f6dead97f2a794593 (patch) | |
tree | 8bee44b0d6ce0e189f151991e53868ccc4889ccc | |
parent | efcabd6892ad89a4585fb77aa94c3b1802b784ab (diff) | |
download | vim-git-2c61ec65e8dddcaf9bb5751f6dead97f2a794593.tar.gz |
patch 7.4.776v7.4.776
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 4ce37c426..45b8071ab 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 bb55a7159..609da0371 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 9a7aa784e..ddc86580b 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, |