To: vim_dev@googlegroups.com Subject: Patch 7.4.776 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.4.776 Problem: Equivalence class for 'd' does not work correctly. Solution: Fix 0x1e0f and 0x1d0b. (Dominique Pelle) Files: src/regexp.c, src/regexp_nfa.c *** ../vim-7.4.775/src/regexp.c 2015-06-09 20:39:04.322545425 +0200 --- src/regexp.c 2015-07-10 18:53:07.391711695 +0200 *************** *** 1011,1020 **** REGMBC(0x107) REGMBC(0x109) REGMBC(0x10b) REGMBC(0x10d) return; ! case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b) ! CASEMBC(0x1e11) regmbc('d'); REGMBC(0x10f) REGMBC(0x111) ! REGMBC(0x1e0b) REGMBC(0x01e0f) REGMBC(0x1e11) return; case 'e': case 0xe8: case 0xe9: case 0xea: case 0xeb: CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119) --- 1011,1020 ---- REGMBC(0x107) REGMBC(0x109) REGMBC(0x10b) REGMBC(0x10d) return; ! case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1e0b) ! CASEMBC(0x1e0f) CASEMBC(0x1e11) regmbc('d'); REGMBC(0x10f) REGMBC(0x111) ! 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) *** ../vim-7.4.775/src/regexp_nfa.c 2015-05-04 10:33:09.633193707 +0200 --- src/regexp_nfa.c 2015-07-10 18:53:07.391711695 +0200 *************** *** 542,548 **** 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) --- 542,547 ---- *************** *** 946,955 **** 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) return OK; case 'e': case 0350: case 0351: case 0352: case 0353: --- 945,954 ---- EMITMBC(0x10b) EMITMBC(0x10d) return OK; ! 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: *** ../vim-7.4.775/src/version.c 2015-07-10 18:18:35.579206260 +0200 --- src/version.c 2015-07-10 18:55:20.974449842 +0200 *************** *** 743,744 **** --- 743,746 ---- { /* Add new patch number below this line */ + /**/ + 776, /**/ -- $ echo pizza > /dev/oven /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///