diff -urN --exclude .svn --exclude ORIG --exclude '*.o' texi2roff-2.0/Makefile texi2roff-2.0-ak/Makefile --- texi2roff-2.0/Makefile 1992-02-20 19:16:36.000000000 +0100 +++ texi2roff-2.0-ak/Makefile 2025-02-08 17:27:03.549223297 +0100 @@ -19,7 +19,7 @@ translate.o : texi2roff.h -table.o : texi2roff.h tablems.h tablemm.h tableme.h +table.o : texi2roff.h tablems.h tablemm.h tableme.h tableak.h items.o: texi2roff.h diff -urN --exclude .svn --exclude ORIG --exclude '*.o' texi2roff-2.0/table.c texi2roff-2.0-ak/table.c --- texi2roff-2.0/table.c 1992-02-20 19:16:37.000000000 +0100 +++ texi2roff-2.0-ak/table.c 2025-02-08 17:23:27.447437455 +0100 @@ -25,6 +25,7 @@ #include "tablems.h" #include "tableme.h" #include "tablemm.h" +#include "tableak.h" char indexmacro[] = ".de iX \n.tm \\\\$1 \\\\n%\n..\n"; char trquotes[] = ".tr \\(is'\n.tr \\(if`\n.tr \\(pd\"\n"; @@ -32,13 +33,15 @@ struct misccmds * cmds; struct tablerecd * table, * endoftable; +static void patchtable(); + + void initialize(macropkg, showInfo, makeindex) int macropkg; int showInfo; int makeindex; { - extern void patchtable(); int tablesize; switch (macropkg) { @@ -57,6 +60,11 @@ tablesize = sizeof metable; cmds = &mecmds; break; + case AK: + table = aktable; + tablesize = sizeof aktable; + cmds = &akcmds; + break; } endoftable = table + tablesize/sizeof table[0]; if (showInfo == NO) diff -urN --exclude .svn --exclude ORIG --exclude '*.o' texi2roff-2.0/tableak.h texi2roff-2.0-ak/tableak.h --- texi2roff-2.0/tableak.h 1970-01-01 01:00:00.000000000 +0100 +++ texi2roff-2.0-ak/tableak.h 2002-11-02 22:07:21.000000000 +0100 @@ -0,0 +1,222 @@ +/* + * tableme.h - -me macros table and other explicit troff command strings + * Release 1.0a August 1988 + * Release 2.0 January 1990 + * + * Copyright 1988, 1989, 1990 Beverly A.Erlebacher + * erlebach@cs.toronto.edu ...uunet!utai!erlebach + * + */ + +/* + * miscellaneous commands, described in texi2roff.h + */ +struct misccmds akcmds = { +"'\\\" t\n.de TQ\n.br\n.ns\n.TP \\\\$1\n..\n", +"\n.PP\n", +"\n.IP\n", +"\n.RS\n", +"\n.RE\n" }; + +struct tablerecd aktable[] = { + "@MANquote", "\n", "", "\n", "", PARAGRAPH, + "@MANtitle", "\n", ".TH ", "\n", "", PARAGRAPH, + "@MANskip", "@MANend-skip", "", "", "", DISCARD, + "@*", "", "\n.br\n", "", "", ESCAPED, + "@.", "", "\\&.", "", "", ESCAPED, + "@:", "", "", "", "", ESCAPED, + "@@", "", "@", "", "", ESCAPED, + "@Arrow", "\n", "\\(rh", "\n", "", CHAR, + "@TeX{", "}", "TeX", "", "", INPARA, + "@appendix", "\n", + "\n.if !\\n(_- \\{\\\n.nr _- 1\n.nr $1 0 1\n.af $1 A\\}\n.bp\n.ds __ ", + "\n.sh 1 \\*(__ \n.(x \n\\n($1 \\*(__ \n.)x\n","\\fB", HEADING, + "@appendixsec", "\n", "\n.ds __ ", + "\n.sh 2 \\*(__ \n.(x \n\\n($1.\\n($2 \\*(__ \n.)x\n", + "\\fB", HEADING, + "@appendixsection", "\n", "\n.ds __ ", + "\n.sh 2 \\*(__ \n.(x \n\\n($1.\\n($2 \\*(__ \n.)x\n", + "\\fB", HEADING, + "@appendixsubsec", "\n", "\n.ds __ ", + "\n.sh 3 \\*(__ \n.(x \n\\n($1.\\n($2.\\n($3 \\*(__ \n.)x\n", + "\\fB", HEADING, + "@appendixsubsubsec","\n", "\n.ds __ ", + "\n.sh 4 \\*(__ \n.(x \n\\n($1.\\n($2.\\n($3.\\n($4 \\*(__ \n.)x\n", + "\\fB", HEADING, + "@arrow", "\n", "\\(->", "\n", "", CHAR, + "@asis", "\n", "", "\n", "", PARAGRAPH, + "@asis{", "}", "", "", "", INPARA, + "@author", "\n", "\n.ce\n", "\n", "", HEADING, + "@br", "\n", "\n.br\n.sp\n", "", "", PARAGRAPH, + "@bullet{", "}", "* ", "", "", CHAR, + "@bye", "\n", "", "\n", "", DISCARD, + "@b{", "}", "\\fB", "", "\\fB", INPARA, + "@c", "\n", "", "\n", "", DISCARD, + "@center", "\n", "\n.ce\n", "\n", "", HEADING, + "@center{", "}", "\n.ce\n", "", "", HEADING, + "@chapter", "\n", "\n.SH ", "\n", "", HEADING, + "@cindex", "\n", "\n.iX \"c ", "\"\n", "", INDEX, + "@cite{", "}", "\\fI", "", "\\fI", INPARA, + "@code{", "}", "\\fR\\&\\f(CW","","\\fR\\&\\f(CW",INPARA, + "@comment", "\n", "", "\n", "", DISCARD, + "@contents", "\n", "\n.nr % 0 1\n.af % i\n.bp \\n%+1\n", + ".ce\n\\fBTable of Contents\\fR\n.sp 2\n.xp \n","",INPARA, + "@copyright{", "}", "\\(co", "", "", CHAR, + "@ctrl{", "}", "\\fR\\&\\f(CW^","","\\fR\\&\\f(CW",INPARA, + "@dag", "}{", "\\(dg", "", "", CHAR, + "@dag{", "}", "\\(dg", "", "", CHAR, + "@ddag", "}{", "\\(dd", "", "", CHAR, + "@ddag{", "}", "\\(dd", "", "", CHAR, + "@defcmd", "@end", "\n.lp\n*\\ Command: ","","", HEADING, + "@defcmdx", "\n", "\n.lp\n*\\ Command: ","\n.br\n","",HEADING, + "@defconst", "@end", "\n.lp\n*\\ Constant: ","","", HEADING, + "@defconstx", "\n", "\n.lp\n*\\ Constant: ","\n.br\n","",HEADING, + "@deffn", "@end", "\n.lp\n*\\ ", "", "", HEADING, + "@deffnx", "\n", "\n.lp\n*\\ ", "\n.br\n","", HEADING, + "@defmac", "@end", "\n.lp\n*\\ Macro: ","","", HEADING, + "@defmacx", "\n", "\n.lp\n*\\ Macro: ","\n.br\n","",HEADING, + "@defmethod", "@end", "\n.lp\n*\\ Operation on ","","",HEADING, + "@defmethodx", "\n", "\n.lp\n*\\ Operation on ","\n.br\n", + "", HEADING, + "@defopt", "@end", "\n.lp\n*\\ User Option: ","","",HEADING, + "@defoptx", "\n", "\n.lp\n*\\ User Option: ","\n.br\n", + "", HEADING, + "@defspec", "@end", "\n.lp\n*\\ Special Form: ","","",HEADING, + "@defspecx", "\n", "\n.lp\n*\\ Special Form: ","\n.br\n", + "", HEADING, + "@defun", "@end", "\n.lp\n*\\ Function: ","","", HEADING, + "@defunx", "\n", "\n.lp\n*\\ Function: ","\n.br\n","",HEADING, + "@defvar", "@end", "\n.lp\n*\\ Variable: ","","", HEADING, + "@defvarx", "\n", "\n.lp\n*\\ Variable: ","\n.br\n","",HEADING, + "@dfn{", "}", "\\fI", "", "\\fI", INPARA, + "@display", "@end", "\n.ft I\n.nf\n\n", "\n.fi\n.ft R\n \n","", DISPLAY, + "@dots{", "}", "\\&...", "", "", INPARA, + "@eject", "\n", "\n.bp\n", "", "", PARAGRAPH, + "@emph{", "}", "\\fI", "", "\\fI", INPARA, + "@end", "\n", "", "\n.sp\n.in\n", "", END, + "@enumerate", "@end", "\n\n", "", "", ITEMIZING, + "@equiv{", "}", "\\(==", "", "", CHAR, + "@error{", "}", "error->", "", "", CHAR, + "@example", "@end", "\n \n.nf\n.ft 3\n.in +0.3i\n", + "\n.fi\n.in -0.3i\n.ft R\n.lp\n \n", + "\\fR\\&\\f(CW", DISPLAY, + "@example{", "}", "\\fR\\&\\f(CW","","\\fR\\&\\f(CW",INPARA, + "@exdent", "\n", "\n.lp\n", "\n", "", PARAGRAPH, + "@expansion{", "}", "\\(->", "", "", CHAR, + "@file{", "}", "\\fR\\&\\f(CW\\(if", "\\(is", + "\\fR\\&\\f(CW", INPARA, + "@finalout", "\n", "", "\n", "", DISCARD, + "@findex", "\n", "\n.iX \"f ", "\"\n", "", INDEX, + /* "@footnote{", "}", "\n.(f \n", "\n.)f\n","", FOOTNOTE,*/ + "@footnote{", "}", "\n.(f \n", "\n.)f\n","", DISCARD, + "@group", "@end", "\n.(b\n", "\n.)b\n","", PARAGRAPH, + "@heading", "\n", "\n.bp\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@headings", "\n", "", "", "", DISCARD, + "@iappendix", "\n", "\n.bp\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@iappendixsec", "\n", "\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@iappendixsubsec", "\n", "\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@ichapter", "\n", "\n.bp\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@ifinfo", "@end", "\n", "\n", "", PARAGRAPH, + "@iftex", "@end", "", "", "", PARAGRAPH, + "@ignore", "@end", "", "", "", PARAGRAPH, + "@include", "\n", "", "", "", INCLUDE, + "@inforef{", "}", "See Info file ","", "", PARAGRAPH, + "@isection", "\n", "\n.SS ", "\n", "", HEADING, + "@isubsection", "\n", "\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@isubsubsection", "\n", "\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@section", "\n", "\n.SS ", "\n", "", HEADING, + "@subsection", "\n", "\n.SS \\ \\ ", "\n", "", HEADING, + "@subsubsection", "\n", "\n.ds __ \n.B ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@item", "\n", "\n.TP\n", "\\ \n","", ITEM, + "@itemize", "@end", "\n\n", "", "", ITEMIZING, + "@itemx", "\n", ".TQ\n", "\n", "", ITEM, + "@iunnumbered", "\n", "\n.SH ", "\n", "", HEADING, + "@iunnumberedsec", "\n", "\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@iunnumberedsubsec","\n", "\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@i{", "}", "\\fI", "", "\\fI", INPARA, + "@kbd{", "}", "\\fR\\&\\f(CW","","\\fR\\&\\f(CW",INPARA, + "@key{", "}", "\\fR\\&\\f(CW","","\\fR\\&\\f(CW",INPARA, + "@kindex", "\n", "\n.iX \"k ", "\"\n", "", INDEX, + "@majorheading", "\n", "\n.sp 4\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@menu", "@end", "\n.ft I\n.nf\n\n\\s8Menu: \n", + "\\s0\n.fi\n.ft R\n","", DISPLAY, + "@minus{", "}", "\\-", "", "", CHAR, + "@need", "\n", "", "\n", "", DISCARD, + "@node", "\n", "\n.lp\n\\s8Node:", + "\\s0\n.br\n","", PARAGRAPH, + "@noindent", "\n", "\n.lp\n", "", "", PARAGRAPH, + "@page", "\n", "\n.bp\n", "", "", PARAGRAPH, + "@pindex", "\n", "\n.iX \"p ", "\"\n", "", INDEX, + "@point{", "}", "*", "", "", CHAR, + "@printindex", "\n", "", "\n", "", DISCARD, + "@prints{", "}", "-|", "", "", CHAR, + "@print{", "}", "-|", "", "", CHAR, + "@pxref{", "}", "see section ","", "", PARAGRAPH, + "@quotation", "@end", "\n.(q\n.nh\n", "\n.)q\n","", DISPLAY, + "@refill", "\n", "", "\n", "", DISCARD, + "@ref{", "}", "\\(if", "\\(is","", INPARA, + "@result", "\n", "\\(rh", "\n", "", CHAR, + "@result{", "}", "\\(rh", "", "", CHAR, + "@r{", "}", "\\fR", "", "\\fR", INPARA, + "@samp{", "}", "\\fR\\&\\f(CW\\(if", "\\(is", + "\\fR\\&\\f(CW",INPARA, + "@sc{", "}", "\\fB", "", "\\fB", INPARA, + "@setchapternewpage","\n", "", "\n", "", DISCARD, + "@setfilename", "\n", "", "\n", "", DISCARD, + "@settitle", "\n", "\n.ds St ", + "\n.oh '\\\\*(St''%'\n.eh '%''\\\\*(St'\n","", HEADING, + "@smallbook", "\n", "", "", "", DISCARD, + "@smallexample", "@end", "\n.ft I\n.nf\n\n\\fR\\&\\f(CW\n", + "\n.fi\n.ft R\n", "\\fR\\&\\f(CW",DISPLAY, + "@sp", "\n", "\n.sp", "\n", "", PARAGRAPH, + "@sp2", "\n", "\n.sp 2", "\n", "", PARAGRAPH, + "@strong{", "}", "\\fB", "", "\\fB", INPARA, + "@subheading", "\n", "\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@subsubheading", "\n", "\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@subtext", "\n", "\n.ce\n", "\n", "", HEADING, + "@subtitle", "\n", "\n.ce\n", "\n", "", HEADING, + "@summarycontents", "\n", "\n.nr % 0 1\n.af % i\n.bp \\n%+1\n", + ".ce\n\\fBTable of Contents\\fR\n.sp 2\n.xp \n","", INPARA, + "@syncodeindex", "\n", "", "\n", "", DISCARD, + "@synindex", "\n", "", "\n", "", DISCARD, + "@t", "\n", "\t", "\n", "", CHAR, + "@table", "@end", "\n\n", "", "", ITEMIZING, + "@tex", "@end", "", "", "", DISCARD, + "@tindex", "\n", "\n.iX \"t ", "\"\n", "", INDEX, + "@title", "\n", "\n.ce\n", "\n", "", HEADING, + "@titlefont{", "}", "\n.sz +10\n.ce\n", + "\n.sz -10\n","",PARAGRAPH, + "@titlepage", "@end", "\n.tp\n", "\n.bp\n","", PARAGRAPH, + "@titlespec", "@end", "\n.tp\n.ce \n\\&\\*(St \n", + "\n", "", PARAGRAPH, + "@t{", "}", "\\fR\\&\\f(CW","","\\fR\\&\\f(CW",INPARA, + "@unnumbered", "\n", "\n.SH ", "\n", "", HEADING, + "@unnumberedsec", "\n", "\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@unnumberedsubsec","\n", "\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@unnumberedsubsubsec","\n","\n.ds __ ", + "\n.(x \n\\*(__ \n.)x\n.uh \\*(__ \n","\\fB", HEADING, + "@var{", "}", "\\fI", "", "\\fI", INPARA, + "@vfil", "\n", "", "\n", "", DISCARD, + "@vindex", "\n", "\n.iX \"v ", "\"\n", "", INDEX, + "@vskip", "\n", "", "\n", "", DISCARD, + "@w{", "}", "\n\\! ", "\n", "", INPARA, + "@xref{", "}", "See section ", "", "", PARAGRAPH, + "@{", "", "{", "", "", ESCAPED, + "@}", "", "}", "", "", ESCAPED +}; + diff -urN --exclude .svn --exclude ORIG --exclude '*.o' texi2roff-2.0/texi2roff.c texi2roff-2.0-ak/texi2roff.c --- texi2roff-2.0/texi2roff.c 1992-05-06 22:13:22.000000000 +0200 +++ texi2roff-2.0-ak/texi2roff.c 2025-02-08 17:22:36.810086512 +0100 @@ -13,12 +13,10 @@ #include #endif #include +#include +#include #include "texi2roff.h" -#if !defined(S_ISDIR) && defined(S_IFDIR) -#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) -#endif - char *progname; int transparent = NO; /* for -t flag */ @@ -27,7 +25,7 @@ * - initialize tables and other strings * - open files and pass them to process(). */ -main(argc, argv) +int main(argc, argv) int argc; char *argv[]; { @@ -70,6 +68,9 @@ case 'e': macropkg = ME; break; + case 'a': + macropkg = AK; + break; default: errflg++; break; @@ -133,7 +134,7 @@ filename); return 1; } - if (S_ISDIR (statbuf.st_mode)) { + if ((statbuf.st_mode & S_IFMT)==S_IFDIR) { (void) fprintf(stderr, "%s : %s is a directory\n", progname, filename); return 1; diff -urN --exclude .svn --exclude ORIG --exclude '*.o' texi2roff-2.0/texi2roff.h texi2roff-2.0-ak/texi2roff.h --- texi2roff-2.0/texi2roff.h 1992-02-20 19:16:40.000000000 +0100 +++ texi2roff-2.0-ak/texi2roff.h 2002-11-02 22:03:46.000000000 +0100 @@ -13,6 +13,7 @@ #define MS 1 #define ME 2 #define MM 3 +#define AK 4 /* useful confusion-reducing things */ #define STREQ(s,t) (*(s)==*(t) && strcmp(s, t)==0)