comparison src/regexp_nfa.c @ 6914:94b179585851 v7.4.776

patch 7.4.776 Problem: Equivalence class for 'd' does not work correctly. Solution: Fix 0x1e0f and 0x1d0b. (Dominique Pelle)
author Bram Moolenaar <bram@vim.org>
date Fri, 10 Jul 2015 19:16:34 +0200
parents 5caf46fd6e24
children cbdc02d71a18
comparison
equal deleted inserted replaced
6913:5f9aae6928bc 6914:94b179585851
540 return NULL; 540 return NULL;
541 541
542 ret = alloc(len); 542 ret = alloc(len);
543 if (ret != NULL) 543 if (ret != NULL)
544 { 544 {
545 len = 0;
546 p = start->out->out; /* skip first char, it goes into regstart */ 545 p = start->out->out; /* skip first char, it goes into regstart */
547 s = ret; 546 s = ret;
548 while (p->c > 0) 547 while (p->c > 0)
549 { 548 {
550 #ifdef FEAT_MBYTE 549 #ifdef FEAT_MBYTE
944 CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d) 943 CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d)
945 EMIT2('c'); EMIT2(0347); EMITMBC(0x107) EMITMBC(0x109) 944 EMIT2('c'); EMIT2(0347); EMITMBC(0x107) EMITMBC(0x109)
946 EMITMBC(0x10b) EMITMBC(0x10d) 945 EMITMBC(0x10b) EMITMBC(0x10d)
947 return OK; 946 return OK;
948 947
949 case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b) 948 case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1e0b)
950 CASEMBC(0x1e11) 949 CASEMBC(0x1e0f) CASEMBC(0x1e11)
951 EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111) EMITMBC(0x1e0b) 950 EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111)
952 EMITMBC(0x01e0f) EMITMBC(0x1e11) 951 EMITMBC(0x1e0b) EMITMBC(0x1e0f) EMITMBC(0x1e11)
953 return OK; 952 return OK;
954 953
955 case 'e': case 0350: case 0351: case 0352: case 0353: 954 case 'e': case 0350: case 0351: case 0352: case 0353:
956 CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119) 955 CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119)
957 CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd) 956 CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd)