blob: b99ee45f9d27ae8caf4b19ecf91a22a8232f3f3c [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')
Bram Moolenaar887c1fe2016-01-02 17:56:35 +0100107:" Numbers
108:call TestOne('9', '9')
Bram Moolenaar8fd89f02006-03-02 22:51:05 +0000109:"
Bram Moolenaar9d2c8c12007-09-25 16:00:00 +0000110:" clean up for valgrind
111:delfunc TestOne
112:set spl= enc=latin1
113:"
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000114gg:/^test output:/,$wq! test.out
115ENDTEST
116
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001171affstart
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000118SET ISO8859-1
119TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
120
121FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
122LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
123UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
124
125SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
126SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
127
128MIDWORD '-
129
130KEP =
131RAR ?
132BAD !
133
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000134PFX I N 1
135PFX I 0 in .
136
137PFX O Y 1
138PFX O 0 out .
139
140SFX S Y 2
141SFX S 0 s [^s]
142SFX S 0 es s
143
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000144SFX N N 3
145SFX N 0 en [^n]
146SFX N 0 nen n
147SFX N 0 n .
148
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000149REP 3
150REP g ch
151REP ch g
152REP svp s.v.p.
153
154MAP 9
155MAP aàáâãäå
156MAP eèéêë
157MAP iìíîï
158MAP oòóôõö
159MAP uùúûü
160MAP nñ
161MAP cç
162MAP yÿý
163MAP sß
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001641affend
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000165
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00001661good: wrong OK puts. Test the end
167bad: inputs comment ok Ok. test déôl end the
168badend
169
1701dicstart
171123456
172test/NO
173# comment
174wrong
175Comment
176OK
177uk
178put/ISO
179the end
180deol
181déôr
1821dicend
183
184affstart_sal
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000185SET ISO8859-1
186TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
187
188FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
189LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
190UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
191
192MIDWORD '-
193
194KEP =
195RAR ?
196BAD !
197
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000198PFX I N 1
199PFX I 0 in .
200
201PFX O Y 1
202PFX O 0 out .
203
204SFX S Y 2
205SFX S 0 s [^s]
206SFX S 0 es s
207
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000208SFX N N 3
209SFX N 0 en [^n]
210SFX N 0 nen n
211SFX N 0 n .
212
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000213REP 3
214REP g ch
215REP ch g
216REP svp s.v.p.
217
218MAP 9
219MAP aàáâãäå
220MAP eèéêë
221MAP iìíîï
222MAP oòóôõö
223MAP uùúûü
224MAP nñ
225MAP cç
226MAP yÿý
227MAP sß
228
229SAL AH(AEIOUY)-^ *H
230SAL AR(AEIOUY)-^ *R
231SAL A(HR)^ *
232SAL A^ *
233SAL AH(AEIOUY)- H
234SAL AR(AEIOUY)- R
235SAL A(HR) _
236SAL À^ *
237SAL Å^ *
238SAL BB- _
239SAL B B
240SAL CQ- _
241SAL CIA X
242SAL CH X
243SAL C(EIY)- S
244SAL CK K
245SAL COUGH^ KF
246SAL CC< C
247SAL C K
248SAL DG(EIY) K
249SAL DD- _
250SAL D T
251SAL É< E
252SAL EH(AEIOUY)-^ *H
253SAL ER(AEIOUY)-^ *R
254SAL E(HR)^ *
255SAL ENOUGH^$ *NF
256SAL E^ *
257SAL EH(AEIOUY)- H
258SAL ER(AEIOUY)- R
259SAL E(HR) _
260SAL FF- _
261SAL F F
262SAL GN^ N
263SAL GN$ N
264SAL GNS$ NS
265SAL GNED$ N
266SAL GH(AEIOUY)- K
267SAL GH _
268SAL GG9 K
269SAL G K
270SAL H H
271SAL IH(AEIOUY)-^ *H
272SAL IR(AEIOUY)-^ *R
273SAL I(HR)^ *
274SAL I^ *
275SAL ING6 N
276SAL IH(AEIOUY)- H
277SAL IR(AEIOUY)- R
278SAL I(HR) _
279SAL J K
280SAL KN^ N
281SAL KK- _
282SAL K K
283SAL LAUGH^ LF
284SAL LL- _
285SAL L L
286SAL MB$ M
287SAL MM M
288SAL M M
289SAL NN- _
290SAL N N
291SAL OH(AEIOUY)-^ *H
292SAL OR(AEIOUY)-^ *R
293SAL O(HR)^ *
294SAL O^ *
295SAL OH(AEIOUY)- H
296SAL OR(AEIOUY)- R
297SAL O(HR) _
298SAL PH F
299SAL PN^ N
300SAL PP- _
301SAL P P
302SAL Q K
303SAL RH^ R
304SAL ROUGH^ RF
305SAL RR- _
306SAL R R
307SAL SCH(EOU)- SK
308SAL SC(IEY)- S
309SAL SH X
310SAL SI(AO)- X
311SAL SS- _
312SAL S S
313SAL TI(AO)- X
314SAL TH @
315SAL TCH-- _
316SAL TOUGH^ TF
317SAL TT- _
318SAL T T
319SAL UH(AEIOUY)-^ *H
320SAL UR(AEIOUY)-^ *R
321SAL U(HR)^ *
322SAL U^ *
323SAL UH(AEIOUY)- H
324SAL UR(AEIOUY)- R
325SAL U(HR) _
326SAL V^ W
327SAL V F
328SAL WR^ R
329SAL WH^ W
330SAL W(AEIOU)- W
331SAL X^ S
332SAL X KS
333SAL Y(AEIOU)- Y
334SAL ZZ- _
335SAL Z S
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000336affend_sal
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000337
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003382affstart
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000339SET ISO8859-1
340
341FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
342LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
343UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
344
345PFXPOSTPONE
346
347MIDWORD '-
348
349KEP =
350RAR ?
351BAD !
352
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000353PFX I N 1
354PFX I 0 in .
355
356PFX O Y 1
Bram Moolenaar78984f52005-08-01 07:19:10 +0000357PFX O 0 out [a-z]
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000358
359SFX S Y 2
360SFX S 0 s [^s]
361SFX S 0 es s
362
363SFX N N 3
364SFX N 0 en [^n]
365SFX N 0 nen n
366SFX N 0 n .
367
368REP 3
369REP g ch
370REP ch g
371REP svp s.v.p.
372
373MAP 9
374MAP aàáâãäå
375MAP eèéêë
376MAP iìíîï
377MAP oòóôõö
378MAP uùúûü
379MAP nñ
380MAP cç
381MAP yÿý
382MAP sß
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003832affend
Bram Moolenaar53180ce2005-07-05 21:48:14 +0000384
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00003852good: puts
386bad: inputs comment ok Ok end the. test déôl
387badend
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000388
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000389addstart
390/regions=usgbnz
391elequint/2
392elekwint/3
393addend
394
395test2:
396elequint test elekwint test elekwent asdf
397
398Test rules for compounding.
399
4003affstart
401SET ISO8859-1
402
403COMPOUNDMIN 3
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000404COMPOUNDRULE m*
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000405NEEDCOMPOUND x
4063affend
407
4083dicstart
4091234
410foo/m
411bar/mx
412mï/m
413la/mx
4143dicend
415
4163good: foo mï foobar foofoobar barfoo barbarfoo
417bad: bar la foomï barmï mïfoo mïbar mïmï lala mïla lamï foola labar
418badend
419
420
421Tests for compounding.
422
4234affstart
Bram Moolenaard52d9742005-08-21 22:20:28 +0000424SET ISO8859-1
425
426FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
427LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
428UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
429
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000430COMPOUNDRULE m+
431COMPOUNDRULE sm*e
432COMPOUNDRULE sm+
Bram Moolenaard52d9742005-08-21 22:20:28 +0000433COMPOUNDMIN 3
Bram Moolenaar899dddf2006-03-26 21:06:50 +0000434COMPOUNDWORDMAX 3
435COMPOUNDFORBIDFLAG t
Bram Moolenaard52d9742005-08-21 22:20:28 +0000436
437COMPOUNDSYLMAX 5
438SYLLABLE aáeéiíoóöõuúüûy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui
439
440MAP 9
441MAP aàáâãäå
442MAP eèéêë
443MAP iìíîï
444MAP oòóôõö
445MAP uùúûü
446MAP nñ
447MAP cç
448MAP yÿý
449MAP sß
450
451NEEDAFFIX x
452
453PFXPOSTPONE
454
455MIDWORD '-
456
457SFX q N 1
458SFX q 0 -ok .
459
460SFX a Y 2
461SFX a 0 s .
Bram Moolenaar899dddf2006-03-26 21:06:50 +0000462SFX a 0 ize/t .
Bram Moolenaard52d9742005-08-21 22:20:28 +0000463
464PFX p N 1
465PFX p 0 pre .
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000466
467PFX P N 1
468PFX P 0 nou .
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004694affend
Bram Moolenaard52d9742005-08-21 22:20:28 +0000470
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004714dicstart
Bram Moolenaard52d9742005-08-21 22:20:28 +00004721234
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000473word/mP
Bram Moolenaard52d9742005-08-21 22:20:28 +0000474util/am
475pro/xq
476tomato/m
477bork/mp
478start/s
479end/e
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004804dicend
Bram Moolenaard52d9742005-08-21 22:20:28 +0000481
Bram Moolenaarac6e65f2005-08-29 22:25:38 +00004824good: word util bork prebork start end wordutil wordutils pro-ok
483 bork borkbork borkborkbork borkborkborkbork borkborkborkborkbork
484 tomato tomatotomato startend startword startwordword startwordend
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000485 startwordwordend startwordwordwordend prebork preborkbork
486 preborkborkbork
487 nouword
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000488bad: wordutilize pro borkborkborkborkborkbork tomatotomatotomato
489 endstart endend startstart wordend wordstart
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000490 preborkprebork preborkpreborkbork
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000491 startwordwordwordwordend borkpreborkpreborkbork
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000492 utilsbork startnouword
Bram Moolenaarac6e65f2005-08-29 22:25:38 +0000493badend
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000494
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000495Test affix flags with two characters
496
4975affstart
498SET ISO8859-1
499
500FLAG long
501
502NEEDAFFIX !!
503
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000504COMPOUNDRULE ssmm*ee
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000505
506NEEDCOMPOUND xx
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000507COMPOUNDPERMITFLAG pp
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000508
509SFX 13 Y 1
510SFX 13 0 bork .
511
512SFX a1 Y 1
513SFX a1 0 a1 .
514
515SFX aé Y 1
516SFX aé 0 aé .
517
518PFX zz Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000519PFX zz 0 pre/pp .
520
521PFX yy Y 1
522PFX yy 0 nou .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00005235affend
524
5255dicstart
5261234
527foo/a1aé!!
528bar/zz13ee
529start/ss
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000530end/eeyy
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000531middle/mmxx
5325dicend
533
5345good: fooa1 fooaé bar prebar barbork prebarbork startprebar
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000535 start end startend startmiddleend nouend
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000536bad: foo fooa2 prabar probarbirk middle startmiddle middleend endstart
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000537 startprobar startnouend
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000538badend
539
5406affstart
541SET ISO8859-1
542
543FLAG caplong
544
545NEEDAFFIX A!
546
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000547COMPOUNDRULE sMm*Ee
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000548
549NEEDCOMPOUND Xx
550
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000551COMPOUNDPERMITFLAG p
552
Bram Moolenaarda2303d2005-08-30 21:55:26 +0000553SFX N3 Y 1
554SFX N3 0 bork .
555
556SFX A1 Y 1
557SFX A1 0 a1 .
558
559SFX Aé Y 1
560SFX Aé 0 aé .
561
562PFX Zz Y 1
Bram Moolenaar910f66f2006-04-05 20:41:53 +0000563PFX Zz 0 pre/p .
Bram Moolenaarda2303d2005-08-30 21:55:26 +00005646affend
565
5666dicstart
5671234
568mee/A1AéA!
569bar/ZzN3Ee
570lead/s
571end/Ee
572middle/MmXx
5736dicend
574
5756good: meea1 meeaé bar prebar barbork prebarbork leadprebar
576 lead end leadend leadmiddleend
577bad: mee meea2 prabar probarbirk middle leadmiddle middleend endlead
578 leadprobar
579badend
580
5817affstart
582SET ISO8859-1
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 Moolenaar8fd89f02006-03-02 22:51:05 +0000621Test NOSLITSUGS
622
6238affstart
624SET ISO8859-1
625
626NOSPLITSUGS
6278affend
628
6298dicstart
6301234
631foo
632bar
633faabar
6348dicend
635
6368good: foo bar faabar
637bad: foobar barfoo
638badend
639
640
Bram Moolenaar887c1fe2016-01-02 17:56:35 +0100641Test Numbers
642
6439affstart
6449affend
645
6469dicstart
6471234
648foo
649bar
6509dicend
651
6529good: 0b1011 0777 1234 0x01ff
653badend
654
655
Bram Moolenaar0dc065e2005-07-04 22:49:24 +0000656test output: