blob: bd63796835e1a7e7e23d13fb887cdb8d428cf9dd [file] [log] [blame]
Bram Moolenaar53180ce2005-07-05 21:48:14 +00001Tests for spell checking with 'encoding' set to "utf-8". vim: set ft=vim :
2
3STARTTEST
4:so small.vim
5:so mbyte.vim
6:"
Bram Moolenaar8d343302005-07-12 22:46:17 +00007:" Don't want to depend on the locale from the environment. The .aff and .dic
8:" text is in latin1, the test text is utf-8.
9:set enc=latin1
10:e!
Bram Moolenaar53180ce2005-07-05 21:48:14 +000011:set enc=utf-8
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000012:set fenc=
Bram Moolenaar53180ce2005-07-05 21:48:14 +000013:"
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000014:" Function to test .aff/.dic with list of good and bad words.
15:func TestOne(aff, dic)
16 set spellfile=
17 $put =''
18 $put ='test '. a:aff . '-' . a:dic
19 " Generate a .spl file from a .dic and .aff file.
20 exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
21 exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
22 mkspell! Xtest Xtest
23 " use that spell file
24 set spl=Xtest.utf-8.spl spell
25 " list all valid words
26 spelldump
27 %yank
28 quit
29 $put
30 $put ='-------'
31 " find all bad words and suggestions for them
32 exe '1;/^' . a:aff . 'good:'
33 normal 0f:]s
34 let prevbad = ''
35 while 1
Bram Moolenaar1e015462005-09-25 22:16:38 +000036 let [bad, a] = spellbadword()
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000037 if bad == '' || bad == prevbad || bad == 'badend'
38 break
39 endif
40 let prevbad = bad
41 let lst = spellsuggest(bad, 3)
42 normal mm
43 $put =bad
44 $put =string(lst)
45 normal `m]s
46 endwhile
Bram Moolenaar53180ce2005-07-05 21:48:14 +000047endfunc
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000048:"
49:call TestOne('1', '1')
Bram Moolenaar53180ce2005-07-05 21:48:14 +000050:$put =soundfold('goobledygoook')
51:$put =soundfold('kóopërÿnôven')
52:$put =soundfold('oeverloos gezwets edale')
53:"
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000054:"
Bram Moolenaar53180ce2005-07-05 21:48:14 +000055:" and now with SAL instead of SOFO items; test automatic reloading
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000056gg:/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
Bram Moolenaar53180ce2005-07-05 21:48:14 +000057:mkspell! Xtest Xtest
58:$put =soundfold('goobledygoook')
59:$put =soundfold('kóopërÿnôven')
60:$put =soundfold('oeverloos gezwets edale')
61:"
62:" also use an addition file
63gg:/^addstart/+1,/^addend/-1w! Xtest.utf-8.add
64:mkspell! Xtest.utf-8.add.spl Xtest.utf-8.add
Bram Moolenaar53180ce2005-07-05 21:48:14 +000065:set spellfile=Xtest.utf-8.add
66/^test2:
Bram Moolenaar1e015462005-09-25 22:16:38 +000067]s:let [str, a] = spellbadword()
Bram Moolenaar53180ce2005-07-05 21:48:14 +000068:$put =str
Bram Moolenaarbbebc852005-07-18 21:47:53 +000069:set spl=Xtest_us.utf-8.spl
Bram Moolenaar53180ce2005-07-05 21:48:14 +000070/^test2:
Bram Moolenaar1e015462005-09-25 22:16:38 +000071]smm:let [str, a] = spellbadword()
Bram Moolenaar53180ce2005-07-05 21:48:14 +000072:$put =str
Bram Moolenaar1e015462005-09-25 22:16:38 +000073`m]s:let [str, a] = spellbadword()
Bram Moolenaar53180ce2005-07-05 21:48:14 +000074:$put =str
Bram Moolenaarbbebc852005-07-18 21:47:53 +000075:set spl=Xtest_gb.utf-8.spl
Bram Moolenaar53180ce2005-07-05 21:48:14 +000076/^test2:
Bram Moolenaar1e015462005-09-25 22:16:38 +000077]smm:let [str, a] = spellbadword()
Bram Moolenaar53180ce2005-07-05 21:48:14 +000078:$put =str
Bram Moolenaar1e015462005-09-25 22:16:38 +000079`m]s:let [str, a] = spellbadword()
Bram Moolenaar53180ce2005-07-05 21:48:14 +000080:$put =str
Bram Moolenaarbbebc852005-07-18 21:47:53 +000081:set spl=Xtest_nz.utf-8.spl
Bram Moolenaar53180ce2005-07-05 21:48:14 +000082/^test2:
Bram Moolenaar1e015462005-09-25 22:16:38 +000083]smm:let [str, a] = spellbadword()
Bram Moolenaar53180ce2005-07-05 21:48:14 +000084:$put =str
Bram Moolenaar1e015462005-09-25 22:16:38 +000085`m]s:let [str, a] = spellbadword()
Bram Moolenaar53180ce2005-07-05 21:48:14 +000086:$put =str
Bram Moolenaarbbebc852005-07-18 21:47:53 +000087:set spl=Xtest_ca.utf-8.spl
Bram Moolenaar53180ce2005-07-05 21:48:14 +000088/^test2:
Bram Moolenaar1e015462005-09-25 22:16:38 +000089]smm:let [str, a] = spellbadword()
Bram Moolenaar53180ce2005-07-05 21:48:14 +000090:$put =str
Bram Moolenaar1e015462005-09-25 22:16:38 +000091`m]s:let [str, a] = spellbadword()
Bram Moolenaar53180ce2005-07-05 21:48:14 +000092:$put =str
93:"
94:" Postponed prefixes
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000095:call TestOne('2', '1')
96:"
97:" Compound words
98:call TestOne('3', '3')
99:call TestOne('4', '4')
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000100:call TestOne('5', '5')
101:call TestOne('6', '6')
102:call TestOne('7', '7')
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000103:"
104gg:/^test output:/,$wq! test.out
105ENDTEST
106
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001071affstart
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000108SET ISO8859-1
109TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
110
111FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
112LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
113UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
114
115SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
116SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
117
118MIDWORD '-
119
120KEP =
121RAR ?
122BAD !
123
Bram Moolenaarfd2ac762006-03-01 22:09:21 +0000124#NOSPLITSUGS
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000125
126PFX I N 1
127PFX I 0 in .
128
129PFX O Y 1
130PFX O 0 out .
131
132SFX S Y 2
133SFX S 0 s [^s]
134SFX S 0 es s
135
136SFX N N 3
137SFX N 0 en [^n]
138SFX N 0 nen n
139SFX N 0 n .
140
141REP 3
142REP g ch
143REP ch g
144REP svp s.v.p.
145
146MAP 9
147MAP aàáâãäå
148MAP eèéêë
149MAP iìíîï
150MAP oòóôõö
151MAP uùúûü
152MAP nñ
153MAP cç
154MAP yÿý
155MAP sß
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001561affend
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000157
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000158affstart_sal
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000159SET ISO8859-1
160TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
161
162FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
163LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
164UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
165
166MIDWORD '-
167
168KEP =
169RAR ?
170BAD !
171
Bram Moolenaarfd2ac762006-03-01 22:09:21 +0000172#NOSPLITSUGS
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000173
174PFX I N 1
175PFX I 0 in .
176
177PFX O Y 1
178PFX O 0 out .
179
180SFX S Y 2
181SFX S 0 s [^s]
182SFX S 0 es s
183
184SFX N N 3
185SFX N 0 en [^n]
186SFX N 0 nen n
187SFX N 0 n .
188
189REP 3
190REP g ch
191REP ch g
192REP svp s.v.p.
193
194MAP 9
195MAP aàáâãäå
196MAP eèéêë
197MAP iìíîï
198MAP oòóôõö
199MAP uùúûü
200MAP nñ
201MAP cç
202MAP yÿý
203MAP sß
204
205SAL AH(AEIOUY)-^ *H
206SAL AR(AEIOUY)-^ *R
207SAL A(HR)^ *
208SAL A^ *
209SAL AH(AEIOUY)- H
210SAL AR(AEIOUY)- R
211SAL A(HR) _
212SAL À^ *
213SAL Å^ *
214SAL BB- _
215SAL B B
216SAL CQ- _
217SAL CIA X
218SAL CH X
219SAL C(EIY)- S
220SAL CK K
221SAL COUGH^ KF
222SAL CC< C
223SAL C K
224SAL DG(EIY) K
225SAL DD- _
226SAL D T
227SAL É< E
228SAL EH(AEIOUY)-^ *H
229SAL ER(AEIOUY)-^ *R
230SAL E(HR)^ *
231SAL ENOUGH^$ *NF
232SAL E^ *
233SAL EH(AEIOUY)- H
234SAL ER(AEIOUY)- R
235SAL E(HR) _
236SAL FF- _
237SAL F F
238SAL GN^ N
239SAL GN$ N
240SAL GNS$ NS
241SAL GNED$ N
242SAL GH(AEIOUY)- K
243SAL GH _
244SAL GG9 K
245SAL G K
246SAL H H
247SAL IH(AEIOUY)-^ *H
248SAL IR(AEIOUY)-^ *R
249SAL I(HR)^ *
250SAL I^ *
251SAL ING6 N
252SAL IH(AEIOUY)- H
253SAL IR(AEIOUY)- R
254SAL I(HR) _
255SAL J K
256SAL KN^ N
257SAL KK- _
258SAL K K
259SAL LAUGH^ LF
260SAL LL- _
261SAL L L
262SAL MB$ M
263SAL MM M
264SAL M M
265SAL NN- _
266SAL N N
267SAL OH(AEIOUY)-^ *H
268SAL OR(AEIOUY)-^ *R
269SAL O(HR)^ *
270SAL O^ *
271SAL OH(AEIOUY)- H
272SAL OR(AEIOUY)- R
273SAL O(HR) _
274SAL PH F
275SAL PN^ N
276SAL PP- _
277SAL P P
278SAL Q K
279SAL RH^ R
280SAL ROUGH^ RF
281SAL RR- _
282SAL R R
283SAL SCH(EOU)- SK
284SAL SC(IEY)- S
285SAL SH X
286SAL SI(AO)- X
287SAL SS- _
288SAL S S
289SAL TI(AO)- X
290SAL TH @
291SAL TCH-- _
292SAL TOUGH^ TF
293SAL TT- _
294SAL T T
295SAL UH(AEIOUY)-^ *H
296SAL UR(AEIOUY)-^ *R
297SAL U(HR)^ *
298SAL U^ *
299SAL UH(AEIOUY)- H
300SAL UR(AEIOUY)- R
301SAL U(HR) _
302SAL V^ W
303SAL V F
304SAL WR^ R
305SAL WH^ W
306SAL W(AEIOU)- W
307SAL X^ S
308SAL X KS
309SAL Y(AEIOU)- Y
310SAL ZZ- _
311SAL Z S
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000312affend_sal
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000313
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003142affstart
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000315SET ISO8859-1
316
317FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
318LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
319UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
320
321PFXPOSTPONE
322
323MIDWORD '-
324
325KEP =
326RAR ?
327BAD !
328
Bram Moolenaarfd2ac762006-03-01 22:09:21 +0000329#NOSPLITSUGS
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000330
331PFX I N 1
332PFX I 0 in .
333
334PFX O Y 1
Bram Moolenaar78984f52005-08-01 07:19:10 +0000335PFX O 0 out [a-z]
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000336
337SFX S Y 2
338SFX S 0 s [^s]
339SFX S 0 es s
340
341SFX N N 3
342SFX N 0 en [^n]
343SFX N 0 nen n
344SFX N 0 n .
345
346REP 3
347REP g ch
348REP ch g
349REP svp s.v.p.
350
351MAP 9
352MAP aàáâãäå
353MAP eèéêë
354MAP iìíîï
355MAP oòóôõö
356MAP uùúûü
357MAP nñ
358MAP cç
359MAP yÿý
360MAP sß
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003612affend
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000362
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003631dicstart
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000364123456
365test/NO
366# comment
367wrong
368Comment
369OK
370uk
371put/ISO
372the end
373deol
374déôr
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003751dicend
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000376
377addstart
378/regions=usgbnz
379elequint/2
380elekwint/3
381addend
382
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003831good: wrong OK puts. Test the end
384bad: inputs comment ok Ok. test déôl end the
385badend
386
3872good: puts
388bad: inputs comment ok Ok end the. test déôl
389badend
390
391Test rules for compounding.
392
3933affstart
394SET ISO8859-1
395
396COMPOUNDMIN 3
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000397COMPOUNDRULE m*
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000398NEEDCOMPOUND x
3993affend
400
4013dicstart
4021234
403foo/m
404bar/mx
405mï/m
406la/mx
4073dicend
408
4093good: foo mï foobar foofoobar barfoo barbarfoo
410bad: bar la foomï barmï mïfoo mïbar mïmï lala mïla lamï foola labar
411badend
412
413
414Tests for compounding.
415
4164affstart
417SET ISO8859-1
418
419FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
420LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
421UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
422
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000423COMPOUNDRULE m+
424COMPOUNDRULE sm*e
425COMPOUNDRULE sm+
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000426COMPOUNDMIN 3
Bram Moolenaar899dddf2006-03-26 21:06:50 +0000427COMPOUNDWORDMAX 3
428COMPOUNDFORBIDFLAG t
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000429
430COMPOUNDSYLMAX 5
431SYLLABLE aáeéiíoóöõuúüûy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui
432
433MAP 9
434MAP aàáâãäå
435MAP eèéêë
436MAP iìíîï
437MAP oòóôõö
438MAP uùúûü
439MAP nñ
440MAP cç
441MAP yÿý
442MAP sß
443
444NEEDAFFIX x
445
446PFXPOSTPONE
447
448MIDWORD '-
449
450SFX q N 1
451SFX q 0 -ok .
452
453SFX a Y 2
454SFX a 0 s .
Bram Moolenaar899dddf2006-03-26 21:06:50 +0000455SFX a 0 ize/t .
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000456
457PFX p N 1
458PFX p 0 pre .
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000459
460PFX P N 1
461PFX P 0 nou .
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004624affend
463
4644dicstart
4651234
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000466word/mP
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000467util/am
468pro/xq
469tomato/m
470bork/mp
471start/s
472end/e
4734dicend
474
4754good: word util bork prebork start end wordutil wordutils pro-ok
476 bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork
477 tomato tomatotomato startend startword startwordword startwordend
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000478 startwordwordend startwordwordwordend prebork preborkbork
479 preborkborkbork
480 nouword
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000481bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomato
482 endstart endend startstart wordend wordstart
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000483 preborkprebork preborkpreborkbork
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000484 startwordwordwordwordend borkpreborkpreborkbork
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000485 utilsbork startnouword
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000486badend
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000487
488test2:
489elequint test elekwint test elekwent asdf
490
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000491Test affix flags with two characters
492
4935affstart
494SET ISO8859-1
495
496FLAG long
497
498NEEDAFFIX !!
499
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000500COMPOUNDRULE ssmm*ee
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000501
502NEEDCOMPOUND xx
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000503COMPOUNDPERMITFLAG pp
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000504
505SFX 13 Y 1
506SFX 13 0 bork .
507
508SFX a1 Y 1
509SFX a1 0 a1 .
510
511SFX aé Y 1
512SFX aé 0 aé .
513
514PFX zz Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000515PFX zz 0 pre/pp .
516
517PFX yy Y 1
518PFX yy 0 nou .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00005195affend
520
5215dicstart
5221234
523foo/a1aé!!
524bar/zz13ee
525start/ss
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000526end/eeyy
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000527middle/mmxx
5285dicend
529
5305good: fooa1 fooaé bar prebar barbork prebarbork startprebar
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000531 start end startend startmiddleend nouend
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000532bad: foo fooa2 prabar probarbirk middle startmiddle middleend endstart
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000533 startprobar startnouend
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000534badend
535
5366affstart
537SET ISO8859-1
538
539FLAG caplong
540
541NEEDAFFIX A!
542
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000543COMPOUNDRULE sMm*Ee
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000544
545NEEDCOMPOUND Xx
546
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000547COMPOUNDPERMITFLAG p
548
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000549SFX N3 Y 1
550SFX N3 0 bork .
551
552SFX A1 Y 1
553SFX A1 0 a1 .
554
555SFX Aé Y 1
556SFX Aé 0 aé .
557
558PFX Zz Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000559PFX Zz 0 pre/p .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00005606affend
561
5626dicstart
5631234
564mee/A1AéA!
565bar/ZzN3Ee
566lead/s
567end/Ee
568middle/MmXx
5696dicend
570
5716good: meea1 meeaé bar prebar barbork prebarbork leadprebar
572 lead end leadend leadmiddleend
573bad: mee meea2 prabar probarbirk middle leadmiddle middleend endlead
574 leadprobar
575badend
576
5777affstart
578SET ISO8859-1
579
580FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
581LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
582UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
583
584FLAG num
585
586NEEDAFFIX 9999
587
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000588COMPOUNDRULE 2,77*123
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000589
590NEEDCOMPOUND 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000591COMPOUNDPERMITFLAG 432
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000592
593SFX 61003 Y 1
594SFX 61003 0 meat .
595
596SFX 391 Y 1
597SFX 391 0 a1 .
598
599SFX 111 Y 1
600SFX 111 0 aé .
601
602PFX 17 Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000603PFX 17 0 pre/432 .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00006047affend
605
6067dicstart
6071234
608mee/391,111,9999
609bar/17,61003,123
610lead/2
611tail/123
612middle/77,1
6137dicend
614
6157good: meea1 meeaé bar prebar barmeat prebarmeat leadprebar
616 lead tail leadtail leadmiddletail
617bad: mee meea2 prabar probarmaat middle leadmiddle middletail taillead
618 leadprobar
619badend
620
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000621test output: