-struct contab {
- int rq;
- /*
- union {
- */
- int (*f)();
- /*
- unsigned mx;
- }x;
- */
-} contab[NM] = {
- PAIR('d', 's'), caseds,
- PAIR('a', 's'), caseas,
- PAIR('s', 'p'), casesp,
- PAIR('f', 't'), caseft,
- PAIR('p', 's'), caseps,
- PAIR('v', 's'), casevs,
- PAIR('n', 'r'), casenr,
- PAIR('i', 'f'), caseif,
- PAIR('i', 'e'), caseie,
- PAIR('e', 'l'), caseel,
- PAIR('p', 'o'), casepo,
- PAIR('t', 'l'), casetl,
- PAIR('t', 'm'), casetm,
- PAIR('b', 'p'), casebp,
- PAIR('c', 'h'), casech,
- PAIR('p', 'n'), casepn,
- PAIR('b', 'r'), tbreak,
- PAIR('t', 'i'), caseti,
- PAIR('n', 'e'), casene,
- PAIR('n', 'f'), casenf,
- PAIR('c', 'e'), casece,
- PAIR('f', 'i'), casefi,
- PAIR('i', 'n'), casein,
- PAIR('l', 'l'), casell,
- PAIR('n', 's'), casens,
- PAIR('m', 'k'), casemk,
- PAIR('r', 't'), casert,
- PAIR('a', 'm'), caseam,
- PAIR('d', 'e'), casede,
- PAIR('d', 'i'), casedi,
- PAIR('d', 'a'), caseda,
- PAIR('w', 'h'), casewh,
- PAIR('d', 't'), casedt,
- PAIR('i', 't'), caseit,
- PAIR('r', 'm'), caserm,
- PAIR('r', 'r'), caserr,
- PAIR('r', 'n'), casern,
- PAIR('a', 'd'), casead,
- PAIR('r', 's'), casers,
- PAIR('n', 'a'), casena,
- PAIR('p', 'l'), casepl,
- PAIR('t', 'a'), caseta,
- PAIR('t', 'r'), casetr,
- PAIR('u', 'l'), caseul,
- PAIR('c', 'u'), casecu,
- PAIR('l', 't'), caselt,
- PAIR('n', 'x'), casenx,
- PAIR('s', 'o'), caseso,
- PAIR('i', 'g'), caseig,
- PAIR('t', 'c'), casetc,
- PAIR('f', 'c'), casefc,
- PAIR('e', 'c'), caseec,
- PAIR('e', 'o'), caseeo,
- PAIR('l', 'c'), caselc,
- PAIR('e', 'v'), caseev,
- PAIR('r', 'd'), caserd,
- PAIR('a', 'b'), caseab,
- PAIR('f', 'l'), casefl,
- PAIR('e', 'x'), done,
- PAIR('s', 's'), casess,
- PAIR('f', 'p'), casefp,
- PAIR('c', 's'), casecs,
- PAIR('b', 'd'), casebd,
- PAIR('l', 'g'), caselg,
- PAIR('h', 'c'), casehc,
- PAIR('h', 'y'), casehy,
- PAIR('n', 'h'), casenh,
- PAIR('n', 'm'), casenm,
- PAIR('n', 'n'), casenn,
- PAIR('s', 'v'), casesv,
- PAIR('o', 's'), caseos,
- PAIR('l', 's'), casels,
- PAIR('c', 'c'), casecc,
- PAIR('c', '2'), casec2,
- PAIR('e', 'm'), caseem,
- PAIR('a', 'f'), caseaf,
- PAIR('h', 'w'), casehw,
- PAIR('m', 'c'), casemc,
- PAIR('p', 'm'), casepm,
- PAIR('p', 'i'), casepi,
- PAIR('u', 'f'), caseuf,
- PAIR('p', 'c'), casepc,
- PAIR('h', 't'), caseht,
- PAIR('c', 'f'), casecf,
- PAIR('s', 'y'), casesy,
- PAIR('!', 0), casesy, /* synonym for .sy */
- PAIR('h', 'a'), caseha, /* new request, jna */
+#define C(a,b) {a, 0, b, 0}
+struct contab contab[NM] = {
+ C(PAIR('d', 's'), caseds),
+ C(PAIR('a', 's'), caseas),
+ C(PAIR('s', 'p'), casesp),
+ C(PAIR('f', 't'), caseft),
+ C(PAIR('p', 's'), caseps),
+ C(PAIR('v', 's'), casevs),
+ C(PAIR('n', 'r'), casenr),
+ C(PAIR('i', 'f'), caseif),
+ C(PAIR('i', 'e'), caseie),
+ C(PAIR('e', 'l'), caseel),
+ C(PAIR('p', 'o'), casepo),
+ C(PAIR('t', 'l'), casetl),
+ C(PAIR('t', 'm'), casetm),
+ C(PAIR('b', 'p'), casebp),
+ C(PAIR('c', 'h'), casech),
+ C(PAIR('p', 'n'), casepn),
+ C(PAIR('b', 'r'), tbreak),
+ C(PAIR('t', 'i'), caseti),
+ C(PAIR('n', 'e'), casene),
+ C(PAIR('n', 'f'), casenf),
+ C(PAIR('c', 'e'), casece),
+ C(PAIR('f', 'i'), casefi),
+ C(PAIR('i', 'n'), casein),
+ C(PAIR('l', 'l'), casell),
+ C(PAIR('n', 's'), casens),
+ C(PAIR('m', 'k'), casemk),
+ C(PAIR('r', 't'), casert),
+ C(PAIR('a', 'm'), caseam),
+ C(PAIR('d', 'e'), casede),
+ C(PAIR('d', 'i'), casedi),
+ C(PAIR('d', 'a'), caseda),
+ C(PAIR('w', 'h'), casewh),
+ C(PAIR('d', 't'), casedt),
+ C(PAIR('i', 't'), caseit),
+ C(PAIR('r', 'm'), caserm),
+ C(PAIR('r', 'r'), caserr),
+ C(PAIR('r', 'n'), casern),
+ C(PAIR('a', 'd'), casead),
+ C(PAIR('r', 's'), casers),
+ C(PAIR('n', 'a'), casena),
+ C(PAIR('p', 'l'), casepl),
+ C(PAIR('t', 'a'), caseta),
+ C(PAIR('t', 'r'), casetr),
+ C(PAIR('u', 'l'), caseul),
+ C(PAIR('c', 'u'), casecu),
+ C(PAIR('l', 't'), caselt),
+ C(PAIR('n', 'x'), casenx),
+ C(PAIR('s', 'o'), caseso),
+ C(PAIR('i', 'g'), caseig),
+ C(PAIR('t', 'c'), casetc),
+ C(PAIR('f', 'c'), casefc),
+ C(PAIR('e', 'c'), caseec),
+ C(PAIR('e', 'o'), caseeo),
+ C(PAIR('l', 'c'), caselc),
+ C(PAIR('e', 'v'), caseev),
+ C(PAIR('r', 'd'), caserd),
+ C(PAIR('a', 'b'), caseab),
+ C(PAIR('f', 'l'), casefl),
+ C(PAIR('e', 'x'), done),
+ C(PAIR('s', 's'), casess),
+ C(PAIR('f', 'p'), casefp),
+ C(PAIR('c', 's'), casecs),
+ C(PAIR('b', 'd'), casebd),
+ C(PAIR('l', 'g'), caselg),
+ C(PAIR('h', 'c'), casehc),
+ C(PAIR('h', 'y'), casehy),
+ C(PAIR('n', 'h'), casenh),
+ C(PAIR('n', 'm'), casenm),
+ C(PAIR('n', 'n'), casenn),
+ C(PAIR('s', 'v'), casesv),
+ C(PAIR('o', 's'), caseos),
+ C(PAIR('l', 's'), casels),
+ C(PAIR('c', 'c'), casecc),
+ C(PAIR('c', '2'), casec2),
+ C(PAIR('e', 'm'), caseem),
+ C(PAIR('a', 'f'), caseaf),
+ C(PAIR('h', 'w'), casehw),
+ C(PAIR('m', 'c'), casemc),
+ C(PAIR('p', 'm'), casepm),
+ C(PAIR('p', 'i'), casepi),
+ C(PAIR('u', 'f'), caseuf),
+ C(PAIR('p', 'c'), casepc),
+ C(PAIR('h', 't'), caseht),
+ C(PAIR('c', 'f'), casecf),
+ C(PAIR('s', 'y'), casesy),
+ C(PAIR('l', 'f'), caself),
+ C(PAIR('!', 0 ), casesy), /* synonym for .sy */
+ C(PAIR('h', 'a'), caseha), /* select hyphenation, (jaap) */