blob: cef1cfa1ba41655ac329bb5d97498d1a49ce5c5e [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 Moolenaar706d2de2013-07-17 17:35:13 +020010:" Check using z= in new buffer (crash fixed by patch 7.4a.028).
11:set maxmem=512 spell
12iasdz=:"
13:"
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.latin1.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 Moolenaar4463f292005-09-25 22:20:24 +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 Moolenaar0dc065e2005-07-04 22:49:24 +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 Moolenaar0dc065e2005-07-04 22:49:24 +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 Moolenaar0dc065e2005-07-04 22:49:24 +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.latin1.add
64:mkspell! Xtest.latin1.add.spl Xtest.latin1.add
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000065:set spellfile=Xtest.latin1.add
66/^test2:
Bram Moolenaar4463f292005-09-25 22:20:24 +000067]s:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000068:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000069:set spl=Xtest_us.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000070/^test2:
Bram Moolenaar4463f292005-09-25 22:20:24 +000071]smm:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000072:$put =str
Bram Moolenaar4463f292005-09-25 22:20:24 +000073`m]s:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000074:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000075:set spl=Xtest_gb.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000076/^test2:
Bram Moolenaar4463f292005-09-25 22:20:24 +000077]smm:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000078:$put =str
Bram Moolenaar4463f292005-09-25 22:20:24 +000079`m]s:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000080:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000081:set spl=Xtest_nz.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000082/^test2:
Bram Moolenaar4463f292005-09-25 22:20:24 +000083]smm:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000084:$put =str
Bram Moolenaar4463f292005-09-25 22:20:24 +000085`m]s:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000086:$put =str
Bram Moolenaarce0842a2005-07-18 21:58:11 +000087:set spl=Xtest_ca.latin1.spl
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000088/^test2:
Bram Moolenaar4463f292005-09-25 22:20:24 +000089]smm:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000090:$put =str
Bram Moolenaar4463f292005-09-25 22:20:24 +000091`m]s:let [str, a] = spellbadword()
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000092:$put =str
Bram Moolenaar9d2c8c12007-09-25 16:00:00 +000093:unlet str a
Bram Moolenaar0dc065e2005-07-04 22:49:24 +000094:"
Bram Moolenaar53180ce2005-07-05 21:48:14 +000095:" Postponed prefixes
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000096:call TestOne('2', '1')
Bram Moolenaar53180ce2005-07-05 21:48:14 +000097:"
Bram Moolenaarac6e65f2005-08-29 22:25:38 +000098:" 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 Moolenaard52d9742005-08-21 22:20:28 +0000104:"
Bram Moolenaar8fd89f02006-03-02 22:51:05 +0000105:" NOSLITSUGS
106:call TestOne('8', '8')
107:"
Bram Moolenaar9d2c8c12007-09-25 16:00:00 +0000108:" clean up for valgrind
109:delfunc TestOne
110:set spl= enc=latin1
111:"
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000112gg:/^test output:/,$wq! test.out
113ENDTEST
114
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001151affstart
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000116SET ISO8859-1
117TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
118
119FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
120LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
121UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
122
123SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
124SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
125
126MIDWORD '-
127
128KEP =
129RAR ?
130BAD !
131
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000132PFX I N 1
133PFX I 0 in .
134
135PFX O Y 1
136PFX O 0 out .
137
138SFX S Y 2
139SFX S 0 s [^s]
140SFX S 0 es s
141
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000142SFX N N 3
143SFX N 0 en [^n]
144SFX N 0 nen n
145SFX N 0 n .
146
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000147REP 3
148REP g ch
149REP ch g
150REP svp s.v.p.
151
152MAP 9
153MAP aàáâãäå
154MAP eèéêë
155MAP iìíîï
156MAP oòóôõö
157MAP uùúûü
158MAP nñ
159MAP cç
160MAP yÿý
161MAP sß
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001621affend
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000163
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001641good: wrong OK puts. Test the end
165bad: inputs comment ok Ok. test déôl end the
166badend
167
1681dicstart
169123456
170test/NO
171# comment
172wrong
173Comment
174OK
175uk
176put/ISO
177the end
178deol
179déôr
1801dicend
181
182affstart_sal
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000183SET ISO8859-1
184TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
185
186FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
187LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
188UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
189
190MIDWORD '-
191
192KEP =
193RAR ?
194BAD !
195
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000196PFX I N 1
197PFX I 0 in .
198
199PFX O Y 1
200PFX O 0 out .
201
202SFX S Y 2
203SFX S 0 s [^s]
204SFX S 0 es s
205
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000206SFX N N 3
207SFX N 0 en [^n]
208SFX N 0 nen n
209SFX N 0 n .
210
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000211REP 3
212REP g ch
213REP ch g
214REP svp s.v.p.
215
216MAP 9
217MAP aàáâãäå
218MAP eèéêë
219MAP iìíîï
220MAP oòóôõö
221MAP uùúûü
222MAP nñ
223MAP cç
224MAP yÿý
225MAP sß
226
227SAL AH(AEIOUY)-^ *H
228SAL AR(AEIOUY)-^ *R
229SAL A(HR)^ *
230SAL A^ *
231SAL AH(AEIOUY)- H
232SAL AR(AEIOUY)- R
233SAL A(HR) _
234SAL À^ *
235SAL Å^ *
236SAL BB- _
237SAL B B
238SAL CQ- _
239SAL CIA X
240SAL CH X
241SAL C(EIY)- S
242SAL CK K
243SAL COUGH^ KF
244SAL CC< C
245SAL C K
246SAL DG(EIY) K
247SAL DD- _
248SAL D T
249SAL É< E
250SAL EH(AEIOUY)-^ *H
251SAL ER(AEIOUY)-^ *R
252SAL E(HR)^ *
253SAL ENOUGH^$ *NF
254SAL E^ *
255SAL EH(AEIOUY)- H
256SAL ER(AEIOUY)- R
257SAL E(HR) _
258SAL FF- _
259SAL F F
260SAL GN^ N
261SAL GN$ N
262SAL GNS$ NS
263SAL GNED$ N
264SAL GH(AEIOUY)- K
265SAL GH _
266SAL GG9 K
267SAL G K
268SAL H H
269SAL IH(AEIOUY)-^ *H
270SAL IR(AEIOUY)-^ *R
271SAL I(HR)^ *
272SAL I^ *
273SAL ING6 N
274SAL IH(AEIOUY)- H
275SAL IR(AEIOUY)- R
276SAL I(HR) _
277SAL J K
278SAL KN^ N
279SAL KK- _
280SAL K K
281SAL LAUGH^ LF
282SAL LL- _
283SAL L L
284SAL MB$ M
285SAL MM M
286SAL M M
287SAL NN- _
288SAL N N
289SAL OH(AEIOUY)-^ *H
290SAL OR(AEIOUY)-^ *R
291SAL O(HR)^ *
292SAL O^ *
293SAL OH(AEIOUY)- H
294SAL OR(AEIOUY)- R
295SAL O(HR) _
296SAL PH F
297SAL PN^ N
298SAL PP- _
299SAL P P
300SAL Q K
301SAL RH^ R
302SAL ROUGH^ RF
303SAL RR- _
304SAL R R
305SAL SCH(EOU)- SK
306SAL SC(IEY)- S
307SAL SH X
308SAL SI(AO)- X
309SAL SS- _
310SAL S S
311SAL TI(AO)- X
312SAL TH @
313SAL TCH-- _
314SAL TOUGH^ TF
315SAL TT- _
316SAL T T
317SAL UH(AEIOUY)-^ *H
318SAL UR(AEIOUY)-^ *R
319SAL U(HR)^ *
320SAL U^ *
321SAL UH(AEIOUY)- H
322SAL UR(AEIOUY)- R
323SAL U(HR) _
324SAL V^ W
325SAL V F
326SAL WR^ R
327SAL WH^ W
328SAL W(AEIOU)- W
329SAL X^ S
330SAL X KS
331SAL Y(AEIOU)- Y
332SAL ZZ- _
333SAL Z S
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000334affend_sal
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000335
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003362affstart
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000337SET ISO8859-1
338
339FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
340LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
341UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
342
343PFXPOSTPONE
344
345MIDWORD '-
346
347KEP =
348RAR ?
349BAD !
350
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000351PFX I N 1
352PFX I 0 in .
353
354PFX O Y 1
Bram Moolenaar78984f52005-08-01 07:19:10 +0000355PFX O 0 out [a-z]
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000356
357SFX S Y 2
358SFX S 0 s [^s]
359SFX S 0 es s
360
361SFX N N 3
362SFX N 0 en [^n]
363SFX N 0 nen n
364SFX N 0 n .
365
366REP 3
367REP g ch
368REP ch g
369REP svp s.v.p.
370
371MAP 9
372MAP aàáâãäå
373MAP eèéêë
374MAP iìíîï
375MAP oòóôõö
376MAP uùúûü
377MAP nñ
378MAP cç
379MAP yÿý
380MAP sß
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003812affend
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000382
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003832good: puts
384bad: inputs comment ok Ok end the. test déôl
385badend
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000386
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000387addstart
388/regions=usgbnz
389elequint/2
390elekwint/3
391addend
392
393test2:
394elequint test elekwint test elekwent asdf
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
Bram Moolenaard52d9742005-08-21 22:20:28 +0000422SET ISO8859-1
423
424FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
425LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
426UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
427
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000428COMPOUNDRULE m+
429COMPOUNDRULE sm*e
430COMPOUNDRULE sm+
Bram Moolenaard52d9742005-08-21 22:20:28 +0000431COMPOUNDMIN 3
Bram Moolenaar899dddf2006-03-26 21:06:50 +0000432COMPOUNDWORDMAX 3
433COMPOUNDFORBIDFLAG t
Bram Moolenaard52d9742005-08-21 22:20:28 +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 Moolenaard52d9742005-08-21 22:20:28 +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
Bram Moolenaard52d9742005-08-21 22:20:28 +0000468
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004694dicstart
Bram Moolenaard52d9742005-08-21 22:20:28 +00004701234
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000471word/mP
Bram Moolenaard52d9742005-08-21 22:20:28 +0000472util/am
473pro/xq
474tomato/m
475bork/mp
476start/s
477end/e
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004784dicend
Bram Moolenaard52d9742005-08-21 22:20:28 +0000479
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004804good: 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 Moolenaar0dc065e2005-07-04 22:49:24 +0000492
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000493Test affix flags with two characters
494
4955affstart
496SET ISO8859-1
497
498FLAG long
499
500NEEDAFFIX !!
501
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000502COMPOUNDRULE ssmm*ee
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000503
504NEEDCOMPOUND xx
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000505COMPOUNDPERMITFLAG pp
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000506
507SFX 13 Y 1
508SFX 13 0 bork .
509
510SFX a1 Y 1
511SFX a1 0 a1 .
512
513SFX aé Y 1
514SFX aé 0 aé .
515
516PFX zz Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000517PFX zz 0 pre/pp .
518
519PFX yy Y 1
520PFX yy 0 nou .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00005215affend
522
5235dicstart
5241234
525foo/a1aé!!
526bar/zz13ee
527start/ss
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000528end/eeyy
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000529middle/mmxx
5305dicend
531
5325good: fooa1 fooaé bar prebar barbork prebarbork startprebar
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000533 start end startend startmiddleend nouend
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000534bad: foo fooa2 prabar probarbirk middle startmiddle middleend endstart
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000535 startprobar startnouend
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000536badend
537
5386affstart
539SET ISO8859-1
540
541FLAG caplong
542
543NEEDAFFIX A!
544
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000545COMPOUNDRULE sMm*Ee
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000546
547NEEDCOMPOUND Xx
548
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000549COMPOUNDPERMITFLAG p
550
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000551SFX N3 Y 1
552SFX N3 0 bork .
553
554SFX A1 Y 1
555SFX A1 0 a1 .
556
557SFX Aé Y 1
558SFX Aé 0 aé .
559
560PFX Zz Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000561PFX Zz 0 pre/p .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00005626affend
563
5646dicstart
5651234
566mee/A1AéA!
567bar/ZzN3Ee
568lead/s
569end/Ee
570middle/MmXx
5716dicend
572
5736good: meea1 meeaé bar prebar barbork prebarbork leadprebar
574 lead end leadend leadmiddleend
575bad: mee meea2 prabar probarbirk middle leadmiddle middleend endlead
576 leadprobar
577badend
578
5797affstart
580SET ISO8859-1
581
582FLAG num
583
584NEEDAFFIX 9999
585
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000586COMPOUNDRULE 2,77*123
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000587
588NEEDCOMPOUND 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000589COMPOUNDPERMITFLAG 432
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000590
591SFX 61003 Y 1
592SFX 61003 0 meat .
593
594SFX 391 Y 1
595SFX 391 0 a1 .
596
597SFX 111 Y 1
598SFX 111 0 aé .
599
600PFX 17 Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000601PFX 17 0 pre/432 .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00006027affend
603
6047dicstart
6051234
606mee/391,111,9999
607bar/17,61003,123
608lead/2
609tail/123
610middle/77,1
6117dicend
612
6137good: meea1 meeaé bar prebar barmeat prebarmeat leadprebar
614 lead tail leadtail leadmiddletail
615bad: mee meea2 prabar probarmaat middle leadmiddle middletail taillead
616 leadprobar
617badend
618
Bram Moolenaar8fd89f02006-03-02 22:51:05 +0000619Test NOSLITSUGS
620
6218affstart
622SET ISO8859-1
623
624NOSPLITSUGS
6258affend
626
6278dicstart
6281234
629foo
630bar
631faabar
6328dicend
633
6348good: foo bar faabar
635bad: foobar barfoo
636badend
637
638
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000639test output: