]>
Commit | Line | Data |
---|---|---|
98d3ed53 | 1 | To: vim_dev@googlegroups.com |
2 | Subject: Patch 7.3.259 | |
3 | Fcc: outbox | |
4 | From: Bram Moolenaar <Bram@moolenaar.net> | |
5 | Mime-Version: 1.0 | |
6 | Content-Type: text/plain; charset=UTF-8 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ------------ | |
9 | ||
10 | Patch 7.3.259 | |
11 | Problem: Equivalence classes only work for latin characters. | |
12 | Solution: Add the Unicode equivalence characters. (Dominique Pelle) | |
13 | Files: runtime/doc/pattern.txt, src/regexp.c, src/testdir/test44.in, | |
14 | src/testdir/test44.ok | |
15 | ||
16 | ||
17 | *** ../vim-7.3.258/runtime/doc/pattern.txt 2010-08-15 21:57:14.000000000 +0200 | |
18 | --- runtime/doc/pattern.txt 2011-07-20 17:44:03.000000000 +0200 | |
19 | *************** | |
20 | *** 1027,1037 **** | |
21 | These items only work for 8-bit characters. | |
22 | */[[=* *[==]* | |
23 | - An equivalence class. This means that characters are matched that | |
24 | ! have almost the same meaning, e.g., when ignoring accents. The form | |
25 | ! is: | |
26 | [=a=] | |
27 | - Currently this is only implemented for latin1. Also works for the | |
28 | - latin1 characters in utf-8 and latin9. | |
29 | */[[.* *[..]* | |
30 | - A collation element. This currently simply accepts a single | |
31 | character in the form: | |
32 | --- 1036,1044 ---- | |
33 | These items only work for 8-bit characters. | |
34 | */[[=* *[==]* | |
35 | - An equivalence class. This means that characters are matched that | |
36 | ! have almost the same meaning, e.g., when ignoring accents. This | |
37 | ! only works for Unicode, latin1 and latin9. The form is: | |
38 | [=a=] | |
39 | */[[.* *[..]* | |
40 | - A collation element. This currently simply accepts a single | |
41 | character in the form: | |
42 | *** ../vim-7.3.258/src/regexp.c 2011-06-19 04:31:54.000000000 +0200 | |
43 | --- src/regexp.c 2011-07-20 17:56:52.000000000 +0200 | |
44 | *************** | |
45 | *** 666,673 **** | |
46 | --- 666,677 ---- | |
47 | static void regc __ARGS((int b)); | |
48 | #ifdef FEAT_MBYTE | |
49 | static void regmbc __ARGS((int c)); | |
50 | + # define REGMBC(x) regmbc(x); | |
51 | + # define CASEMBC(x) case x: | |
52 | #else | |
53 | # define regmbc(c) regc(c) | |
54 | + # define REGMBC(x) | |
55 | + # define CASEMBC(x) | |
56 | #endif | |
57 | static void reginsert __ARGS((int, char_u *)); | |
58 | static void reginsert_limits __ARGS((int, long, long, char_u *)); | |
59 | *************** | |
60 | *** 787,854 **** | |
61 | switch (c) | |
62 | { | |
63 | case 'A': case '\300': case '\301': case '\302': | |
64 | case '\303': case '\304': case '\305': | |
65 | regmbc('A'); regmbc('\300'); regmbc('\301'); | |
66 | regmbc('\302'); regmbc('\303'); regmbc('\304'); | |
67 | regmbc('\305'); | |
68 | return; | |
69 | case 'C': case '\307': | |
70 | regmbc('C'); regmbc('\307'); | |
71 | return; | |
72 | case 'E': case '\310': case '\311': case '\312': case '\313': | |
73 | regmbc('E'); regmbc('\310'); regmbc('\311'); | |
74 | regmbc('\312'); regmbc('\313'); | |
75 | return; | |
76 | case 'I': case '\314': case '\315': case '\316': case '\317': | |
77 | regmbc('I'); regmbc('\314'); regmbc('\315'); | |
78 | regmbc('\316'); regmbc('\317'); | |
79 | return; | |
80 | case 'N': case '\321': | |
81 | regmbc('N'); regmbc('\321'); | |
82 | return; | |
83 | case 'O': case '\322': case '\323': case '\324': case '\325': | |
84 | ! case '\326': | |
85 | regmbc('O'); regmbc('\322'); regmbc('\323'); | |
86 | regmbc('\324'); regmbc('\325'); regmbc('\326'); | |
87 | return; | |
88 | case 'U': case '\331': case '\332': case '\333': case '\334': | |
89 | regmbc('U'); regmbc('\331'); regmbc('\332'); | |
90 | regmbc('\333'); regmbc('\334'); | |
91 | return; | |
92 | case 'Y': case '\335': | |
93 | regmbc('Y'); regmbc('\335'); | |
94 | return; | |
95 | case 'a': case '\340': case '\341': case '\342': | |
96 | case '\343': case '\344': case '\345': | |
97 | regmbc('a'); regmbc('\340'); regmbc('\341'); | |
98 | regmbc('\342'); regmbc('\343'); regmbc('\344'); | |
99 | regmbc('\345'); | |
100 | return; | |
101 | case 'c': case '\347': | |
102 | regmbc('c'); regmbc('\347'); | |
103 | return; | |
104 | case 'e': case '\350': case '\351': case '\352': case '\353': | |
105 | regmbc('e'); regmbc('\350'); regmbc('\351'); | |
106 | regmbc('\352'); regmbc('\353'); | |
107 | return; | |
108 | case 'i': case '\354': case '\355': case '\356': case '\357': | |
109 | regmbc('i'); regmbc('\354'); regmbc('\355'); | |
110 | regmbc('\356'); regmbc('\357'); | |
111 | return; | |
112 | case 'n': case '\361': | |
113 | regmbc('n'); regmbc('\361'); | |
114 | return; | |
115 | case 'o': case '\362': case '\363': case '\364': case '\365': | |
116 | ! case '\366': | |
117 | regmbc('o'); regmbc('\362'); regmbc('\363'); | |
118 | regmbc('\364'); regmbc('\365'); regmbc('\366'); | |
119 | return; | |
120 | case 'u': case '\371': case '\372': case '\373': case '\374': | |
121 | regmbc('u'); regmbc('\371'); regmbc('\372'); | |
122 | regmbc('\373'); regmbc('\374'); | |
123 | return; | |
124 | case 'y': case '\375': case '\377': | |
125 | regmbc('y'); regmbc('\375'); regmbc('\377'); | |
126 | return; | |
127 | } | |
128 | #endif | |
129 | --- 791,1085 ---- | |
130 | switch (c) | |
131 | { | |
132 | case 'A': case '\300': case '\301': case '\302': | |
133 | + CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104) CASEMBC(0x1cd) | |
134 | + CASEMBC(0x1de) CASEMBC(0x1e0) CASEMBC(0x1ea2) | |
135 | case '\303': case '\304': case '\305': | |
136 | regmbc('A'); regmbc('\300'); regmbc('\301'); | |
137 | regmbc('\302'); regmbc('\303'); regmbc('\304'); | |
138 | regmbc('\305'); | |
139 | + REGMBC(0x100) REGMBC(0x102) REGMBC(0x104) | |
140 | + REGMBC(0x1cd) REGMBC(0x1de) REGMBC(0x1e0) | |
141 | + REGMBC(0x1ea2) | |
142 | + return; | |
143 | + case 'B': CASEMBC(0x1e02) CASEMBC(0x1e06) | |
144 | + regmbc('B'); REGMBC(0x1e02) REGMBC(0x1e06) | |
145 | return; | |
146 | case 'C': case '\307': | |
147 | + CASEMBC(0x106) CASEMBC(0x108) CASEMBC(0x10a) CASEMBC(0x10c) | |
148 | regmbc('C'); regmbc('\307'); | |
149 | + REGMBC(0x106) REGMBC(0x108) REGMBC(0x10a) | |
150 | + REGMBC(0x10c) | |
151 | + return; | |
152 | + case 'D': CASEMBC(0x10e) CASEMBC(0x110) CASEMBC(0x1e0a) | |
153 | + CASEMBC(0x1e0e) CASEMBC(0x1e10) | |
154 | + regmbc('D'); REGMBC(0x10e) REGMBC(0x110) | |
155 | + REGMBC(0x1e0a) REGMBC(0x1e0e) REGMBC(0x1e10) | |
156 | return; | |
157 | case 'E': case '\310': case '\311': case '\312': case '\313': | |
158 | + CASEMBC(0x112) CASEMBC(0x114) CASEMBC(0x116) CASEMBC(0x118) | |
159 | + CASEMBC(0x11a) CASEMBC(0x1eba) CASEMBC(0x1ebc) | |
160 | regmbc('E'); regmbc('\310'); regmbc('\311'); | |
161 | regmbc('\312'); regmbc('\313'); | |
162 | + REGMBC(0x112) REGMBC(0x114) REGMBC(0x116) | |
163 | + REGMBC(0x118) REGMBC(0x11a) REGMBC(0x1eba) | |
164 | + REGMBC(0x1ebc) | |
165 | + return; | |
166 | + case 'F': CASEMBC(0x1e1e) | |
167 | + regmbc('F'); REGMBC(0x1e1e) | |
168 | + return; | |
169 | + case 'G': CASEMBC(0x11c) CASEMBC(0x11e) CASEMBC(0x120) | |
170 | + CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6) CASEMBC(0x1f4) | |
171 | + CASEMBC(0x1e20) | |
172 | + regmbc('G'); REGMBC(0x11c) REGMBC(0x11e) | |
173 | + REGMBC(0x120) REGMBC(0x122) REGMBC(0x1e4) | |
174 | + REGMBC(0x1e6) REGMBC(0x1f4) REGMBC(0x1e20) | |
175 | + return; | |
176 | + case 'H': CASEMBC(0x124) CASEMBC(0x126) CASEMBC(0x1e22) | |
177 | + CASEMBC(0x1e26) CASEMBC(0x1e28) | |
178 | + regmbc('H'); REGMBC(0x124) REGMBC(0x126) | |
179 | + REGMBC(0x1e22) REGMBC(0x1e26) REGMBC(0x1e28) | |
180 | return; | |
181 | case 'I': case '\314': case '\315': case '\316': case '\317': | |
182 | + CASEMBC(0x128) CASEMBC(0x12a) CASEMBC(0x12c) CASEMBC(0x12e) | |
183 | + CASEMBC(0x130) CASEMBC(0x1cf) CASEMBC(0x1ec8) | |
184 | regmbc('I'); regmbc('\314'); regmbc('\315'); | |
185 | regmbc('\316'); regmbc('\317'); | |
186 | + REGMBC(0x128) REGMBC(0x12a) REGMBC(0x12c) | |
187 | + REGMBC(0x12e) REGMBC(0x130) REGMBC(0x1cf) | |
188 | + REGMBC(0x1ec8) | |
189 | + return; | |
190 | + case 'J': CASEMBC(0x134) | |
191 | + regmbc('J'); REGMBC(0x134) | |
192 | + return; | |
193 | + case 'K': CASEMBC(0x136) CASEMBC(0x1e8) CASEMBC(0x1e30) | |
194 | + CASEMBC(0x1e34) | |
195 | + regmbc('K'); REGMBC(0x136) REGMBC(0x1e8) | |
196 | + REGMBC(0x1e30) REGMBC(0x1e34) | |
197 | + return; | |
198 | + case 'L': CASEMBC(0x139) CASEMBC(0x13b) CASEMBC(0x13d) | |
199 | + CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a) | |
200 | + regmbc('L'); REGMBC(0x139) REGMBC(0x13b) | |
201 | + REGMBC(0x13d) REGMBC(0x13f) REGMBC(0x141) | |
202 | + REGMBC(0x1e3a) | |
203 | + return; | |
204 | + case 'M': CASEMBC(0x1e3e) CASEMBC(0x1e40) | |
205 | + regmbc('M'); REGMBC(0x1e3e) REGMBC(0x1e40) | |
206 | return; | |
207 | case 'N': case '\321': | |
208 | + CASEMBC(0x143) CASEMBC(0x145) CASEMBC(0x147) CASEMBC(0x1e44) | |
209 | + CASEMBC(0x1e48) | |
210 | regmbc('N'); regmbc('\321'); | |
211 | + REGMBC(0x143) REGMBC(0x145) REGMBC(0x147) | |
212 | + REGMBC(0x1e44) REGMBC(0x1e48) | |
213 | return; | |
214 | case 'O': case '\322': case '\323': case '\324': case '\325': | |
215 | ! case '\326': case '\330': | |
216 | ! CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150) CASEMBC(0x1a0) | |
217 | ! CASEMBC(0x1d1) CASEMBC(0x1ea) CASEMBC(0x1ec) CASEMBC(0x1ece) | |
218 | regmbc('O'); regmbc('\322'); regmbc('\323'); | |
219 | regmbc('\324'); regmbc('\325'); regmbc('\326'); | |
220 | + regmbc('\330'); | |
221 | + REGMBC(0x14c) REGMBC(0x14e) REGMBC(0x150) | |
222 | + REGMBC(0x1a0) REGMBC(0x1d1) REGMBC(0x1ea) | |
223 | + REGMBC(0x1ec) REGMBC(0x1ece) | |
224 | + return; | |
225 | + case 'P': case 0x1e54: case 0x1e56: | |
226 | + regmbc('P'); REGMBC(0x1e54) REGMBC(0x1e56) | |
227 | + return; | |
228 | + case 'R': CASEMBC(0x154) CASEMBC(0x156) CASEMBC(0x158) | |
229 | + CASEMBC(0x1e58) CASEMBC(0x1e5e) | |
230 | + regmbc('R'); REGMBC(0x154) REGMBC(0x156) REGMBC(0x158) | |
231 | + REGMBC(0x1e58) REGMBC(0x1e5e) | |
232 | + return; | |
233 | + case 'S': CASEMBC(0x15a) CASEMBC(0x15c) CASEMBC(0x15e) | |
234 | + CASEMBC(0x160) CASEMBC(0x1e60) | |
235 | + regmbc('S'); REGMBC(0x15a) REGMBC(0x15c) | |
236 | + REGMBC(0x15e) REGMBC(0x160) REGMBC(0x1e60) | |
237 | + return; | |
238 | + case 'T': CASEMBC(0x162) CASEMBC(0x164) CASEMBC(0x166) | |
239 | + CASEMBC(0x1e6a) CASEMBC(0x1e6e) | |
240 | + regmbc('T'); REGMBC(0x162) REGMBC(0x164) | |
241 | + REGMBC(0x166) REGMBC(0x1e6a) REGMBC(0x1e6e) | |
242 | return; | |
243 | case 'U': case '\331': case '\332': case '\333': case '\334': | |
244 | + CASEMBC(0x168) CASEMBC(0x16a) CASEMBC(0x16c) CASEMBC(0x16e) | |
245 | + CASEMBC(0x170) CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3) | |
246 | + CASEMBC(0x1ee6) | |
247 | regmbc('U'); regmbc('\331'); regmbc('\332'); | |
248 | regmbc('\333'); regmbc('\334'); | |
249 | + REGMBC(0x168) REGMBC(0x16a) REGMBC(0x16c) | |
250 | + REGMBC(0x16e) REGMBC(0x170) REGMBC(0x172) | |
251 | + REGMBC(0x1af) REGMBC(0x1d3) REGMBC(0x1ee6) | |
252 | + return; | |
253 | + case 'V': CASEMBC(0x1e7c) | |
254 | + regmbc('V'); REGMBC(0x1e7c) | |
255 | + return; | |
256 | + case 'W': CASEMBC(0x174) CASEMBC(0x1e80) CASEMBC(0x1e82) | |
257 | + CASEMBC(0x1e84) CASEMBC(0x1e86) | |
258 | + regmbc('W'); REGMBC(0x174) REGMBC(0x1e80) | |
259 | + REGMBC(0x1e82) REGMBC(0x1e84) REGMBC(0x1e86) | |
260 | + return; | |
261 | + case 'X': CASEMBC(0x1e8a) CASEMBC(0x1e8c) | |
262 | + regmbc('X'); REGMBC(0x1e8a) REGMBC(0x1e8c) | |
263 | return; | |
264 | case 'Y': case '\335': | |
265 | + CASEMBC(0x176) CASEMBC(0x178) CASEMBC(0x1e8e) CASEMBC(0x1ef2) | |
266 | + CASEMBC(0x1ef6) CASEMBC(0x1ef8) | |
267 | regmbc('Y'); regmbc('\335'); | |
268 | + REGMBC(0x176) REGMBC(0x178) REGMBC(0x1e8e) | |
269 | + REGMBC(0x1ef2) REGMBC(0x1ef6) REGMBC(0x1ef8) | |
270 | + return; | |
271 | + case 'Z': CASEMBC(0x179) CASEMBC(0x17b) CASEMBC(0x17d) | |
272 | + CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94) | |
273 | + regmbc('Z'); REGMBC(0x179) REGMBC(0x17b) | |
274 | + REGMBC(0x17d) REGMBC(0x1b5) REGMBC(0x1e90) | |
275 | + REGMBC(0x1e94) | |
276 | return; | |
277 | case 'a': case '\340': case '\341': case '\342': | |
278 | case '\343': case '\344': case '\345': | |
279 | + CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105) CASEMBC(0x1ce) | |
280 | + CASEMBC(0x1df) CASEMBC(0x1e1) CASEMBC(0x1ea3) | |
281 | regmbc('a'); regmbc('\340'); regmbc('\341'); | |
282 | regmbc('\342'); regmbc('\343'); regmbc('\344'); | |
283 | regmbc('\345'); | |
284 | + REGMBC(0x101) REGMBC(0x103) REGMBC(0x105) | |
285 | + REGMBC(0x1ce) REGMBC(0x1df) REGMBC(0x1e1) | |
286 | + REGMBC(0x1ea3) | |
287 | + return; | |
288 | + case 'b': CASEMBC(0x1e03) CASEMBC(0x1e07) | |
289 | + regmbc('b'); REGMBC(0x1e03) REGMBC(0x1e07) | |
290 | return; | |
291 | case 'c': case '\347': | |
292 | + CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d) | |
293 | regmbc('c'); regmbc('\347'); | |
294 | + REGMBC(0x107) REGMBC(0x109) REGMBC(0x10b) | |
295 | + REGMBC(0x10d) | |
296 | + return; | |
297 | + case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b) | |
298 | + CASEMBC(0x1e11) | |
299 | + regmbc('d'); REGMBC(0x10f) REGMBC(0x111) | |
300 | + REGMBC(0x1e0b) REGMBC(0x01e0f) REGMBC(0x1e11) | |
301 | return; | |
302 | case 'e': case '\350': case '\351': case '\352': case '\353': | |
303 | + CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119) | |
304 | + CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd) | |
305 | regmbc('e'); regmbc('\350'); regmbc('\351'); | |
306 | regmbc('\352'); regmbc('\353'); | |
307 | + REGMBC(0x113) REGMBC(0x115) REGMBC(0x117) | |
308 | + REGMBC(0x119) REGMBC(0x11b) REGMBC(0x1ebb) | |
309 | + REGMBC(0x1ebd) | |
310 | + return; | |
311 | + case 'f': CASEMBC(0x1e1f) | |
312 | + regmbc('f'); REGMBC(0x1e1f) | |
313 | + return; | |
314 | + case 'g': CASEMBC(0x11d) CASEMBC(0x11f) CASEMBC(0x121) | |
315 | + CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7) CASEMBC(0x1f5) | |
316 | + CASEMBC(0x1e21) | |
317 | + regmbc('g'); REGMBC(0x11d) REGMBC(0x11f) | |
318 | + REGMBC(0x121) REGMBC(0x123) REGMBC(0x1e5) | |
319 | + REGMBC(0x1e7) REGMBC(0x1f5) REGMBC(0x1e21) | |
320 | + return; | |
321 | + case 'h': CASEMBC(0x125) CASEMBC(0x127) CASEMBC(0x1e23) | |
322 | + CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96) | |
323 | + regmbc('h'); REGMBC(0x125) REGMBC(0x127) | |
324 | + REGMBC(0x1e23) REGMBC(0x1e27) REGMBC(0x1e29) | |
325 | + REGMBC(0x1e96) | |
326 | return; | |
327 | case 'i': case '\354': case '\355': case '\356': case '\357': | |
328 | + CASEMBC(0x129) CASEMBC(0x12b) CASEMBC(0x12d) CASEMBC(0x12f) | |
329 | + CASEMBC(0x1d0) CASEMBC(0x1ec9) | |
330 | regmbc('i'); regmbc('\354'); regmbc('\355'); | |
331 | regmbc('\356'); regmbc('\357'); | |
332 | + REGMBC(0x129) REGMBC(0x12b) REGMBC(0x12d) | |
333 | + REGMBC(0x12f) REGMBC(0x1d0) REGMBC(0x1ec9) | |
334 | + return; | |
335 | + case 'j': CASEMBC(0x135) CASEMBC(0x1f0) | |
336 | + regmbc('j'); REGMBC(0x135) REGMBC(0x1f0) | |
337 | + return; | |
338 | + case 'k': CASEMBC(0x137) CASEMBC(0x1e9) CASEMBC(0x1e31) | |
339 | + CASEMBC(0x1e35) | |
340 | + regmbc('k'); REGMBC(0x137) REGMBC(0x1e9) | |
341 | + REGMBC(0x1e31) REGMBC(0x1e35) | |
342 | + return; | |
343 | + case 'l': CASEMBC(0x13a) CASEMBC(0x13c) CASEMBC(0x13e) | |
344 | + CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b) | |
345 | + regmbc('l'); REGMBC(0x13a) REGMBC(0x13c) | |
346 | + REGMBC(0x13e) REGMBC(0x140) REGMBC(0x142) | |
347 | + REGMBC(0x1e3b) | |
348 | + return; | |
349 | + case 'm': CASEMBC(0x1e3f) CASEMBC(0x1e41) | |
350 | + regmbc('m'); REGMBC(0x1e3f) REGMBC(0x1e41) | |
351 | return; | |
352 | case 'n': case '\361': | |
353 | + CASEMBC(0x144) CASEMBC(0x146) CASEMBC(0x148) CASEMBC(0x149) | |
354 | + CASEMBC(0x1e45) CASEMBC(0x1e49) | |
355 | regmbc('n'); regmbc('\361'); | |
356 | + REGMBC(0x144) REGMBC(0x146) REGMBC(0x148) | |
357 | + REGMBC(0x149) REGMBC(0x1e45) REGMBC(0x1e49) | |
358 | return; | |
359 | case 'o': case '\362': case '\363': case '\364': case '\365': | |
360 | ! case '\366': case '\370': | |
361 | ! CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151) CASEMBC(0x1a1) | |
362 | ! CASEMBC(0x1d2) CASEMBC(0x1eb) CASEMBC(0x1ed) CASEMBC(0x1ecf) | |
363 | regmbc('o'); regmbc('\362'); regmbc('\363'); | |
364 | regmbc('\364'); regmbc('\365'); regmbc('\366'); | |
365 | + regmbc('\370'); | |
366 | + REGMBC(0x14d) REGMBC(0x14f) REGMBC(0x151) | |
367 | + REGMBC(0x1a1) REGMBC(0x1d2) REGMBC(0x1eb) | |
368 | + REGMBC(0x1ed) REGMBC(0x1ecf) | |
369 | + return; | |
370 | + case 'p': CASEMBC(0x1e55) CASEMBC(0x1e57) | |
371 | + regmbc('p'); REGMBC(0x1e55) REGMBC(0x1e57) | |
372 | + return; | |
373 | + case 'r': CASEMBC(0x155) CASEMBC(0x157) CASEMBC(0x159) | |
374 | + CASEMBC(0x1e59) CASEMBC(0x1e5f) | |
375 | + regmbc('r'); REGMBC(0x155) REGMBC(0x157) REGMBC(0x159) | |
376 | + REGMBC(0x1e59) REGMBC(0x1e5f) | |
377 | + return; | |
378 | + case 's': CASEMBC(0x15b) CASEMBC(0x15d) CASEMBC(0x15f) | |
379 | + CASEMBC(0x161) CASEMBC(0x1e61) | |
380 | + regmbc('s'); REGMBC(0x15b) REGMBC(0x15d) | |
381 | + REGMBC(0x15f) REGMBC(0x161) REGMBC(0x1e61) | |
382 | + return; | |
383 | + case 't': CASEMBC(0x163) CASEMBC(0x165) CASEMBC(0x167) | |
384 | + CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97) | |
385 | + regmbc('t'); REGMBC(0x163) REGMBC(0x165) REGMBC(0x167) | |
386 | + REGMBC(0x1e6b) REGMBC(0x1e6f) REGMBC(0x1e97) | |
387 | return; | |
388 | case 'u': case '\371': case '\372': case '\373': case '\374': | |
389 | + CASEMBC(0x169) CASEMBC(0x16b) CASEMBC(0x16d) CASEMBC(0x16f) | |
390 | + CASEMBC(0x171) CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4) | |
391 | + CASEMBC(0x1ee7) | |
392 | regmbc('u'); regmbc('\371'); regmbc('\372'); | |
393 | regmbc('\373'); regmbc('\374'); | |
394 | + REGMBC(0x169) REGMBC(0x16b) REGMBC(0x16d) | |
395 | + REGMBC(0x16f) REGMBC(0x171) REGMBC(0x173) | |
396 | + REGMBC(0x1b0) REGMBC(0x1d4) REGMBC(0x1ee7) | |
397 | + return; | |
398 | + case 'v': CASEMBC(0x1e7d) | |
399 | + regmbc('v'); REGMBC(0x1e7d) | |
400 | + return; | |
401 | + case 'w': CASEMBC(0x175) CASEMBC(0x1e81) CASEMBC(0x1e83) | |
402 | + CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98) | |
403 | + regmbc('w'); REGMBC(0x175) REGMBC(0x1e81) | |
404 | + REGMBC(0x1e83) REGMBC(0x1e85) REGMBC(0x1e87) | |
405 | + REGMBC(0x1e98) | |
406 | + return; | |
407 | + case 'x': CASEMBC(0x1e8b) CASEMBC(0x1e8d) | |
408 | + regmbc('x'); REGMBC(0x1e8b) REGMBC(0x1e8d) | |
409 | return; | |
410 | case 'y': case '\375': case '\377': | |
411 | + CASEMBC(0x177) CASEMBC(0x1e8f) CASEMBC(0x1e99) | |
412 | + CASEMBC(0x1ef3) CASEMBC(0x1ef7) CASEMBC(0x1ef9) | |
413 | regmbc('y'); regmbc('\375'); regmbc('\377'); | |
414 | + REGMBC(0x177) REGMBC(0x1e8f) REGMBC(0x1e99) | |
415 | + REGMBC(0x1ef3) REGMBC(0x1ef7) REGMBC(0x1ef9) | |
416 | + return; | |
417 | + case 'z': CASEMBC(0x17a) CASEMBC(0x17c) CASEMBC(0x17e) | |
418 | + CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95) | |
419 | + regmbc('z'); REGMBC(0x17a) REGMBC(0x17c) | |
420 | + REGMBC(0x17e) REGMBC(0x1b6) REGMBC(0x1e91) | |
421 | + REGMBC(0x1e95) | |
422 | return; | |
423 | } | |
424 | #endif | |
425 | *************** | |
426 | *** 2468,2473 **** | |
427 | --- 2699,2706 ---- | |
428 | regmbc(c) | |
429 | int c; | |
430 | { | |
431 | + if (!has_mbyte && c > 0xff) | |
432 | + return; | |
433 | if (regcode == JUST_CALC_SIZE) | |
434 | regsize += (*mb_char2len)(c); | |
435 | else | |
436 | *************** | |
437 | *** 2588,2594 **** | |
438 | else | |
439 | offset = (int)(val - scan); | |
440 | /* When the offset uses more than 16 bits it can no longer fit in the two | |
441 | ! * bytes avaliable. Use a global flag to avoid having to check return | |
442 | * values in too many places. */ | |
443 | if (offset > 0xffff) | |
444 | reg_toolong = TRUE; | |
445 | --- 2821,2827 ---- | |
446 | else | |
447 | offset = (int)(val - scan); | |
448 | /* When the offset uses more than 16 bits it can no longer fit in the two | |
449 | ! * bytes available. Use a global flag to avoid having to check return | |
450 | * values in too many places. */ | |
451 | if (offset > 0xffff) | |
452 | reg_toolong = TRUE; | |
453 | *** ../vim-7.3.258/src/testdir/test44.in 2010-08-15 21:57:29.000000000 +0200 | |
454 | --- src/testdir/test44.in 2011-07-20 17:36:49.000000000 +0200 | |
455 | *************** | |
456 | *** 27,32 **** | |
457 | --- 27,34 ---- | |
458 | x/\%U12345678 | |
459 | x/[\U1234abcd\u1234\uabcd] | |
460 | x/\%d21879b | |
461 | + 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 | |
462 | + 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 | |
463 | x:?^1?,$w! test.out | |
464 | :e! test.out | |
465 | G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב | |
466 | *************** | |
467 | *** 53,55 **** | |
468 | --- 55,59 ---- | |
469 | e y | |
470 | f z | |
471 | g a啷bb | |
472 | + 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ŹŻŽƵẐẔ | |
473 | + 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źżžƶẑẕ | |
474 | *** ../vim-7.3.258/src/testdir/test44.ok 2010-08-15 21:57:29.000000000 +0200 | |
475 | --- src/testdir/test44.ok 2011-07-20 17:36:49.000000000 +0200 | |
476 | *************** | |
477 | *** 14,19 **** | |
478 | --- 14,21 ---- | |
479 | e y | |
480 | f z | |
481 | g abb | |
482 | + 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ŹŻŽƵẐ | |
483 | + 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źżžƶẑ | |
484 | ב | |
485 | בג | |
486 | א | |
487 | *** ../vim-7.3.258/src/version.c 2011-07-20 17:27:17.000000000 +0200 | |
488 | --- src/version.c 2011-07-20 17:38:32.000000000 +0200 | |
489 | *************** | |
490 | *** 711,712 **** | |
491 | --- 711,714 ---- | |
492 | { /* Add new patch number below this line */ | |
493 | + /**/ | |
494 | + 259, | |
495 | /**/ | |
496 | ||
497 | -- | |
498 | Not too long ago, compress was something you did to garbage... | |
499 | ||
500 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
501 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
502 | \\\ an exciting new programming language -- http://www.Zimbu.org /// | |
503 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |