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
+ *
[email protected] ...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 <sys/types.h>
#endif
#include <sys/stat.h>
+#include <unistd.h>
+#include <stdlib.h>
#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)