summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.4.028
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2013-11-04 17:08:47 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:57:36 +0200
commit76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (patch)
tree9b98e6e193c7870cb27ac861394c1c4592850922 /source/ap/vim/patches/7.4.028
parent9664bee729d487bcc0a0bc35859f8e13d5421c75 (diff)
downloadcurrent-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.gz
current-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.xz
Slackware 14.1slackware-14.1
Mon Nov 4 17:08:47 UTC 2013 Slackware 14.1 x86_64 stable is released! It's been another interesting release cycle here at Slackware bringing new features like support for UEFI machines, updated compilers and development tools, the switch from MySQL to MariaDB, and many more improvements throughout the system. Thanks to the team, the upstream developers, the dedicated Slackware community, and everyone else who pitched in to help make this release a reality. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Have fun! :-)
Diffstat (limited to 'source/ap/vim/patches/7.4.028')
-rw-r--r--source/ap/vim/patches/7.4.028753
1 files changed, 753 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.4.028 b/source/ap/vim/patches/7.4.028
new file mode 100644
index 000000000..4a0e3cf9d
--- /dev/null
+++ b/source/ap/vim/patches/7.4.028
@@ -0,0 +1,753 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.028
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.028
+Problem: Equivalence classes are not working for multi-byte characters.
+Solution: Copy the rules from the old to the new regexp engine. Add a test
+ to check both engines.
+Files: src/regexp_nfa.c, src/testdir/test44.in, src/testdir/test99.in,
+ src/testdir/test99.ok, src/testdir/Make_amiga.mak,
+ src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
+ src/testdir/Makefile
+
+
+*** ../vim-7.4.027/src/regexp_nfa.c 2013-09-05 21:15:38.000000000 +0200
+--- src/regexp_nfa.c 2013-09-19 16:40:08.000000000 +0200
+***************
+*** 742,748 ****
+ nfa_emit_equi_class(c)
+ int c;
+ {
+! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT);
+
+ #ifdef FEAT_MBYTE
+ if (enc_utf8 || STRCMP(p_enc, "latin1") == 0
+--- 742,753 ----
+ nfa_emit_equi_class(c)
+ int c;
+ {
+! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT);
+! #ifdef FEAT_MBYTE
+! # define EMITMBC(c) EMIT(c); EMIT(NFA_CONCAT);
+! #else
+! # define EMITMBC(c)
+! #endif
+
+ #ifdef FEAT_MBYTE
+ if (enc_utf8 || STRCMP(p_enc, "latin1") == 0
+***************
+*** 753,844 ****
+ {
+ case 'A': case 0300: case 0301: case 0302:
+ case 0303: case 0304: case 0305:
+! EMIT2('A'); EMIT2(0300); EMIT2(0301);
+! EMIT2(0302); EMIT2(0303); EMIT2(0304);
+! EMIT2(0305);
+ return OK;
+
+ case 'C': case 0307:
+! EMIT2('C'); EMIT2(0307);
+ return OK;
+
+ case 'E': case 0310: case 0311: case 0312: case 0313:
+! EMIT2('E'); EMIT2(0310); EMIT2(0311);
+! EMIT2(0312); EMIT2(0313);
+ return OK;
+
+ case 'I': case 0314: case 0315: case 0316: case 0317:
+! EMIT2('I'); EMIT2(0314); EMIT2(0315);
+! EMIT2(0316); EMIT2(0317);
+ return OK;
+
+ case 'N': case 0321:
+! EMIT2('N'); EMIT2(0321);
+ return OK;
+
+ case 'O': case 0322: case 0323: case 0324: case 0325:
+! case 0326:
+! EMIT2('O'); EMIT2(0322); EMIT2(0323);
+! EMIT2(0324); EMIT2(0325); EMIT2(0326);
+ return OK;
+
+ case 'U': case 0331: case 0332: case 0333: case 0334:
+! EMIT2('U'); EMIT2(0331); EMIT2(0332);
+! EMIT2(0333); EMIT2(0334);
+ return OK;
+
+ case 'Y': case 0335:
+! EMIT2('Y'); EMIT2(0335);
+ return OK;
+
+ case 'a': case 0340: case 0341: case 0342:
+ case 0343: case 0344: case 0345:
+! EMIT2('a'); EMIT2(0340); EMIT2(0341);
+! EMIT2(0342); EMIT2(0343); EMIT2(0344);
+! EMIT2(0345);
+ return OK;
+
+ case 'c': case 0347:
+! EMIT2('c'); EMIT2(0347);
+ return OK;
+
+ case 'e': case 0350: case 0351: case 0352: case 0353:
+! EMIT2('e'); EMIT2(0350); EMIT2(0351);
+! EMIT2(0352); EMIT2(0353);
+ return OK;
+
+ case 'i': case 0354: case 0355: case 0356: case 0357:
+! EMIT2('i'); EMIT2(0354); EMIT2(0355);
+! EMIT2(0356); EMIT2(0357);
+ return OK;
+
+ case 'n': case 0361:
+! EMIT2('n'); EMIT2(0361);
+ return OK;
+
+ case 'o': case 0362: case 0363: case 0364: case 0365:
+! case 0366:
+! EMIT2('o'); EMIT2(0362); EMIT2(0363);
+! EMIT2(0364); EMIT2(0365); EMIT2(0366);
+ return OK;
+
+ case 'u': case 0371: case 0372: case 0373: case 0374:
+! EMIT2('u'); EMIT2(0371); EMIT2(0372);
+! EMIT2(0373); EMIT2(0374);
+ return OK;
+
+ case 'y': case 0375: case 0377:
+! EMIT2('y'); EMIT2(0375); EMIT2(0377);
+ return OK;
+
+! default:
+! return FAIL;
+ }
+ }
+
+! EMIT(c);
+ return OK;
+ #undef EMIT2
+ }
+
+ /*
+--- 758,1095 ----
+ {
+ case 'A': case 0300: case 0301: case 0302:
+ case 0303: case 0304: case 0305:
+! CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104) CASEMBC(0x1cd)
+! CASEMBC(0x1de) CASEMBC(0x1e0) CASEMBC(0x1ea2)
+! EMIT2('A'); EMIT2(0300); EMIT2(0301); EMIT2(0302);
+! EMIT2(0303); EMIT2(0304); EMIT2(0305);
+! EMITMBC(0x100) EMITMBC(0x102) EMITMBC(0x104)
+! EMITMBC(0x1cd) EMITMBC(0x1de) EMITMBC(0x1e0)
+! EMITMBC(0x1ea2)
+! return OK;
+!
+! case 'B': CASEMBC(0x1e02) CASEMBC(0x1e06)
+! EMIT2('B'); EMITMBC(0x1e02) EMITMBC(0x1e06)
+ return OK;
+
+ case 'C': case 0307:
+! CASEMBC(0x106) CASEMBC(0x108) CASEMBC(0x10a) CASEMBC(0x10c)
+! EMIT2('C'); EMIT2(0307); EMITMBC(0x106) EMITMBC(0x108)
+! EMITMBC(0x10a) EMITMBC(0x10c)
+! return OK;
+!
+! case 'D': CASEMBC(0x10e) CASEMBC(0x110) CASEMBC(0x1e0a)
+! CASEMBC(0x1e0e) CASEMBC(0x1e10)
+! EMIT2('D'); EMITMBC(0x10e) EMITMBC(0x110) EMITMBC(0x1e0a)
+! EMITMBC(0x1e0e) EMITMBC(0x1e10)
+ return OK;
+
+ case 'E': case 0310: case 0311: case 0312: case 0313:
+! CASEMBC(0x112) CASEMBC(0x114) CASEMBC(0x116) CASEMBC(0x118)
+! CASEMBC(0x11a) CASEMBC(0x1eba) CASEMBC(0x1ebc)
+! EMIT2('E'); EMIT2(0310); EMIT2(0311); EMIT2(0312);
+! EMIT2(0313);
+! EMITMBC(0x112) EMITMBC(0x114) EMITMBC(0x116)
+! EMITMBC(0x118) EMITMBC(0x11a) EMITMBC(0x1eba)
+! EMITMBC(0x1ebc)
+! return OK;
+!
+! case 'F': CASEMBC(0x1e1e)
+! EMIT2('F'); EMITMBC(0x1e1e)
+! return OK;
+!
+! case 'G': CASEMBC(0x11c) CASEMBC(0x11e) CASEMBC(0x120)
+! CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6) CASEMBC(0x1f4)
+! CASEMBC(0x1e20)
+! EMIT2('G'); EMITMBC(0x11c) EMITMBC(0x11e) EMITMBC(0x120)
+! EMITMBC(0x122) EMITMBC(0x1e4) EMITMBC(0x1e6)
+! EMITMBC(0x1f4) EMITMBC(0x1e20)
+! return OK;
+!
+! case 'H': CASEMBC(0x124) CASEMBC(0x126) CASEMBC(0x1e22)
+! CASEMBC(0x1e26) CASEMBC(0x1e28)
+! EMIT2('H'); EMITMBC(0x124) EMITMBC(0x126) EMITMBC(0x1e22)
+! EMITMBC(0x1e26) EMITMBC(0x1e28)
+ return OK;
+
+ case 'I': case 0314: case 0315: case 0316: case 0317:
+! CASEMBC(0x128) CASEMBC(0x12a) CASEMBC(0x12c) CASEMBC(0x12e)
+! CASEMBC(0x130) CASEMBC(0x1cf) CASEMBC(0x1ec8)
+! EMIT2('I'); EMIT2(0314); EMIT2(0315); EMIT2(0316);
+! EMIT2(0317); EMITMBC(0x128) EMITMBC(0x12a)
+! EMITMBC(0x12c) EMITMBC(0x12e) EMITMBC(0x130)
+! EMITMBC(0x1cf) EMITMBC(0x1ec8)
+! return OK;
+!
+! case 'J': CASEMBC(0x134)
+! EMIT2('J'); EMITMBC(0x134)
+! return OK;
+!
+! case 'K': CASEMBC(0x136) CASEMBC(0x1e8) CASEMBC(0x1e30)
+! CASEMBC(0x1e34)
+! EMIT2('K'); EMITMBC(0x136) EMITMBC(0x1e8) EMITMBC(0x1e30)
+! EMITMBC(0x1e34)
+! return OK;
+!
+! case 'L': CASEMBC(0x139) CASEMBC(0x13b) CASEMBC(0x13d)
+! CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a)
+! EMIT2('L'); EMITMBC(0x139) EMITMBC(0x13b) EMITMBC(0x13d)
+! EMITMBC(0x13f) EMITMBC(0x141) EMITMBC(0x1e3a)
+! return OK;
+!
+! case 'M': CASEMBC(0x1e3e) CASEMBC(0x1e40)
+! EMIT2('M'); EMITMBC(0x1e3e) EMITMBC(0x1e40)
+ return OK;
+
+ case 'N': case 0321:
+! CASEMBC(0x143) CASEMBC(0x145) CASEMBC(0x147) CASEMBC(0x1e44)
+! CASEMBC(0x1e48)
+! EMIT2('N'); EMIT2(0321); EMITMBC(0x143) EMITMBC(0x145)
+! EMITMBC(0x147) EMITMBC(0x1e44) EMITMBC(0x1e48)
+ return OK;
+
+ case 'O': case 0322: case 0323: case 0324: case 0325:
+! case 0326: case 0330:
+! CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150) CASEMBC(0x1a0)
+! CASEMBC(0x1d1) CASEMBC(0x1ea) CASEMBC(0x1ec) CASEMBC(0x1ece)
+! EMIT2('O'); EMIT2(0322); EMIT2(0323); EMIT2(0324);
+! EMIT2(0325); EMIT2(0326); EMIT2(0330);
+! EMITMBC(0x14c) EMITMBC(0x14e) EMITMBC(0x150)
+! EMITMBC(0x1a0) EMITMBC(0x1d1) EMITMBC(0x1ea)
+! EMITMBC(0x1ec) EMITMBC(0x1ece)
+! return OK;
+!
+! case 'P': case 0x1e54: case 0x1e56:
+! EMIT2('P'); EMITMBC(0x1e54) EMITMBC(0x1e56)
+! return OK;
+!
+! case 'R': CASEMBC(0x154) CASEMBC(0x156) CASEMBC(0x158)
+! CASEMBC(0x1e58) CASEMBC(0x1e5e)
+! EMIT2('R'); EMITMBC(0x154) EMITMBC(0x156) EMITMBC(0x158)
+! EMITMBC(0x1e58) EMITMBC(0x1e5e)
+! return OK;
+!
+! case 'S': CASEMBC(0x15a) CASEMBC(0x15c) CASEMBC(0x15e)
+! CASEMBC(0x160) CASEMBC(0x1e60)
+! EMIT2('S'); EMITMBC(0x15a) EMITMBC(0x15c) EMITMBC(0x15e)
+! EMITMBC(0x160) EMITMBC(0x1e60)
+! return OK;
+!
+! case 'T': CASEMBC(0x162) CASEMBC(0x164) CASEMBC(0x166)
+! CASEMBC(0x1e6a) CASEMBC(0x1e6e)
+! EMIT2('T'); EMITMBC(0x162) EMITMBC(0x164) EMITMBC(0x166)
+! EMITMBC(0x1e6a) EMITMBC(0x1e6e)
+ return OK;
+
+ case 'U': case 0331: case 0332: case 0333: case 0334:
+! CASEMBC(0x168) CASEMBC(0x16a) CASEMBC(0x16c) CASEMBC(0x16e)
+! CASEMBC(0x170) CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3)
+! CASEMBC(0x1ee6)
+! EMIT2('U'); EMIT2(0331); EMIT2(0332); EMIT2(0333);
+! EMIT2(0334); EMITMBC(0x168) EMITMBC(0x16a)
+! EMITMBC(0x16c) EMITMBC(0x16e) EMITMBC(0x170)
+! EMITMBC(0x172) EMITMBC(0x1af) EMITMBC(0x1d3)
+! EMITMBC(0x1ee6)
+! return OK;
+!
+! case 'V': CASEMBC(0x1e7c)
+! EMIT2('V'); EMITMBC(0x1e7c)
+! return OK;
+!
+! case 'W': CASEMBC(0x174) CASEMBC(0x1e80) CASEMBC(0x1e82)
+! CASEMBC(0x1e84) CASEMBC(0x1e86)
+! EMIT2('W'); EMITMBC(0x174) EMITMBC(0x1e80) EMITMBC(0x1e82)
+! EMITMBC(0x1e84) EMITMBC(0x1e86)
+! return OK;
+!
+! case 'X': CASEMBC(0x1e8a) CASEMBC(0x1e8c)
+! EMIT2('X'); EMITMBC(0x1e8a) EMITMBC(0x1e8c)
+ return OK;
+
+ case 'Y': case 0335:
+! CASEMBC(0x176) CASEMBC(0x178) CASEMBC(0x1e8e) CASEMBC(0x1ef2)
+! CASEMBC(0x1ef6) CASEMBC(0x1ef8)
+! EMIT2('Y'); EMIT2(0335); EMITMBC(0x176) EMITMBC(0x178)
+! EMITMBC(0x1e8e) EMITMBC(0x1ef2) EMITMBC(0x1ef6)
+! EMITMBC(0x1ef8)
+! return OK;
+!
+! case 'Z': CASEMBC(0x179) CASEMBC(0x17b) CASEMBC(0x17d)
+! CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94)
+! EMIT2('Z'); EMITMBC(0x179) EMITMBC(0x17b) EMITMBC(0x17d)
+! EMITMBC(0x1b5) EMITMBC(0x1e90) EMITMBC(0x1e94)
+ return OK;
+
+ case 'a': case 0340: case 0341: case 0342:
+ case 0343: case 0344: case 0345:
+! CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105) CASEMBC(0x1ce)
+! CASEMBC(0x1df) CASEMBC(0x1e1) CASEMBC(0x1ea3)
+! EMIT2('a'); EMIT2(0340); EMIT2(0341); EMIT2(0342);
+! EMIT2(0343); EMIT2(0344); EMIT2(0345);
+! EMITMBC(0x101) EMITMBC(0x103) EMITMBC(0x105)
+! EMITMBC(0x1ce) EMITMBC(0x1df) EMITMBC(0x1e1)
+! EMITMBC(0x1ea3)
+! return OK;
+!
+! case 'b': CASEMBC(0x1e03) CASEMBC(0x1e07)
+! EMIT2('b'); EMITMBC(0x1e03) EMITMBC(0x1e07)
+ return OK;
+
+ case 'c': case 0347:
+! CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d)
+! EMIT2('c'); EMIT2(0347); EMITMBC(0x107) EMITMBC(0x109)
+! 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:
+! CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119)
+! CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd)
+! EMIT2('e'); EMIT2(0350); EMIT2(0351); EMIT2(0352);
+! EMIT2(0353); EMITMBC(0x113) EMITMBC(0x115)
+! EMITMBC(0x117) EMITMBC(0x119) EMITMBC(0x11b)
+! EMITMBC(0x1ebb) EMITMBC(0x1ebd)
+! return OK;
+!
+! case 'f': CASEMBC(0x1e1f)
+! EMIT2('f'); EMITMBC(0x1e1f)
+! return OK;
+!
+! case 'g': CASEMBC(0x11d) CASEMBC(0x11f) CASEMBC(0x121)
+! CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7) CASEMBC(0x1f5)
+! CASEMBC(0x1e21)
+! EMIT2('g'); EMITMBC(0x11d) EMITMBC(0x11f) EMITMBC(0x121)
+! EMITMBC(0x123) EMITMBC(0x1e5) EMITMBC(0x1e7)
+! EMITMBC(0x1f5) EMITMBC(0x1e21)
+! return OK;
+!
+! case 'h': CASEMBC(0x125) CASEMBC(0x127) CASEMBC(0x1e23)
+! CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96)
+! EMIT2('h'); EMITMBC(0x125) EMITMBC(0x127) EMITMBC(0x1e23)
+! EMITMBC(0x1e27) EMITMBC(0x1e29) EMITMBC(0x1e96)
+ return OK;
+
+ case 'i': case 0354: case 0355: case 0356: case 0357:
+! CASEMBC(0x129) CASEMBC(0x12b) CASEMBC(0x12d) CASEMBC(0x12f)
+! CASEMBC(0x1d0) CASEMBC(0x1ec9)
+! EMIT2('i'); EMIT2(0354); EMIT2(0355); EMIT2(0356);
+! EMIT2(0357); EMITMBC(0x129) EMITMBC(0x12b)
+! EMITMBC(0x12d) EMITMBC(0x12f) EMITMBC(0x1d0)
+! EMITMBC(0x1ec9)
+! return OK;
+!
+! case 'j': CASEMBC(0x135) CASEMBC(0x1f0)
+! EMIT2('j'); EMITMBC(0x135) EMITMBC(0x1f0)
+! return OK;
+!
+! case 'k': CASEMBC(0x137) CASEMBC(0x1e9) CASEMBC(0x1e31)
+! CASEMBC(0x1e35)
+! EMIT2('k'); EMITMBC(0x137) EMITMBC(0x1e9) EMITMBC(0x1e31)
+! EMITMBC(0x1e35)
+! return OK;
+!
+! case 'l': CASEMBC(0x13a) CASEMBC(0x13c) CASEMBC(0x13e)
+! CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b)
+! EMIT2('l'); EMITMBC(0x13a) EMITMBC(0x13c) EMITMBC(0x13e)
+! EMITMBC(0x140) EMITMBC(0x142) EMITMBC(0x1e3b)
+! return OK;
+!
+! case 'm': CASEMBC(0x1e3f) CASEMBC(0x1e41)
+! EMIT2('m'); EMITMBC(0x1e3f) EMITMBC(0x1e41)
+ return OK;
+
+ case 'n': case 0361:
+! CASEMBC(0x144) CASEMBC(0x146) CASEMBC(0x148) CASEMBC(0x149)
+! CASEMBC(0x1e45) CASEMBC(0x1e49)
+! EMIT2('n'); EMIT2(0361); EMITMBC(0x144) EMITMBC(0x146)
+! EMITMBC(0x148) EMITMBC(0x149) EMITMBC(0x1e45)
+! EMITMBC(0x1e49)
+ return OK;
+
+ case 'o': case 0362: case 0363: case 0364: case 0365:
+! case 0366: case 0370:
+! CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151) CASEMBC(0x1a1)
+! CASEMBC(0x1d2) CASEMBC(0x1eb) CASEMBC(0x1ed) CASEMBC(0x1ecf)
+! EMIT2('o'); EMIT2(0362); EMIT2(0363); EMIT2(0364);
+! EMIT2(0365); EMIT2(0366); EMIT2(0370);
+! EMITMBC(0x14d) EMITMBC(0x14f) EMITMBC(0x151)
+! EMITMBC(0x1a1) EMITMBC(0x1d2) EMITMBC(0x1eb)
+! EMITMBC(0x1ed) EMITMBC(0x1ecf)
+! return OK;
+!
+! case 'p': CASEMBC(0x1e55) CASEMBC(0x1e57)
+! EMIT2('p'); EMITMBC(0x1e55) EMITMBC(0x1e57)
+! return OK;
+!
+! case 'r': CASEMBC(0x155) CASEMBC(0x157) CASEMBC(0x159)
+! CASEMBC(0x1e59) CASEMBC(0x1e5f)
+! EMIT2('r'); EMITMBC(0x155) EMITMBC(0x157) EMITMBC(0x159)
+! EMITMBC(0x1e59) EMITMBC(0x1e5f)
+! return OK;
+!
+! case 's': CASEMBC(0x15b) CASEMBC(0x15d) CASEMBC(0x15f)
+! CASEMBC(0x161) CASEMBC(0x1e61)
+! EMIT2('s'); EMITMBC(0x15b) EMITMBC(0x15d) EMITMBC(0x15f)
+! EMITMBC(0x161) EMITMBC(0x1e61)
+! return OK;
+!
+! case 't': CASEMBC(0x163) CASEMBC(0x165) CASEMBC(0x167)
+! CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97)
+! EMIT2('t'); EMITMBC(0x163) EMITMBC(0x165) EMITMBC(0x167)
+! EMITMBC(0x1e6b) EMITMBC(0x1e6f) EMITMBC(0x1e97)
+ return OK;
+
+ case 'u': case 0371: case 0372: case 0373: case 0374:
+! CASEMBC(0x169) CASEMBC(0x16b) CASEMBC(0x16d) CASEMBC(0x16f)
+! CASEMBC(0x171) CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4)
+! CASEMBC(0x1ee7)
+! EMIT2('u'); EMIT2(0371); EMIT2(0372); EMIT2(0373);
+! EMIT2(0374); EMITMBC(0x169) EMITMBC(0x16b)
+! EMITMBC(0x16d) EMITMBC(0x16f) EMITMBC(0x171)
+! EMITMBC(0x173) EMITMBC(0x1b0) EMITMBC(0x1d4)
+! EMITMBC(0x1ee7)
+! return OK;
+!
+! case 'v': CASEMBC(0x1e7d)
+! EMIT2('v'); EMITMBC(0x1e7d)
+! return OK;
+!
+! case 'w': CASEMBC(0x175) CASEMBC(0x1e81) CASEMBC(0x1e83)
+! CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98)
+! EMIT2('w'); EMITMBC(0x175) EMITMBC(0x1e81) EMITMBC(0x1e83)
+! EMITMBC(0x1e85) EMITMBC(0x1e87) EMITMBC(0x1e98)
+! return OK;
+!
+! case 'x': CASEMBC(0x1e8b) CASEMBC(0x1e8d)
+! EMIT2('x'); EMITMBC(0x1e8b) EMITMBC(0x1e8d)
+ return OK;
+
+ case 'y': case 0375: case 0377:
+! CASEMBC(0x177) CASEMBC(0x1e8f) CASEMBC(0x1e99)
+! CASEMBC(0x1ef3) CASEMBC(0x1ef7) CASEMBC(0x1ef9)
+! EMIT2('y'); EMIT2(0375); EMIT2(0377); EMITMBC(0x177)
+! EMITMBC(0x1e8f) EMITMBC(0x1e99) EMITMBC(0x1ef3)
+! EMITMBC(0x1ef7) EMITMBC(0x1ef9)
+! return OK;
+!
+! case 'z': CASEMBC(0x17a) CASEMBC(0x17c) CASEMBC(0x17e)
+! CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95)
+! EMIT2('z'); EMITMBC(0x17a) EMITMBC(0x17c) EMITMBC(0x17e)
+! EMITMBC(0x1b6) EMITMBC(0x1e91) EMITMBC(0x1e95)
+ return OK;
+
+! /* default: character itself */
+ }
+ }
+
+! EMIT2(c);
+ return OK;
+ #undef EMIT2
++ #undef EMITMBC
+ }
+
+ /*
+*** ../vim-7.4.027/src/testdir/test44.in 2013-05-26 14:16:31.000000000 +0200
+--- src/testdir/test44.in 2013-09-19 16:49:14.000000000 +0200
+***************
+*** 1,9 ****
+--- 1,11 ----
+ Tests for regexp with multi-byte encoding and various magic settings.
+ Test matchstr() with a count and multi-byte chars.
++ See test99 for exactly the same test with re=2.
+
+ STARTTEST
+ :so mbyte.vim
+ :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
++ :set re=1
+ /^1
+ /a*b\{2}c\+/e
+ x/\Md\*e\{2}f\+/e
+*** ../vim-7.4.027/src/testdir/test99.in 2013-09-19 16:59:30.000000000 +0200
+--- src/testdir/test99.in 2013-09-19 16:50:00.000000000 +0200
+***************
+*** 0 ****
+--- 1,68 ----
++ Tests for regexp with multi-byte encoding and various magic settings.
++ Test matchstr() with a count and multi-byte chars.
++ See test44 for exactly the same test with re=1.
++
++ STARTTEST
++ :so mbyte.vim
++ :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
++ :set re=2
++ /^1
++ /a*b\{2}c\+/e
++ x/\Md\*e\{2}f\+/e
++ x:set nomagic
++ /g\*h\{2}i\+/e
++ x/\mj*k\{2}l\+/e
++ x/\vm*n{2}o+/e
++ x/\V^aa$
++ x:set magic
++ /\v(a)(b)\2\1\1/e
++ x/\V[ab]\(\[xy]\)\1
++ x:" Now search for multi-byte without composing char
++ /ม
++ x:" Now search for multi-byte with composing char
++ /ม่
++ x:" find word by change of word class
++ /ち\<カヨ\>は
++ x:" Test \%u, [\u] and friends
++ /\%u20ac
++ x/[\u4f7f\u5929]\+
++ x/\%U12345678
++ x/[\U1234abcd\u1234\uabcd]
++ x/\%d21879b
++ x/ [[=A=]]* [[=B=]]* [[=C=]]* [[=D=]]* [[=E=]]* [[=F=]]* [[=G=]]* [[=H=]]* [[=I=]]* [[=J=]]* [[=K=]]* [[=L=]]* [[=M=]]* [[=N=]]* [[=O=]]* [[=P=]]* [[=Q=]]* [[=R=]]* [[=S=]]* [[=T=]]* [[=U=]]* [[=V=]]* [[=W=]]* [[=X=]]* [[=Y=]]* [[=Z=]]*/e
++ x/ [[=a=]]* [[=b=]]* [[=c=]]* [[=d=]]* [[=e=]]* [[=f=]]* [[=g=]]* [[=h=]]* [[=i=]]* [[=j=]]* [[=k=]]* [[=l=]]* [[=m=]]* [[=n=]]* [[=o=]]* [[=p=]]* [[=q=]]* [[=r=]]* [[=s=]]* [[=t=]]* [[=u=]]* [[=v=]]* [[=w=]]* [[=x=]]* [[=y=]]* [[=z=]]*/e
++ x:" Test backwards search from a multi-byte char
++ /x
++ x?.
++ x:let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g'
++ :@w
++ :?^1?,$w! test.out
++ :e! test.out
++ G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב
++ :put =matchstr(\"אבגד\", \"..\", 0, 2) " בג
++ :put =matchstr(\"אבגד\", \".\", 0, 0) " א
++ :put =matchstr(\"אבגד\", \".\", 4, -1) " ג
++ :w!
++ :qa!
++ ENDTEST
++
++ 1 a aa abb abbccc
++ 2 d dd dee deefff
++ 3 g gg ghh ghhiii
++ 4 j jj jkk jkklll
++ 5 m mm mnn mnnooo
++ 6 x ^aa$ x
++ 7 (a)(b) abbaa
++ 8 axx [ab]xx
++ 9 หม่x อมx
++ a อมx หม่x
++ b ちカヨは
++ c x ¬€x
++ d 天使x
++ e y
++ f z
++ g a啷bb
++ h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÌÍÎÏĨĪĬĮİǏỈ JĴ KĶǨḰḴ LĹĻĽĿŁḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎŐƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ VṼ WŴẀẂẄẆ XẊẌ YÝŶŸẎỲỶỸ ZŹŻŽƵẐẔ
++ i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑẕ
++ j 0123❤x
++ k combinations
+*** ../vim-7.4.027/src/testdir/test99.ok 2013-09-19 16:59:30.000000000 +0200
+--- src/testdir/test99.ok 2013-09-19 16:50:16.000000000 +0200
+***************
+*** 0 ****
+--- 1,24 ----
++ 1 a aa abb abbcc
++ 2 d dd dee deeff
++ 3 g gg ghh ghhii
++ 4 j jj jkk jkkll
++ 5 m mm mnn mnnoo
++ 6 x aa$ x
++ 7 (a)(b) abba
++ 8 axx ab]xx
++ 9 หม่x อx
++ a อมx หx
++ b カヨは
++ c x ¬x
++ d 使x
++ e y
++ f z
++ g abb
++ h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÌÍÎÏĨĪĬĮİǏỈ JĴ KĶǨḰḴ LĹĻĽĿŁḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎŐƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ VṼ WŴẀẂẄẆ XẊẌ YÝŶŸẎỲỶỸ ZŹŻŽƵẐ
++ i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑ
++ j 012❤
++ k œ̄ṣ́m̥̄ᾱ̆́
++ ב
++ בג
++ א
++ ג
+*** ../vim-7.4.027/src/testdir/Make_amiga.mak 2013-07-09 13:40:02.000000000 +0200
+--- src/testdir/Make_amiga.mak 2013-09-19 16:51:48.000000000 +0200
+***************
+*** 33,39 ****
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out
+
+ .SUFFIXES: .in .out
+
+--- 33,40 ----
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out \
+! test99.out
+
+ .SUFFIXES: .in .out
+
+***************
+*** 148,150 ****
+--- 149,152 ----
+ test96.out: test96.in
+ test97.out: test97.in
+ test98.out: test98.in
++ test99.out: test99.in
+*** ../vim-7.4.027/src/testdir/Make_dos.mak 2013-07-09 13:40:30.000000000 +0200
+--- src/testdir/Make_dos.mak 2013-09-19 16:51:56.000000000 +0200
+***************
+*** 32,38 ****
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 32,38 ----
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.027/src/testdir/Make_ming.mak 2013-07-09 13:40:38.000000000 +0200
+--- src/testdir/Make_ming.mak 2013-09-19 16:52:01.000000000 +0200
+***************
+*** 52,58 ****
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 52,58 ----
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.027/src/testdir/Make_os2.mak 2013-07-09 13:40:43.000000000 +0200
+--- src/testdir/Make_os2.mak 2013-09-19 16:52:07.000000000 +0200
+***************
+*** 34,40 ****
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out
+
+ .SUFFIXES: .in .out
+
+--- 34,40 ----
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ .SUFFIXES: .in .out
+
+*** ../vim-7.4.027/src/testdir/Make_vms.mms 2013-07-09 13:40:47.000000000 +0200
+--- src/testdir/Make_vms.mms 2013-09-19 16:52:13.000000000 +0200
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Jul 09
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Sep 19
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 78,84 ****
+ test77.out test78.out test79.out test80.out test81.out \
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+! test95.out test96.out test97.out test98.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+--- 78,84 ----
+ test77.out test78.out test79.out test80.out test81.out \
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+! test95.out test96.out test97.out test98.out test99.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+*** ../vim-7.4.027/src/testdir/Makefile 2013-08-10 14:20:20.000000000 +0200
+--- src/testdir/Makefile 2013-09-19 16:52:22.000000000 +0200
+***************
+*** 29,35 ****
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out
+
+ SCRIPTS_GUI = test16.out
+
+--- 29,36 ----
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out \
+! test99.out
+
+ SCRIPTS_GUI = test16.out
+
+*** ../vim-7.4.027/src/version.c 2013-09-08 20:00:45.000000000 +0200
+--- src/version.c 2013-09-19 13:54:35.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 28,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+232. You start conversations with, "Have you gotten an ISDN line?"
+
+ /// 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 ///