blob: 9600e83f817fd3d4a3c44940345366fa61f33458 [file] [log] [blame]
Bram Moolenaar0dc065e2005-07-04 22:49:24 +00001Tests for spell checking. vim: set ft=vim :
2
3STARTTEST
4:so small.vim
5:"
Bram Moolenaare759a7a2005-07-12 22:50:18 +00006:" Don't want to depend on the locale from the environment
Bram Moolenaar0dc065e2005-07-04 22:49:24 +00007:set enc=latin1
Bram Moolenaare759a7a2005-07-12 22:50:18 +00008:e!
Bram Moolenaar0dc065e2005-07-04 22:49:24 +00009:"
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000010:" Function to test .aff/.dic with list of good and bad words.
11:func TestOne(aff, dic)
12 set spellfile=
13 $put =''
14 $put ='test '. a:aff . '-' . a:dic
15 " Generate a .spl file from a .dic and .aff file.
16 exe '1;/^' . a:aff . 'affstart/+1,/^' . a:aff . 'affend/-1w! Xtest.aff'
17 exe '1;/^' . a:dic . 'dicstart/+1,/^' . a:dic . 'dicend/-1w! Xtest.dic'
18 mkspell! Xtest Xtest
19 " use that spell file
20 set spl=Xtest.latin1.spl spell
21 " list all valid words
22 spelldump
23 %yank
24 quit
25 $put
26 $put ='-------'
27 " find all bad words and suggestions for them
28 exe '1;/^' . a:aff . 'good:'
29 normal 0f:]s
30 let prevbad = ''
31 while 1
Bram Moolenaar4463f292005-09-25 22:20:24 +000032 let [bad, a] = spellbadword()
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000033 if bad == '' || bad == prevbad || bad == 'badend'
34 break
35 endif
36 let prevbad = bad
37 let lst = spellsuggest(bad, 3)
38 normal mm
39 $put =bad
40 $put =string(lst)
41 normal `m]s
42 endwhile
Bram Moolenaar53180ce2005-07-05 21:48:14 +000043endfunc
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000044:"
45:call TestOne('1', '1')
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000046:$put =soundfold('goobledygoook')
47:$put =soundfold('kóopërÿnôven')
48:$put =soundfold('oeverloos gezwets edale')
49:"
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000050:"
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000051:" and now with SAL instead of SOFO items; test automatic reloading
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000052gg:/^affstart_sal/+1,/^affend_sal/-1w! Xtest.aff
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000053:mkspell! Xtest Xtest
54:$put =soundfold('goobledygoook')
55:$put =soundfold('kóopërÿnôven')
56:$put =soundfold('oeverloos gezwets edale')
57:"
58:" also use an addition file
59gg:/^addstart/+1,/^addend/-1w! Xtest.latin1.add
60:mkspell! Xtest.latin1.add.spl Xtest.latin1.add
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000061:set spellfile=Xtest.latin1.add
62/^test2:
Bram Moolenaar4463f292005-09-25 22:20:24 +000063]s:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000064:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000065:set spl=Xtest_us.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000066/^test2:
Bram Moolenaar4463f292005-09-25 22:20:24 +000067]smm:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000068:$put =str
Bram Moolenaar4463f292005-09-25 22:20:24 +000069`m]s:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000070:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000071:set spl=Xtest_gb.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000072/^test2:
Bram Moolenaar4463f292005-09-25 22:20:24 +000073]smm:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000074:$put =str
Bram Moolenaar4463f292005-09-25 22:20:24 +000075`m]s:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000076:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000077:set spl=Xtest_nz.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000078/^test2:
Bram Moolenaar4463f292005-09-25 22:20:24 +000079]smm:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000080:$put =str
Bram Moolenaar4463f292005-09-25 22:20:24 +000081`m]s:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000082:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000083:set spl=Xtest_ca.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000084/^test2:
Bram Moolenaar4463f292005-09-25 22:20:24 +000085]smm:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000086:$put =str
Bram Moolenaar4463f292005-09-25 22:20:24 +000087`m]s:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000088:$put =str
Bram Moolenaar9d2c8c12007-09-25 16:00:00 +000089:unlet str a
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000090:"
Bram Moolenaar53180ce2005-07-05 21:48:14 +000091:" Postponed prefixes
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000092:call TestOne('2', '1')
Bram Moolenaar53180ce2005-07-05 21:48:14 +000093:"
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000094:" Compound words
95:call TestOne('3', '3')
96:call TestOne('4', '4')
Bram Moolenaarda2303d2005-08-30 21:55:26 +000097:call TestOne('5', '5')
98:call TestOne('6', '6')
99:call TestOne('7', '7')
Bram Moolenaard52d9742005-08-21 22:20:28 +0000100:"
Bram Moolenaar8fd89f02006-03-02 22:51:05 +0000101:" NOSLITSUGS
102:call TestOne('8', '8')
103:"
Bram Moolenaar9d2c8c12007-09-25 16:00:00 +0000104:" clean up for valgrind
105:delfunc TestOne
106:set spl= enc=latin1
107:"
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000108gg:/^test output:/,$wq! test.out
109ENDTEST
110
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001111affstart
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000112SET ISO8859-1
113TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
114
115FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
116LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
117UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
118
119SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
120SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
121
122MIDWORD '-
123
124KEP =
125RAR ?
126BAD !
127
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000128PFX I N 1
129PFX I 0 in .
130
131PFX O Y 1
132PFX O 0 out .
133
134SFX S Y 2
135SFX S 0 s [^s]
136SFX S 0 es s
137
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000138SFX N N 3
139SFX N 0 en [^n]
140SFX N 0 nen n
141SFX N 0 n .
142
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000143REP 3
144REP g ch
145REP ch g
146REP svp s.v.p.
147
148MAP 9
149MAP aàáâãäå
150MAP eèéêë
151MAP iìíîï
152MAP oòóôõö
153MAP uùúûü
154MAP nñ
155MAP cç
156MAP yÿý
157MAP sß
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001581affend
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000159
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001601good: wrong OK puts. Test the end
161bad: inputs comment ok Ok. test déôl end the
162badend
163
1641dicstart
165123456
166test/NO
167# comment
168wrong
169Comment
170OK
171uk
172put/ISO
173the end
174deol
175déôr
1761dicend
177
178affstart_sal
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000179SET ISO8859-1
180TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
181
182FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
183LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
184UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
185
186MIDWORD '-
187
188KEP =
189RAR ?
190BAD !
191
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000192PFX I N 1
193PFX I 0 in .
194
195PFX O Y 1
196PFX O 0 out .
197
198SFX S Y 2
199SFX S 0 s [^s]
200SFX S 0 es s
201
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000202SFX N N 3
203SFX N 0 en [^n]
204SFX N 0 nen n
205SFX N 0 n .
206
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000207REP 3
208REP g ch
209REP ch g
210REP svp s.v.p.
211
212MAP 9
213MAP aàáâãäå
214MAP eèéêë
215MAP iìíîï
216MAP oòóôõö
217MAP uùúûü
218MAP nñ
219MAP cç
220MAP yÿý
221MAP sß
222
223SAL AH(AEIOUY)-^ *H
224SAL AR(AEIOUY)-^ *R
225SAL A(HR)^ *
226SAL A^ *
227SAL AH(AEIOUY)- H
228SAL AR(AEIOUY)- R
229SAL A(HR) _
230SAL À^ *
231SAL Å^ *
232SAL BB- _
233SAL B B
234SAL CQ- _
235SAL CIA X
236SAL CH X
237SAL C(EIY)- S
238SAL CK K
239SAL COUGH^ KF
240SAL CC< C
241SAL C K
242SAL DG(EIY) K
243SAL DD- _
244SAL D T
245SAL É< E
246SAL EH(AEIOUY)-^ *H
247SAL ER(AEIOUY)-^ *R
248SAL E(HR)^ *
249SAL ENOUGH^$ *NF
250SAL E^ *
251SAL EH(AEIOUY)- H
252SAL ER(AEIOUY)- R
253SAL E(HR) _
254SAL FF- _
255SAL F F
256SAL GN^ N
257SAL GN$ N
258SAL GNS$ NS
259SAL GNED$ N
260SAL GH(AEIOUY)- K
261SAL GH _
262SAL GG9 K
263SAL G K
264SAL H H
265SAL IH(AEIOUY)-^ *H
266SAL IR(AEIOUY)-^ *R
267SAL I(HR)^ *
268SAL I^ *
269SAL ING6 N
270SAL IH(AEIOUY)- H
271SAL IR(AEIOUY)- R
272SAL I(HR) _
273SAL J K
274SAL KN^ N
275SAL KK- _
276SAL K K
277SAL LAUGH^ LF
278SAL LL- _
279SAL L L
280SAL MB$ M
281SAL MM M
282SAL M M
283SAL NN- _
284SAL N N
285SAL OH(AEIOUY)-^ *H
286SAL OR(AEIOUY)-^ *R
287SAL O(HR)^ *
288SAL O^ *
289SAL OH(AEIOUY)- H
290SAL OR(AEIOUY)- R
291SAL O(HR) _
292SAL PH F
293SAL PN^ N
294SAL PP- _
295SAL P P
296SAL Q K
297SAL RH^ R
298SAL ROUGH^ RF
299SAL RR- _
300SAL R R
301SAL SCH(EOU)- SK
302SAL SC(IEY)- S
303SAL SH X
304SAL SI(AO)- X
305SAL SS- _
306SAL S S
307SAL TI(AO)- X
308SAL TH @
309SAL TCH-- _
310SAL TOUGH^ TF
311SAL TT- _
312SAL T T
313SAL UH(AEIOUY)-^ *H
314SAL UR(AEIOUY)-^ *R
315SAL U(HR)^ *
316SAL U^ *
317SAL UH(AEIOUY)- H
318SAL UR(AEIOUY)- R
319SAL U(HR) _
320SAL V^ W
321SAL V F
322SAL WR^ R
323SAL WH^ W
324SAL W(AEIOU)- W
325SAL X^ S
326SAL X KS
327SAL Y(AEIOU)- Y
328SAL ZZ- _
329SAL Z S
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000330affend_sal
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000331
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003322affstart
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000333SET ISO8859-1
334
335FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
336LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
337UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
338
339PFXPOSTPONE
340
341MIDWORD '-
342
343KEP =
344RAR ?
345BAD !
346
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000347PFX I N 1
348PFX I 0 in .
349
350PFX O Y 1
Bram Moolenaar78984f52005-08-01 07:19:10 +0000351PFX O 0 out [a-z]
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000352
353SFX S Y 2
354SFX S 0 s [^s]
355SFX S 0 es s
356
357SFX N N 3
358SFX N 0 en [^n]
359SFX N 0 nen n
360SFX N 0 n .
361
362REP 3
363REP g ch
364REP ch g
365REP svp s.v.p.
366
367MAP 9
368MAP aàáâãäå
369MAP eèéêë
370MAP iìíîï
371MAP oòóôõö
372MAP uùúûü
373MAP nñ
374MAP cç
375MAP yÿý
376MAP sß
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003772affend
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000378
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003792good: puts
380bad: inputs comment ok Ok end the. test déôl
381badend
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000382
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000383addstart
384/regions=usgbnz
385elequint/2
386elekwint/3
387addend
388
389test2:
390elequint test elekwint test elekwent asdf
391
392Test rules for compounding.
393
3943affstart
395SET ISO8859-1
396
397COMPOUNDMIN 3
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000398COMPOUNDRULE m*
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000399NEEDCOMPOUND x
4003affend
401
4023dicstart
4031234
404foo/m
405bar/mx
406mï/m
407la/mx
4083dicend
409
4103good: foo mï foobar foofoobar barfoo barbarfoo
411bad: bar la foomï barmï mïfoo mïbar mïmï lala mïla lamï foola labar
412badend
413
414
415Tests for compounding.
416
4174affstart
Bram Moolenaard52d9742005-08-21 22:20:28 +0000418SET ISO8859-1
419
420FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
421LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
422UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
423
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000424COMPOUNDRULE m+
425COMPOUNDRULE sm*e
426COMPOUNDRULE sm+
Bram Moolenaard52d9742005-08-21 22:20:28 +0000427COMPOUNDMIN 3
Bram Moolenaar899dddf2006-03-26 21:06:50 +0000428COMPOUNDWORDMAX 3
429COMPOUNDFORBIDFLAG t
Bram Moolenaard52d9742005-08-21 22:20:28 +0000430
431COMPOUNDSYLMAX 5
432SYLLABLE aáeéiíoóöõuúüûy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui
433
434MAP 9
435MAP aàáâãäå
436MAP eèéêë
437MAP iìíîï
438MAP oòóôõö
439MAP uùúûü
440MAP nñ
441MAP cç
442MAP yÿý
443MAP sß
444
445NEEDAFFIX x
446
447PFXPOSTPONE
448
449MIDWORD '-
450
451SFX q N 1
452SFX q 0 -ok .
453
454SFX a Y 2
455SFX a 0 s .
Bram Moolenaar899dddf2006-03-26 21:06:50 +0000456SFX a 0 ize/t .
Bram Moolenaard52d9742005-08-21 22:20:28 +0000457
458PFX p N 1
459PFX p 0 pre .
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000460
461PFX P N 1
462PFX P 0 nou .
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004634affend
Bram Moolenaard52d9742005-08-21 22:20:28 +0000464
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004654dicstart
Bram Moolenaard52d9742005-08-21 22:20:28 +00004661234
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000467word/mP
Bram Moolenaard52d9742005-08-21 22:20:28 +0000468util/am
469pro/xq
470tomato/m
471bork/mp
472start/s
473end/e
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004744dicend
Bram Moolenaard52d9742005-08-21 22:20:28 +0000475
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004764good: word util bork prebork start end wordutil wordutils pro-ok
477 bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork
478 tomato tomatotomato startend startword startwordword startwordend
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000479 startwordwordend startwordwordwordend prebork preborkbork
480 preborkborkbork
481 nouword
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000482bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomato
483 endstart endend startstart wordend wordstart
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000484 preborkprebork preborkpreborkbork
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000485 startwordwordwordwordend borkpreborkpreborkbork
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000486 utilsbork startnouword
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000487badend
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000488
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000489Test affix flags with two characters
490
4915affstart
492SET ISO8859-1
493
494FLAG long
495
496NEEDAFFIX !!
497
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000498COMPOUNDRULE ssmm*ee
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000499
500NEEDCOMPOUND xx
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000501COMPOUNDPERMITFLAG pp
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000502
503SFX 13 Y 1
504SFX 13 0 bork .
505
506SFX a1 Y 1
507SFX a1 0 a1 .
508
509SFX aé Y 1
510SFX aé 0 aé .
511
512PFX zz Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000513PFX zz 0 pre/pp .
514
515PFX yy Y 1
516PFX yy 0 nou .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00005175affend
518
5195dicstart
5201234
521foo/a1aé!!
522bar/zz13ee
523start/ss
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000524end/eeyy
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000525middle/mmxx
5265dicend
527
5285good: fooa1 fooaé bar prebar barbork prebarbork startprebar
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000529 start end startend startmiddleend nouend
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000530bad: foo fooa2 prabar probarbirk middle startmiddle middleend endstart
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000531 startprobar startnouend
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000532badend
533
5346affstart
535SET ISO8859-1
536
537FLAG caplong
538
539NEEDAFFIX A!
540
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000541COMPOUNDRULE sMm*Ee
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000542
543NEEDCOMPOUND Xx
544
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000545COMPOUNDPERMITFLAG p
546
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000547SFX N3 Y 1
548SFX N3 0 bork .
549
550SFX A1 Y 1
551SFX A1 0 a1 .
552
553SFX Aé Y 1
554SFX Aé 0 aé .
555
556PFX Zz Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000557PFX Zz 0 pre/p .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00005586affend
559
5606dicstart
5611234
562mee/A1AéA!
563bar/ZzN3Ee
564lead/s
565end/Ee
566middle/MmXx
5676dicend
568
5696good: meea1 meeaé bar prebar barbork prebarbork leadprebar
570 lead end leadend leadmiddleend
571bad: mee meea2 prabar probarbirk middle leadmiddle middleend endlead
572 leadprobar
573badend
574
5757affstart
576SET ISO8859-1
577
578FLAG num
579
580NEEDAFFIX 9999
581
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000582COMPOUNDRULE 2,77*123
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000583
584NEEDCOMPOUND 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000585COMPOUNDPERMITFLAG 432
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000586
587SFX 61003 Y 1
588SFX 61003 0 meat .
589
590SFX 391 Y 1
591SFX 391 0 a1 .
592
593SFX 111 Y 1
594SFX 111 0 aé .
595
596PFX 17 Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000597PFX 17 0 pre/432 .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00005987affend
599
6007dicstart
6011234
602mee/391,111,9999
603bar/17,61003,123
604lead/2
605tail/123
606middle/77,1
6077dicend
608
6097good: meea1 meeaé bar prebar barmeat prebarmeat leadprebar
610 lead tail leadtail leadmiddletail
611bad: mee meea2 prabar probarmaat middle leadmiddle middletail taillead
612 leadprobar
613badend
614
Bram Moolenaar8fd89f02006-03-02 22:51:05 +0000615Test NOSLITSUGS
616
6178affstart
618SET ISO8859-1
619
620NOSPLITSUGS
6218affend
622
6238dicstart
6241234
625foo
626bar
627faabar
6288dicend
629
6308good: foo bar faabar
631bad: foobar barfoo
632badend
633
634
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000635test output: