blob: dcdb62b283943d762e5c0ebfea646f93039e9d2e [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
Bram Moolenaar9d2c8c12007-09-25 16:00:00 +000093:unlet str a
Bram Moolenaar53180ce2005-07-05 21:48:14 +000094:"
95:" Postponed prefixes
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000096:call TestOne('2', '1')
97:"
98:" Compound words
99:call TestOne('3', '3')
100:call TestOne('4', '4')
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000101:call TestOne('5', '5')
102:call TestOne('6', '6')
103:call TestOne('7', '7')
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000104:"
Bram Moolenaar9d2c8c12007-09-25 16:00:00 +0000105:" clean up for valgrind
106:delfunc TestOne
107:set spl= enc=latin1
108:"
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000109gg:/^test output:/,$wq! test.out
110ENDTEST
111
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001121affstart
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000113SET ISO8859-1
114TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
115
116FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
117LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
118UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
119
120SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
121SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
122
123MIDWORD '-
124
125KEP =
126RAR ?
127BAD !
128
Bram Moolenaarfd2ac762006-03-01 22:09:21 +0000129#NOSPLITSUGS
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000130
131PFX I N 1
132PFX I 0 in .
133
134PFX O Y 1
135PFX O 0 out .
136
137SFX S Y 2
138SFX S 0 s [^s]
139SFX S 0 es s
140
141SFX N N 3
142SFX N 0 en [^n]
143SFX N 0 nen n
144SFX N 0 n .
145
146REP 3
147REP g ch
148REP ch g
149REP svp s.v.p.
150
151MAP 9
152MAP aàáâãäå
153MAP eèéêë
154MAP iìíîï
155MAP oòóôõö
156MAP uùúûü
157MAP nñ
158MAP cç
159MAP yÿý
160MAP sß
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001611affend
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000162
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000163affstart_sal
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000164SET ISO8859-1
165TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
166
167FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
168LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
169UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
170
171MIDWORD '-
172
173KEP =
174RAR ?
175BAD !
176
Bram Moolenaarfd2ac762006-03-01 22:09:21 +0000177#NOSPLITSUGS
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000178
179PFX I N 1
180PFX I 0 in .
181
182PFX O Y 1
183PFX O 0 out .
184
185SFX S Y 2
186SFX S 0 s [^s]
187SFX S 0 es s
188
189SFX N N 3
190SFX N 0 en [^n]
191SFX N 0 nen n
192SFX N 0 n .
193
194REP 3
195REP g ch
196REP ch g
197REP svp s.v.p.
198
199MAP 9
200MAP aàáâãäå
201MAP eèéêë
202MAP iìíîï
203MAP oòóôõö
204MAP uùúûü
205MAP nñ
206MAP cç
207MAP yÿý
208MAP sß
209
210SAL AH(AEIOUY)-^ *H
211SAL AR(AEIOUY)-^ *R
212SAL A(HR)^ *
213SAL A^ *
214SAL AH(AEIOUY)- H
215SAL AR(AEIOUY)- R
216SAL A(HR) _
217SAL À^ *
218SAL Å^ *
219SAL BB- _
220SAL B B
221SAL CQ- _
222SAL CIA X
223SAL CH X
224SAL C(EIY)- S
225SAL CK K
226SAL COUGH^ KF
227SAL CC< C
228SAL C K
229SAL DG(EIY) K
230SAL DD- _
231SAL D T
232SAL É< E
233SAL EH(AEIOUY)-^ *H
234SAL ER(AEIOUY)-^ *R
235SAL E(HR)^ *
236SAL ENOUGH^$ *NF
237SAL E^ *
238SAL EH(AEIOUY)- H
239SAL ER(AEIOUY)- R
240SAL E(HR) _
241SAL FF- _
242SAL F F
243SAL GN^ N
244SAL GN$ N
245SAL GNS$ NS
246SAL GNED$ N
247SAL GH(AEIOUY)- K
248SAL GH _
249SAL GG9 K
250SAL G K
251SAL H H
252SAL IH(AEIOUY)-^ *H
253SAL IR(AEIOUY)-^ *R
254SAL I(HR)^ *
255SAL I^ *
256SAL ING6 N
257SAL IH(AEIOUY)- H
258SAL IR(AEIOUY)- R
259SAL I(HR) _
260SAL J K
261SAL KN^ N
262SAL KK- _
263SAL K K
264SAL LAUGH^ LF
265SAL LL- _
266SAL L L
267SAL MB$ M
268SAL MM M
269SAL M M
270SAL NN- _
271SAL N N
272SAL OH(AEIOUY)-^ *H
273SAL OR(AEIOUY)-^ *R
274SAL O(HR)^ *
275SAL O^ *
276SAL OH(AEIOUY)- H
277SAL OR(AEIOUY)- R
278SAL O(HR) _
279SAL PH F
280SAL PN^ N
281SAL PP- _
282SAL P P
283SAL Q K
284SAL RH^ R
285SAL ROUGH^ RF
286SAL RR- _
287SAL R R
288SAL SCH(EOU)- SK
289SAL SC(IEY)- S
290SAL SH X
291SAL SI(AO)- X
292SAL SS- _
293SAL S S
294SAL TI(AO)- X
295SAL TH @
296SAL TCH-- _
297SAL TOUGH^ TF
298SAL TT- _
299SAL T T
300SAL UH(AEIOUY)-^ *H
301SAL UR(AEIOUY)-^ *R
302SAL U(HR)^ *
303SAL U^ *
304SAL UH(AEIOUY)- H
305SAL UR(AEIOUY)- R
306SAL U(HR) _
307SAL V^ W
308SAL V F
309SAL WR^ R
310SAL WH^ W
311SAL W(AEIOU)- W
312SAL X^ S
313SAL X KS
314SAL Y(AEIOU)- Y
315SAL ZZ- _
316SAL Z S
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000317affend_sal
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000318
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003192affstart
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000320SET ISO8859-1
321
322FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
323LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
324UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
325
326PFXPOSTPONE
327
328MIDWORD '-
329
330KEP =
331RAR ?
332BAD !
333
Bram Moolenaarfd2ac762006-03-01 22:09:21 +0000334#NOSPLITSUGS
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000335
336PFX I N 1
337PFX I 0 in .
338
339PFX O Y 1
Bram Moolenaar78984f52005-08-01 07:19:10 +0000340PFX O 0 out [a-z]
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000341
342SFX S Y 2
343SFX S 0 s [^s]
344SFX S 0 es s
345
346SFX N N 3
347SFX N 0 en [^n]
348SFX N 0 nen n
349SFX N 0 n .
350
351REP 3
352REP g ch
353REP ch g
354REP svp s.v.p.
355
356MAP 9
357MAP aàáâãäå
358MAP eèéêë
359MAP iìíîï
360MAP oòóôõö
361MAP uùúûü
362MAP nñ
363MAP cç
364MAP yÿý
365MAP sß
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003662affend
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000367
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003681dicstart
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000369123456
370test/NO
371# comment
372wrong
373Comment
374OK
375uk
376put/ISO
377the end
378deol
379déôr
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003801dicend
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000381
382addstart
383/regions=usgbnz
384elequint/2
385elekwint/3
386addend
387
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003881good: wrong OK puts. Test the end
389bad: inputs comment ok Ok. test déôl end the
390badend
391
3922good: puts
393bad: inputs comment ok Ok end the. test déôl
394badend
395
396Test rules for compounding.
397
3983affstart
399SET ISO8859-1
400
401COMPOUNDMIN 3
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000402COMPOUNDRULE m*
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000403NEEDCOMPOUND x
4043affend
405
4063dicstart
4071234
408foo/m
409bar/mx
410mï/m
411la/mx
4123dicend
413
4143good: foo mï foobar foofoobar barfoo barbarfoo
415bad: bar la foomï barmï mïfoo mïbar mïmï lala mïla lamï foola labar
416badend
417
418
419Tests for compounding.
420
4214affstart
422SET ISO8859-1
423
424FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
425LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
426UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
427
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000428COMPOUNDRULE m+
429COMPOUNDRULE sm*e
430COMPOUNDRULE sm+
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000431COMPOUNDMIN 3
Bram Moolenaar899dddf2006-03-26 21:06:50 +0000432COMPOUNDWORDMAX 3
433COMPOUNDFORBIDFLAG t
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000434
435COMPOUNDSYLMAX 5
436SYLLABLE aáeéiíoóöõuúüûy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui
437
438MAP 9
439MAP aàáâãäå
440MAP eèéêë
441MAP iìíîï
442MAP oòóôõö
443MAP uùúûü
444MAP nñ
445MAP cç
446MAP yÿý
447MAP sß
448
449NEEDAFFIX x
450
451PFXPOSTPONE
452
453MIDWORD '-
454
455SFX q N 1
456SFX q 0 -ok .
457
458SFX a Y 2
459SFX a 0 s .
Bram Moolenaar899dddf2006-03-26 21:06:50 +0000460SFX a 0 ize/t .
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000461
462PFX p N 1
463PFX p 0 pre .
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000464
465PFX P N 1
466PFX P 0 nou .
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004674affend
468
4694dicstart
4701234
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000471word/mP
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000472util/am
473pro/xq
474tomato/m
475bork/mp
476start/s
477end/e
4784dicend
479
4804good: word util bork prebork start end wordutil wordutils pro-ok
481 bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork
482 tomato tomatotomato startend startword startwordword startwordend
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000483 startwordwordend startwordwordwordend prebork preborkbork
484 preborkborkbork
485 nouword
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000486bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomato
487 endstart endend startstart wordend wordstart
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000488 preborkprebork preborkpreborkbork
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000489 startwordwordwordwordend borkpreborkpreborkbork
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000490 utilsbork startnouword
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000491badend
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000492
493test2:
494elequint test elekwint test elekwent asdf
495
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000496Test affix flags with two characters
497
4985affstart
499SET ISO8859-1
500
501FLAG long
502
503NEEDAFFIX !!
504
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000505COMPOUNDRULE ssmm*ee
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000506
507NEEDCOMPOUND xx
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000508COMPOUNDPERMITFLAG pp
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000509
510SFX 13 Y 1
511SFX 13 0 bork .
512
513SFX a1 Y 1
514SFX a1 0 a1 .
515
516SFX aé Y 1
517SFX aé 0 aé .
518
519PFX zz Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000520PFX zz 0 pre/pp .
521
522PFX yy Y 1
523PFX yy 0 nou .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00005245affend
525
5265dicstart
5271234
528foo/a1aé!!
529bar/zz13ee
530start/ss
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000531end/eeyy
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000532middle/mmxx
5335dicend
534
5355good: fooa1 fooaé bar prebar barbork prebarbork startprebar
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000536 start end startend startmiddleend nouend
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000537bad: foo fooa2 prabar probarbirk middle startmiddle middleend endstart
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000538 startprobar startnouend
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000539badend
540
5416affstart
542SET ISO8859-1
543
544FLAG caplong
545
546NEEDAFFIX A!
547
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000548COMPOUNDRULE sMm*Ee
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000549
550NEEDCOMPOUND Xx
551
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000552COMPOUNDPERMITFLAG p
553
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000554SFX N3 Y 1
555SFX N3 0 bork .
556
557SFX A1 Y 1
558SFX A1 0 a1 .
559
560SFX Aé Y 1
561SFX Aé 0 aé .
562
563PFX Zz Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000564PFX Zz 0 pre/p .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00005656affend
566
5676dicstart
5681234
569mee/A1AéA!
570bar/ZzN3Ee
571lead/s
572end/Ee
573middle/MmXx
5746dicend
575
5766good: meea1 meeaé bar prebar barbork prebarbork leadprebar
577 lead end leadend leadmiddleend
578bad: mee meea2 prabar probarbirk middle leadmiddle middleend endlead
579 leadprobar
580badend
581
5827affstart
583SET ISO8859-1
584
585FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
586LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
587UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
588
589FLAG num
590
591NEEDAFFIX 9999
592
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000593COMPOUNDRULE 2,77*123
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000594
595NEEDCOMPOUND 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000596COMPOUNDPERMITFLAG 432
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000597
598SFX 61003 Y 1
599SFX 61003 0 meat .
600
601SFX 391 Y 1
602SFX 391 0 a1 .
603
604SFX 111 Y 1
605SFX 111 0 aé .
606
607PFX 17 Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000608PFX 17 0 pre/432 .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00006097affend
610
6117dicstart
6121234
613mee/391,111,9999
614bar/17,61003,123
615lead/2
616tail/123
617middle/77,1
6187dicend
619
6207good: meea1 meeaé bar prebar barmeat prebarmeat leadprebar
621 lead tail leadtail leadmiddletail
622bad: mee meea2 prabar probarmaat middle leadmiddle middletail taillead
623 leadprobar
624badend
625
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000626test output: