home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / gnugroff.zip / patches.os2 next >
Text File  |  1996-05-05  |  28KB  |  1,028 lines

  1. Only in src: spooler/
  2. Only in src: devcp437/
  3. Only in src: devcp850/
  4.  
  5. Only in src: Makefile
  6. Only in src/include: defs.h
  7. Only in src/libgroff: execpath.c
  8. Only in src/libgroff: version.cc
  9. Only in src/troff: majorminor.cc
  10.  
  11. diff -cbr orig/addftinfo/Makefile.sub src/addftinfo/Makefile.sub
  12. *** orig/addftinfo/Makefile.sub    Tue Jul 21 16:20:04 1992
  13. --- src/addftinfo/Makefile.sub    Sun Jan 02 18:01:04 1994
  14. ***************
  15. *** 1,4 ****
  16. ! PROG=addftinfo
  17.   MAN1=addftinfo.n
  18.   XLIBS=$(LIBGROFF)
  19.   OBJS=addftinfo.o guess.o
  20. --- 1,4 ----
  21. ! PROG=addftinfo$X
  22.   MAN1=addftinfo.n
  23.   XLIBS=$(LIBGROFF)
  24.   OBJS=addftinfo.o guess.o
  25. diff -cbr orig/afmtodit/Makefile.sub src/afmtodit/Makefile.sub
  26. *** orig/afmtodit/Makefile.sub    Wed Oct 28 13:48:22 1992
  27. --- src/afmtodit/Makefile.sub    Sun May 05 00:20:12 1996
  28. ***************
  29. *** 1,7 ****
  30.   MAN1=afmtodit.n
  31.   CLEANADD=afmtodit
  32.   
  33. ! all: afmtodit
  34.   
  35.   afmtodit: afmtodit.pl
  36.       if test -n "$(PERLPATH)"; then \
  37. --- 1,7 ----
  38.   MAN1=afmtodit.n
  39.   CLEANADD=afmtodit
  40.   
  41. ! # all: afmtodit
  42.   
  43.   afmtodit: afmtodit.pl
  44.       if test -n "$(PERLPATH)"; then \
  45. diff -cbr orig/eqn/Makefile.sub src/eqn/Makefile.sub
  46. *** orig/eqn/Makefile.sub    Mon Apr 19 09:47:10 1993
  47. --- src/eqn/Makefile.sub    Wed May 01 19:26:30 1996
  48. ***************
  49. *** 1,4 ****
  50. ! PROG=eqn
  51.   MAN1=eqn.n
  52.   XLIBS=$(LIBGROFF)
  53.   OBJS=eqn.o main.o lex.o  box.o limit.o list.o over.o text.o script.o \
  54. --- 1,4 ----
  55. ! PROG=eqn$X
  56.   MAN1=eqn.n
  57.   XLIBS=$(LIBGROFF)
  58.   OBJS=eqn.o main.o lex.o  box.o limit.o list.o over.o text.o script.o \
  59. ***************
  60. *** 16,22 ****
  61.   
  62.   neqn: neqn.sh
  63.       -rm -f neqn
  64. !     sed -e 's/@g@/$(g)/g' -e "$(SH_SCRIPT_SED_CMD)" $(srcdir)/neqn.sh >neqn
  65.       chmod +x neqn
  66.   
  67.   install_data: neqn
  68. --- 16,22 ----
  69.   
  70.   neqn: neqn.sh
  71.       -rm -f neqn
  72. !     sed -e "s/@g@/$(g)/g" -e "$(SH_SCRIPT_SED_CMD)" $(srcdir)/neqn.sh >neqn
  73.       chmod +x neqn
  74.   
  75.   install_data: neqn
  76. diff -cbr orig/grodvi/dvi.cc src/grodvi/dvi.cc
  77. *** orig/grodvi/dvi.cc    Thu Jun 22 08:42:00 1995
  78. --- src/grodvi/dvi.cc    Wed May 01 19:40:16 1996
  79. ***************
  80. *** 849,854 ****
  81. --- 849,857 ----
  82.     program_name = argv[0];
  83.     static char stderr_buf[BUFSIZ];
  84.     setbuf(stderr, stderr_buf);
  85. + #ifdef __EMX__
  86. +   setmode(1, O_BINARY);
  87. + #endif
  88.     int c;
  89.     while ((c = getopt(argc, argv, "F:vw:d")) != EOF)
  90.       switch(c) {
  91. diff -cbr orig/grodvi/Makefile.sub src/grodvi/Makefile.sub
  92. *** orig/grodvi/Makefile.sub    Mon Jul 20 13:51:36 1992
  93. --- src/grodvi/Makefile.sub    Sun Jan 02 18:00:40 1994
  94. ***************
  95. *** 1,4 ****
  96. ! PROG=grodvi
  97.   MAN1=grodvi.n
  98.   XLIBS=$(LIBDRIVER) $(LIBGROFF)
  99.   MLIB=$(LIBM)
  100. --- 1,4 ----
  101. ! PROG=grodvi$X
  102.   MAN1=grodvi.n
  103.   XLIBS=$(LIBDRIVER) $(LIBGROFF)
  104.   MLIB=$(LIBM)
  105. diff -cbr orig/groff/groff.cc src/groff/groff.cc
  106. *** orig/groff/groff.cc    Thu Jun 22 09:08:00 1995
  107. --- src/groff/groff.cc    Wed May 01 19:43:24 1996
  108. ***************
  109. *** 50,55 ****
  110. --- 50,59 ----
  111.   }
  112.   #endif /* not STDLIB_H_DECLARES_PUTENV */
  113.   
  114. + #ifdef __EMX__
  115. + #include <io.h>
  116. + #endif
  117.   const int SOELIM_INDEX = 0;
  118.   const int REFER_INDEX = SOELIM_INDEX + 1;
  119.   const int PIC_INDEX = REFER_INDEX + 1;
  120. ***************
  121. *** 111,116 ****
  122. --- 115,126 ----
  123.     const char *command_prefix = getenv("GROFF_COMMAND_PREFIX");
  124.     if (!command_prefix)
  125.       command_prefix = PROG_PREFIX;
  126. + #ifdef __EMX__
  127. +   _response(&argc, &argv);
  128. +   _wildcard(&argc, &argv);
  129. +   if (isatty(0) && argc == 1)
  130. +     help();
  131. + #endif
  132.     commands[TROFF_INDEX].set_name(command_prefix, "troff");
  133.     while ((opt = getopt(argc, argv,
  134.                  "itpeRsSzavVhblCENXZF:m:T:f:w:W:M:d:r:n:o:P:L:"))
  135. ***************
  136. *** 154,159 ****
  137. --- 164,170 ----
  138.       case 'v':
  139.       case 'C':
  140.         commands[SOELIM_INDEX].append_arg(buf);
  141. +       commands[REFER_INDEX].append_arg(buf);
  142.         commands[PIC_INDEX].append_arg(buf);
  143.         commands[TBL_INDEX].append_arg(buf);
  144.         commands[EQN_INDEX].append_arg(buf);
  145. ***************
  146. *** 271,278 ****
  147. --- 282,294 ----
  148.     if (gxditview_flag)
  149.       commands[POST_INDEX].append_arg("-");
  150.     if (lflag && !Xflag && spooler) {
  151. + #ifdef __EMX__
  152. +     commands[SPOOL_INDEX].set_name(getenv("OS2_SHELL"));
  153. +     commands[SPOOL_INDEX].append_arg("/c");
  154. + #else
  155.       commands[SPOOL_INDEX].set_name(BSHELL);
  156.       commands[SPOOL_INDEX].append_arg("-c");
  157. + #endif
  158.       Largs += '\0';
  159.       Largs = spooler + Largs;
  160.       commands[SPOOL_INDEX].append_arg(Largs.contents());
  161. ***************
  162. *** 533,540 ****
  163.   
  164.   void synopsis()
  165.   {
  166.     fprintf(stderr,
  167. ! "usage: %s [-abehilpstvzCENRSVXZ] [-Fdir] [-mname] [-Tdev] [-ffam] [-wname]\n"
  168.   "       [-Wname] [ -Mdir] [-dcs] [-rcn] [-nnum] [-olist] [-Parg] [-Larg]\n"
  169.   "       [files...]\n",
  170.         program_name);
  171. --- 549,558 ----
  172.   
  173.   void synopsis()
  174.   {
  175. +   extern const char *version_string;
  176. +   fprintf(stderr, "\nGNU groff %s\n\n", version_string);
  177.     fprintf(stderr,
  178. ! "Usage: %s [-abehilpstvzCENRSVXZ] [-Fdir] [-mname] [-Tdev] [-ffam] [-wname]\n"
  179.   "       [-Wname] [ -Mdir] [-dcs] [-rcn] [-nnum] [-olist] [-Parg] [-Larg]\n"
  180.   "       [files...]\n",
  181.         program_name);
  182. diff -cbr orig/groff/Makefile.sub src/groff/Makefile.sub
  183. *** orig/groff/Makefile.sub    Fri Aug 07 15:08:04 1992
  184. --- src/groff/Makefile.sub    Sun Jan 02 17:58:46 1994
  185. ***************
  186. *** 1,4 ****
  187. ! PROG=groff
  188.   MAN1=groff.n
  189.   XLIBS=$(LIBGROFF)
  190.   MLIB=$(LIBM)
  191. --- 1,4 ----
  192. ! PROG=groff$X
  193.   MAN1=groff.n
  194.   XLIBS=$(LIBGROFF)
  195.   MLIB=$(LIBM)
  196. diff -cbr orig/groff/pipeline.c src/groff/pipeline.c
  197. *** orig/groff/pipeline.c    Thu Jun 22 09:09:48 1995
  198. --- src/groff/pipeline.c    Wed May 01 19:40:16 1996
  199. ***************
  200. *** 37,42 ****
  201. --- 37,47 ----
  202.   #ifndef errno
  203.   extern int errno;
  204.   #endif
  205. + #ifdef __EMX__
  206. + #include <process.h>
  207. + extern char *execpath(char *);
  208. + #define vfork fork
  209. + #endif
  210.   
  211.   extern char *strerror();
  212.   
  213. ***************
  214. *** 107,112 ****
  215. --- 112,148 ----
  216.     int ret = 0;
  217.     int proc_count = ncommands;
  218.   
  219. + #ifdef __EMX__
  220. +   int output = dup(1);
  221. +   for (i = 0; i < ncommands; i++) {
  222. +       int pdes[2];
  223. +       if (i != ncommands - 1) {
  224. +     if (pipe(pdes) < 0)
  225. +       sys_fatal("pipe");
  226. +     dup2(pdes[1], 1);
  227. +     close(pdes[1]);
  228. +     pids[i] = spawnvp(P_NOWAIT, execpath(commands[i][0]),
  229. +                           (const char * const *) commands[i]);
  230. +     if (pids[i] == -1)
  231. +       error("couldn't spawn %1: %2", commands[i][0],
  232. +         strerror(errno), (char *)0);
  233. +     dup2(pdes[0], 0);
  234. +     close(pdes[0]);
  235. +       }
  236. +       else
  237. +       {
  238. +     dup2(output, 1);
  239. +     close(output);
  240. +     pids[i] = spawnvp(P_NOWAIT, execpath(commands[i][0]),
  241. +                           (const char * const *) commands[i]);
  242. +     if (pids[i] == -1)
  243. +       error("couldn't spawn %1: %2", commands[i][0],
  244. +         strerror(errno), (char *)0);
  245. +     close(0);
  246. +       }
  247. +   }
  248. + #else
  249.     for (i = 0; i < ncommands; i++) {
  250.         int pdes[2];
  251.         PID_T pid;
  252. ***************
  253. *** 155,160 ****
  254. --- 191,197 ----
  255.         }
  256.         pids[i] = pid;
  257.       }
  258. + #endif
  259.     while (proc_count > 0) {
  260.       int status;
  261.       PID_T pid = wait(&status);
  262. diff -cbr orig/grog/Makefile.sub src/grog/Makefile.sub
  263. *** orig/grog/Makefile.sub    Mon Apr 19 09:47:10 1993
  264. --- src/grog/Makefile.sub    Sun May 05 00:19:44 1996
  265. ***************
  266. *** 1,7 ****
  267.   MAN1=grog.n
  268.   CLEANADD=grog
  269.   
  270. ! all: grog
  271.   
  272.   grog: grog.pl grog.sh
  273.       if test -n "$(PERLPATH)" && test -f "$(PERLPATH)"; then \
  274. --- 1,7 ----
  275.   MAN1=grog.n
  276.   CLEANADD=grog
  277.   
  278. ! # all: grog
  279.   
  280.   grog: grog.pl grog.sh
  281.       if test -n "$(PERLPATH)" && test -f "$(PERLPATH)"; then \
  282. diff -cbr orig/grolj4/Makefile.sub src/grolj4/Makefile.sub
  283. *** orig/grolj4/Makefile.sub    Wed Jul 06 18:39:52 1994
  284. --- src/grolj4/Makefile.sub    Wed May 01 19:27:24 1996
  285. ***************
  286. *** 1,4 ****
  287. ! PROG=grolj4
  288.   MAN1=grolj4.n
  289.   XLIBS=$(LIBDRIVER) $(LIBGROFF)
  290.   MLIB=$(LIBM)
  291. --- 1,4 ----
  292. ! PROG=grolj4$X
  293.   MAN1=grolj4.n
  294.   XLIBS=$(LIBDRIVER) $(LIBGROFF)
  295.   MLIB=$(LIBM)
  296. diff -cbr orig/grops/Makefile.sub src/grops/Makefile.sub
  297. *** orig/grops/Makefile.sub    Tue Jul 21 16:18:58 1992
  298. --- src/grops/Makefile.sub    Sun Jan 02 18:00:16 1994
  299. ***************
  300. *** 1,4 ****
  301. ! PROG=grops
  302.   MAN1=grops.n
  303.   XLIBS=$(LIBDRIVER) $(LIBGROFF)
  304.   MLIB=$(LIBM)
  305. --- 1,4 ----
  306. ! PROG=grops$X
  307.   MAN1=grops.n
  308.   XLIBS=$(LIBDRIVER) $(LIBGROFF)
  309.   MLIB=$(LIBM)
  310. diff -cbr orig/grotty/Makefile.sub src/grotty/Makefile.sub
  311. *** orig/grotty/Makefile.sub    Mon Jul 20 13:51:38 1992
  312. --- src/grotty/Makefile.sub    Sun Jan 02 18:00:20 1994
  313. ***************
  314. *** 1,4 ****
  315. ! PROG=grotty
  316.   MAN1=grotty.n
  317.   XLIBS=$(LIBDRIVER) $(LIBGROFF)
  318.   MLIB=$(LIBM)
  319. --- 1,4 ----
  320. ! PROG=grotty$X
  321.   MAN1=grotty.n
  322.   XLIBS=$(LIBDRIVER) $(LIBGROFF)
  323.   MLIB=$(LIBM)
  324. diff -cbr orig/hpftodit/Makefile.sub src/hpftodit/Makefile.sub
  325. *** orig/hpftodit/Makefile.sub    Sun Jul 10 13:48:16 1994
  326. --- src/hpftodit/Makefile.sub    Wed May 01 19:29:24 1996
  327. ***************
  328. *** 1,4 ****
  329. ! PROG=hpftodit
  330.   MAN1=hpftodit.n
  331.   XLIBS=$(LIBGROFF)
  332.   MLIB=$(LIBM)
  333. --- 1,4 ----
  334. ! PROG=hpftodit$X
  335.   MAN1=hpftodit.n
  336.   XLIBS=$(LIBGROFF)
  337.   MLIB=$(LIBM)
  338. diff -cbr orig/include/driver.h src/include/driver.h
  339. *** orig/include/driver.h    Thu Jun 22 08:41:28 1995
  340. --- src/include/driver.h    Wed May 01 19:40:16 1996
  341. ***************
  342. *** 19,24 ****
  343. --- 19,26 ----
  344.   Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
  345.   
  346.   #include <stdio.h>
  347. + #include <io.h>
  348. + #include <fcntl.h>
  349.   #include <string.h>
  350.   #include <ctype.h>
  351.   #include <stdlib.h>
  352. ***************
  353. *** 26,31 ****
  354. --- 28,34 ----
  355.   #include <errno.h>
  356.   #include <assert.h>
  357.   #include <math.h>
  358. + #include <float.h>
  359.   #include "errarg.h"
  360.   #include "error.h"
  361.   #include "font.h"
  362. diff -cbr orig/include/lib.h src/include/lib.h
  363. *** orig/include/lib.h    Thu Jun 22 08:41:28 1995
  364. --- src/include/lib.h    Wed May 01 19:40:16 1996
  365. ***************
  366. *** 123,125 ****
  367. --- 123,131 ----
  368.   #define ad_delete(size) delete []
  369.   #define a_delete delete []
  370.   #endif /* not ARRAY_DELETE_NEEDS_SIZE */
  371. + #if defined(__EMX__) || defined(__BORLANDC__)
  372. + #define PATHSEP ';'
  373. + #else
  374. + #define PATHSEP ':'
  375. + #endif
  376. diff -cbr orig/indxbib/indxbib.cc src/indxbib/indxbib.cc
  377. *** orig/indxbib/indxbib.cc    Thu Jun 22 08:42:08 1995
  378. --- src/indxbib/indxbib.cc    Wed May 01 19:40:16 1996
  379. ***************
  380. *** 19,24 ****
  381. --- 19,25 ----
  382.   Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
  383.   
  384.   #include <stdio.h>
  385. + #include <io.h>
  386.   #include <stdlib.h>
  387.   #include <string.h>
  388.   #include <assert.h>
  389. diff -cbr orig/indxbib/Makefile.sub src/indxbib/Makefile.sub
  390. *** orig/indxbib/Makefile.sub    Mon Jan 04 22:57:32 1993
  391. --- src/indxbib/Makefile.sub    Sun Jan 02 18:00:56 1994
  392. ***************
  393. *** 1,4 ****
  394. ! PROG=indxbib
  395.   MAN1=indxbib.n
  396.   XLIBS=$(LIBBIB) $(LIBGROFF)
  397.   MLIB=$(LIBM)
  398. --- 1,4 ----
  399. ! PROG=indxbib$X
  400.   MAN1=indxbib.n
  401.   XLIBS=$(LIBBIB) $(LIBGROFF)
  402.   MLIB=$(LIBM)
  403. diff -cbr orig/libbib/index.cc src/libbib/index.cc
  404. *** orig/libbib/index.cc    Thu Jun 22 08:41:40 1995
  405. --- src/libbib/index.cc    Wed May 01 19:40:16 1996
  406. ***************
  407. *** 19,24 ****
  408. --- 19,25 ----
  409.   Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
  410.   
  411.   #include <stdio.h>
  412. + #include <io.h>
  413.   #include <string.h>
  414.   #include <stdlib.h>
  415.   #include <errno.h>
  416. diff -cbr orig/libbib/linear.cc src/libbib/linear.cc
  417. *** orig/libbib/linear.cc    Thu Jun 22 08:41:40 1995
  418. --- src/libbib/linear.cc    Wed May 01 19:40:16 1996
  419. ***************
  420. *** 19,24 ****
  421. --- 19,25 ----
  422.   Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
  423.   
  424.   
  425. + #include <io.h>
  426.   #include <string.h>
  427.   #include <stdlib.h>
  428.   #include <assert.h>
  429. diff -cbr orig/libbib/map.c src/libbib/map.c
  430. *** orig/libbib/map.c    Thu Jun 22 08:41:40 1995
  431. --- src/libbib/map.c    Wed May 01 19:40:16 1996
  432. ***************
  433. *** 60,66 ****
  434.        int fd;
  435.        int nbytes;
  436.   {
  437. !   errno = ENODEV;
  438.     return 0;
  439.   }
  440.   
  441. --- 60,66 ----
  442.        int fd;
  443.        int nbytes;
  444.   {
  445. !   errno = EINVAL;
  446.     return 0;
  447.   }
  448.   
  449. diff -cbr orig/libbib/search.cc src/libbib/search.cc
  450. *** orig/libbib/search.cc    Thu Jun 22 08:41:40 1995
  451. --- src/libbib/search.cc    Wed May 01 19:40:16 1996
  452. ***************
  453. *** 18,23 ****
  454. --- 18,24 ----
  455.   with groff; see the file COPYING.  If not, write to the Free Software
  456.   Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
  457.   
  458. + #include <io.h>
  459.   #include <stdlib.h>
  460.   #include <string.h>
  461.   #include <assert.h>
  462. diff -cbr orig/libgroff/font.cc src/libgroff/font.cc
  463. *** orig/libgroff/font.cc    Thu Jun 22 08:41:34 1995
  464. --- src/libgroff/font.cc    Wed May 01 19:40:16 1996
  465. ***************
  466. *** 23,28 ****
  467. --- 23,29 ----
  468.   #include <ctype.h>
  469.   #include <assert.h>
  470.   #include <math.h>
  471. + #include <float.h>
  472.   #include <stdlib.h>
  473.   #include "errarg.h"
  474.   #include "error.h"
  475. diff -cbr orig/libgroff/fontfile.cc src/libgroff/fontfile.cc
  476. *** orig/libgroff/fontfile.cc    Thu Jun 22 08:41:34 1995
  477. --- src/libgroff/fontfile.cc    Wed May 01 19:32:36 1996
  478. ***************
  479. *** 57,63 ****
  480.   FILE *font::open_file(const char *name, char **pathp)
  481.   {
  482.     char *filename = new char[strlen(name) + strlen(device) + 5];
  483. !   sprintf(filename, "dev%s/%s", device, name);
  484.     FILE *fp = font_path.open_file(filename, pathp);
  485.     a_delete filename;
  486.     return fp;
  487. --- 57,63 ----
  488.   FILE *font::open_file(const char *name, char **pathp)
  489.   {
  490.     char *filename = new char[strlen(name) + strlen(device) + 5];
  491. !   sprintf(filename, "%s/%s", device, name);
  492.     FILE *fp = font_path.open_file(filename, pathp);
  493.     a_delete filename;
  494.     return fp;
  495. diff -cbr orig/libgroff/Makefile.sub src/libgroff/Makefile.sub
  496. *** orig/libgroff/Makefile.sub    Sun Sep 06 09:44:36 1992
  497. --- src/libgroff/Makefile.sub    Sun May 05 01:20:24 1996
  498. ***************
  499. *** 8,15 ****
  500.     nametoindex.cc new.cc prime.cc progname.cc ptable.cc searchpath.cc \
  501.     string.cc strsave.cc tmpfile.cc version.cc illegal.cc
  502.   CSRCS=fmod.c getcwd.c iftoa.c itoa.c matherr.c strerror.c strtol.c putenv.c
  503. ! GENSRCS=version.cc
  504.   
  505.   version.cc: $(srcdir)/../VERSION
  506.       @echo Making version.cc
  507. !     @echo const char \*version_string = \"`cat $(srcdir)/../VERSION`\"\; >$@
  508. --- 8,15 ----
  509.     nametoindex.cc new.cc prime.cc progname.cc ptable.cc searchpath.cc \
  510.     string.cc strsave.cc tmpfile.cc version.cc illegal.cc
  511.   CSRCS=fmod.c getcwd.c iftoa.c itoa.c matherr.c strerror.c strtol.c putenv.c
  512. ! #GENSRCS=version.cc
  513.   
  514.   version.cc: $(srcdir)/../VERSION
  515.       @echo Making version.cc
  516. !     @echo const char \*version_string = \"1.10\"; >$@
  517. diff -cbr orig/libgroff/new.cc src/libgroff/new.cc
  518. *** orig/libgroff/new.cc    Thu Jun 22 08:41:36 1995
  519. --- src/libgroff/new.cc    Wed May 01 19:40:16 1996
  520. ***************
  521. *** 17,22 ****
  522. --- 17,23 ----
  523.   with groff; see the file COPYING.  If not, write to the Free Software
  524.   Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
  525.   
  526. + #include <io.h>
  527.   #include <stddef.h>
  528.   #include <stdlib.h>
  529.   #include <string.h>
  530. ***************
  531. *** 56,67 ****
  532.   #endif /* not COOKIE_BUG */
  533.   }
  534.   
  535. - #ifdef COOKIE_BUG
  536.   void operator delete(void *p)
  537.   {
  538.     if (p)
  539.       free((void *)((char *)p - 8));
  540.   }
  541.   
  542. - #endif /* COOKIE_BUG */
  543. --- 57,69 ----
  544.   #endif /* not COOKIE_BUG */
  545.   }
  546.   
  547.   void operator delete(void *p)
  548.   {
  549.     if (p)
  550. + #ifdef COOKIE_BUG
  551.       free((void *)((char *)p - 8));
  552. + #else
  553. +     free(p);
  554. + #endif /* COOKIE_BUG */
  555.   }
  556.   
  557. diff -cbr orig/libgroff/searchpath.cc src/libgroff/searchpath.cc
  558. *** orig/libgroff/searchpath.cc    Thu Jun 22 08:41:38 1995
  559. --- src/libgroff/searchpath.cc    Wed May 01 19:40:16 1996
  560. ***************
  561. *** 32,38 ****
  562.     if (e && standard) {
  563.       dirs = new char[strlen(e) + strlen(standard) + 2];
  564.       strcpy(dirs, e);
  565. !     strcat(dirs, ":");
  566.       strcat(dirs, standard);
  567.     }
  568.     else
  569. --- 32,39 ----
  570.     if (e && standard) {
  571.       dirs = new char[strlen(e) + strlen(standard) + 2];
  572.       strcpy(dirs, e);
  573. !     dirs[strlen(dirs) + 1] = 0;
  574. !     dirs[strlen(dirs)] = PATHSEP;
  575.       strcat(dirs, standard);
  576.     }
  577.     else
  578. ***************
  579. *** 59,69 ****
  580.       char *p = dirs;
  581.       p += old_len - init_len;
  582.       if (init_len == 0)
  583. !       *p++ = ':';
  584.       memcpy(p, s, slen);
  585.       p += slen;
  586.       if (init_len > 0) {
  587. !       *p++ = ':';
  588.         memcpy(p, old + old_len - init_len, init_len);
  589.         p += init_len;
  590.       }
  591. --- 60,70 ----
  592.       char *p = dirs;
  593.       p += old_len - init_len;
  594.       if (init_len == 0)
  595. !       *p++ = PATHSEP;
  596.       memcpy(p, s, slen);
  597.       p += slen;
  598.       if (init_len > 0) {
  599. !       *p++ = PATHSEP;
  600.         memcpy(p, old + old_len - init_len, init_len);
  601.         p += init_len;
  602.       }
  603. ***************
  604. *** 88,94 ****
  605.     unsigned namelen = strlen(name);
  606.     char *p = dirs;
  607.     for (;;) {
  608. !     char *end = strchr(p, ':');
  609.       if (!end)
  610.         end = strchr(p, '\0');
  611.       int need_slash = end > p && end[-1] != '/';
  612. --- 89,95 ----
  613.     unsigned namelen = strlen(name);
  614.     char *p = dirs;
  615.     for (;;) {
  616. !     char *end = strchr(p, PATHSEP);
  617.       if (!end)
  618.         end = strchr(p, '\0');
  619.       int need_slash = end > p && end[-1] != '/';
  620. diff -cbr orig/libgroff/tmpfile.cc src/libgroff/tmpfile.cc
  621. *** orig/libgroff/tmpfile.cc    Thu Jun 22 08:41:38 1995
  622. --- src/libgroff/tmpfile.cc    Wed May 01 19:40:16 1996
  623. ***************
  624. *** 43,48 ****
  625. --- 43,50 ----
  626.   // Use this as the prefix for temporary filenames.
  627.   #define TMPFILE_PREFIX  "groff"
  628.   
  629. + #ifndef __EMX__
  630.   // Open a temporary file with fatal error on failure.
  631.   
  632.   FILE *xtmpfile()
  633. ***************
  634. *** 87,93 ****
  635.     return fp;
  636.   }
  637.   
  638. ! #if 0
  639.   // If you're not running Unix, the following will do:
  640.   FILE *xtmpfile()
  641.   {
  642. --- 89,96 ----
  643.     return fp;
  644.   }
  645.   
  646. ! #else
  647.   // If you're not running Unix, the following will do:
  648.   FILE *xtmpfile()
  649.   {
  650. ***************
  651. *** 96,99 ****
  652. --- 99,103 ----
  653.       fatal("couldn't create temporary file");
  654.     return fp;
  655.   }
  656.   #endif
  657. diff -cbr orig/lkbib/Makefile.sub src/lkbib/Makefile.sub
  658. *** orig/lkbib/Makefile.sub    Tue Jul 21 11:04:28 1992
  659. --- src/lkbib/Makefile.sub    Sun Jan 02 18:00:58 1994
  660. ***************
  661. *** 1,4 ****
  662. ! PROG=lkbib
  663.   MAN1=lkbib.n
  664.   XLIBS=$(LIBBIB) $(LIBGROFF)
  665.   MLIB=$(LIBM)
  666. --- 1,4 ----
  667. ! PROG=lkbib$X
  668.   MAN1=lkbib.n
  669.   XLIBS=$(LIBBIB) $(LIBGROFF)
  670.   MLIB=$(LIBM)
  671. diff -cbr orig/lookbib/Makefile.sub src/lookbib/Makefile.sub
  672. *** orig/lookbib/Makefile.sub    Tue Jul 21 14:57:02 1992
  673. --- src/lookbib/Makefile.sub    Sun Jan 02 18:00:52 1994
  674. ***************
  675. *** 1,4 ****
  676. ! PROG=lookbib
  677.   MAN1=lookbib.n
  678.   XLIBS=$(LIBBIB) $(LIBGROFF)
  679.   MLIB=$(LIBM)
  680. --- 1,4 ----
  681. ! PROG=lookbib$X
  682.   MAN1=lookbib.n
  683.   XLIBS=$(LIBBIB) $(LIBGROFF)
  684.   MLIB=$(LIBM)
  685. diff -cbr orig/Makefile.comm src/Makefile.comm
  686. *** orig/Makefile.comm    Tue Jun 27 12:08:26 1995
  687. --- src/Makefile.comm    Sun May 05 01:10:48 1996
  688. ***************
  689. *** 19,25 ****
  690.   #
  691.   # Makefile.comm
  692.   #
  693. ! SHELL=/bin/sh
  694.   INCLUDES=-I. -I$(srcdir) -I../include -I$(srcdir)/../include
  695.   ALL_CCFLAGS=$(INCLUDES) $(CCDEFINES) $(CCFLAGS) $(CPPFLAGS)
  696.   COMPILE.cc=$(CCC) $(ALL_CCFLAGS) -c
  697. --- 19,25 ----
  698.   #
  699.   # Makefile.comm
  700.   #
  701. ! #SHELL=/bin/sh
  702.   INCLUDES=-I. -I$(srcdir) -I../include -I$(srcdir)/../include
  703.   ALL_CCFLAGS=$(INCLUDES) $(CCDEFINES) $(CCFLAGS) $(CPPFLAGS)
  704.   COMPILE.cc=$(CCC) $(ALL_CCFLAGS) -c
  705. ***************
  706. *** 82,91 ****
  707.   .SUFFIXES: .o .cc .c .y .man .n
  708.   
  709.   .cc.o:
  710. !     $(COMPILE.cc) $<
  711.   
  712.   .c.o:
  713. !     $(COMPILE.c) $<
  714.   
  715.   .y.cc:
  716.       if test -n "$(YTABH)"; then \
  717. --- 82,91 ----
  718.   .SUFFIXES: .o .cc .c .y .man .n
  719.   
  720.   .cc.o:
  721. !     $(COMPILE.cc) -o $@ $<
  722.   
  723.   .c.o:
  724. !     $(COMPILE.c) -o $@ $<
  725.   
  726.   .y.cc:
  727.       if test -n "$(YTABH)"; then \
  728. ***************
  729. *** 107,132 ****
  730.   .man.n:
  731.       @echo Making $@ from $<
  732.       @-rm -f $@
  733. !     @sed -e "s;@FONTDIR@;$(fontdir);g" \
  734. !     -e "s;@FONTPATH@;$(fontpath);g" \
  735. !     -e "s;@MACRODIR@;$(tmacdir);g" \
  736. !     -e "s;@MACROPATH@;$(tmacpath);g" \
  737. !     -e "s;@DEVICE@;$(DEVICE);g" \
  738. !     -e "s;@DEFAULT_INDEX@;$(indexdir)/$(indexname);g" \
  739. !     -e "s;@DEFAULT_INDEX_NAME@;$(indexname);g" \
  740. !     -e "s;@INDEX_SUFFIX@;$(indexext);g" \
  741. !     -e "s;@COMMON_WORDS_FILE@;$(common_words_file);g" \
  742. !     -e "s;@MAN1EXT@;$(man1ext);g" \
  743. !     -e "s;@MAN5EXT@;$(man5ext);g" \
  744. !     -e "s;@MAN7EXT@;$(man7ext);g" \
  745. !     -e "s;@TMAC_S_PREFIX@;$(tmac_s_prefix);g" \
  746. !     -e "s;@TMAC_M_PREFIX@;$(tmac_m_prefix);g" \
  747. !     -e "s;@TMAC_MDIR@;$(tmacdir)/mm;g" \
  748. !     -e "s;@BROKEN_SPOOLER_FLAGS@;$(BROKEN_SPOOLER_FLAGS);g" \
  749. !     -e "s;@VERSION@;`cat $(srcdir)/../VERSION`;g" \
  750. !     -e "s;@MDATE@;`$(SHELL) $(srcdir)/../mdate.sh $<`;g" \
  751. !     -e "s;@g@;$(g);g" \
  752. !     -e "s;@G@;`echo $(g) | tr [a-z] [A-Z]`;g" \
  753.       $< >$@
  754.   
  755.   .PHONY: install_man
  756. --- 107,132 ----
  757.   .man.n:
  758.       @echo Making $@ from $<
  759.       @-rm -f $@
  760. !     @sed -e "s!@FONTDIR@!$(fontdir)!g" \
  761. !     -e "s!@FONTPATH@!$(fontpath)!g" \
  762. !     -e "s!@MACRODIR@!$(tmacdir)!g" \
  763. !     -e "s!@MACROPATH@!$(tmacpath)!g" \
  764. !     -e "s!@DEVICE@!$(DEVICE)!g" \
  765. !     -e "s!@DEFAULT_INDEX@!$(indexdir)/$(indexname)!g" \
  766. !     -e "s!@DEFAULT_INDEX_NAME@!$(indexname)!g" \
  767. !     -e "s!@INDEX_SUFFIX@!$(indexext)!g" \
  768. !     -e "s!@COMMON_WORDS_FILE@!$(common_words_file)!g" \
  769. !     -e "s!@MAN1EXT@!$(man1ext)!g" \
  770. !     -e "s!@MAN5EXT@!$(man5ext)!g" \
  771. !     -e "s!@MAN7EXT@!$(man7ext)!g" \
  772. !     -e "s!@TMAC_S_PREFIX@!$(tmac_s_prefix)!g" \
  773. !     -e "s!@TMAC_M_PREFIX@!$(tmac_m_prefix)!g" \
  774. !     -e "s!@TMAC_MDIR@!$(tmacdir)/mm!g" \
  775. !     -e "s!@BROKEN_SPOOLER_FLAGS@!$(BROKEN_SPOOLER_FLAGS)!g" \
  776. !     -e "s!@VERSION@!1.10!g" \
  777. !     -e "s!@MDATE@!01 May 1996!g" \
  778. !     -e "s!@g@!!g" \
  779. !     -e "s!@G@!!g" \
  780.       $< >$@
  781.   
  782.   .PHONY: install_man
  783. diff -cbr orig/Makefile.lib src/Makefile.lib
  784. *** orig/Makefile.lib    Thu Sep 29 09:43:48 1994
  785. --- src/Makefile.lib    Sun Jan 02 17:56:28 1994
  786. ***************
  787. *** 5,11 ****
  788.   all: lib$(LIB).a
  789.   
  790.   lib$(LIB).a: $(OBJS)
  791. !     $(AR) r $@ $?
  792.       $(RANLIB) $@
  793.   
  794.   depend: depend_src
  795. --- 5,12 ----
  796.   all: lib$(LIB).a
  797.   
  798.   lib$(LIB).a: $(OBJS)
  799. !     -rm -f $@
  800. !     $(AR) r $@ $(OBJS)
  801.       $(RANLIB) $@
  802.   
  803.   depend: depend_src
  804. diff -cbr orig/mdate.sh src/mdate.sh
  805. *** orig/mdate.sh    Fri Sep 25 11:40:58 1992
  806. --- src/mdate.sh    Sun Jan 02 18:10:40 1994
  807. ***************
  808. *** 7,15 ****
  809.   LANGUAGE=
  810.   
  811.   
  812. ! (date;
  813. ! if ls -L /dev/null 1>/dev/null 2>&1; then ls -L -l $1; else ls -l $1; fi
  814. ! ) | awk '
  815.   BEGIN {
  816.       full["Jan"] = "January"; number["Jan"] = 1;
  817.       full["Feb"] = "February"; number["Feb"] = 2;
  818. --- 7,13 ----
  819.   LANGUAGE=
  820.   
  821.   
  822. ! (date; ls -l $1) | gawk '
  823.   BEGIN {
  824.       full["Jan"] = "January"; number["Jan"] = 1;
  825.       full["Feb"] = "February"; number["Feb"] = 2;
  826. diff -cbr orig/pfbtops/Makefile.sub src/pfbtops/Makefile.sub
  827. *** orig/pfbtops/Makefile.sub    Sun Aug 02 10:48:44 1992
  828. --- src/pfbtops/Makefile.sub    Sun Jan 02 18:01:08 1994
  829. ***************
  830. *** 1,4 ****
  831. ! PROG=pfbtops
  832.   MAN1=pfbtops.n
  833.   OBJS=pfbtops.o
  834.   CSRCS=pfbtops.c
  835. --- 1,4 ----
  836. ! PROG=pfbtops$X
  837.   MAN1=pfbtops.n
  838.   OBJS=pfbtops.o
  839.   CSRCS=pfbtops.c
  840. diff -cbr orig/pic/Makefile.sub src/pic/Makefile.sub
  841. *** orig/pic/Makefile.sub    Tue Jul 21 18:24:08 1992
  842. --- src/pic/Makefile.sub    Sun Jan 02 17:58:52 1994
  843. ***************
  844. *** 1,4 ****
  845. ! PROG=pic
  846.   MAN1=pic.n
  847.   XLIBS=$(LIBGROFF)
  848.   MLIB=$(LIBM)
  849. --- 1,4 ----
  850. ! PROG=pic$X
  851.   MAN1=pic.n
  852.   XLIBS=$(LIBGROFF)
  853.   MLIB=$(LIBM)
  854. diff -cbr orig/psbb/Makefile.sub src/psbb/Makefile.sub
  855. *** orig/psbb/Makefile.sub    Tue Aug 18 18:34:44 1992
  856. --- src/psbb/Makefile.sub    Sun Jan 02 18:01:10 1994
  857. ***************
  858. *** 1,4 ****
  859. ! PROG=psbb
  860.   MAN1=psbb.n
  861.   OBJS=psbb.o
  862.   CSRCS=psbb.c
  863. --- 1,4 ----
  864. ! PROG=psbb$X
  865.   MAN1=psbb.n
  866.   OBJS=psbb.o
  867.   CSRCS=psbb.c
  868. diff -cbr orig/refer/Makefile.sub src/refer/Makefile.sub
  869. *** orig/refer/Makefile.sub    Tue Jul 21 16:19:44 1992
  870. --- src/refer/Makefile.sub    Sun Jan 02 18:00:48 1994
  871. ***************
  872. *** 1,4 ****
  873. ! PROG=refer
  874.   MAN1=refer.n
  875.   XLIBS=$(LIBBIB) $(LIBGROFF)
  876.   MLIB=$(LIBM)
  877. --- 1,4 ----
  878. ! PROG=refer$X
  879.   MAN1=refer.n
  880.   XLIBS=$(LIBBIB) $(LIBGROFF)
  881.   MLIB=$(LIBM)
  882. diff -cbr orig/soelim/Makefile.sub src/soelim/Makefile.sub
  883. *** orig/soelim/Makefile.sub    Tue Jul 21 14:56:02 1992
  884. --- src/soelim/Makefile.sub    Sun Jan 02 18:01:02 1994
  885. ***************
  886. *** 1,4 ****
  887. ! PROG=soelim
  888.   MAN1=soelim.n
  889.   XLIBS=$(LIBGROFF)
  890.   OBJS=soelim.o
  891. --- 1,4 ----
  892. ! PROG=soelim$X
  893.   MAN1=soelim.n
  894.   XLIBS=$(LIBGROFF)
  895.   OBJS=soelim.o
  896. diff -cbr orig/tbl/Makefile.sub src/tbl/Makefile.sub
  897. *** orig/tbl/Makefile.sub    Tue Jul 21 16:17:42 1992
  898. --- src/tbl/Makefile.sub    Sun Jan 02 17:58:58 1994
  899. ***************
  900. *** 1,4 ****
  901. ! PROG=tbl
  902.   MAN1=tbl.n
  903.   XLIBS=$(LIBGROFF)
  904.   OBJS=main.o table.o
  905. --- 1,4 ----
  906. ! PROG=tbl$X
  907.   MAN1=tbl.n
  908.   XLIBS=$(LIBGROFF)
  909.   OBJS=main.o table.o
  910. diff -cbr orig/tfmtodit/Makefile.sub src/tfmtodit/Makefile.sub
  911. *** orig/tfmtodit/Makefile.sub    Mon Jul 20 13:51:44 1992
  912. --- src/tfmtodit/Makefile.sub    Sun Jan 02 18:00:44 1994
  913. ***************
  914. *** 1,4 ****
  915. ! PROG=tfmtodit
  916.   MAN1=tfmtodit.n
  917.   XLIBS=$(LIBGROFF)
  918.   MLIB=$(LIBM)
  919. --- 1,4 ----
  920. ! PROG=tfmtodit$X
  921.   MAN1=tfmtodit.n
  922.   XLIBS=$(LIBGROFF)
  923.   MLIB=$(LIBM)
  924. diff -cbr orig/tfmtodit/tfmtodit.cc src/tfmtodit/tfmtodit.cc
  925. *** orig/tfmtodit/tfmtodit.cc    Thu Jun 22 08:42:02 1995
  926. --- src/tfmtodit/tfmtodit.cc    Wed May 01 19:40:18 1996
  927. ***************
  928. *** 50,55 ****
  929. --- 50,56 ----
  930.   #include <stdio.h>
  931.   #include <stdlib.h>
  932.   #include <math.h>
  933. + #include <float.h>
  934.   #include <string.h>
  935.   #include <errno.h>
  936.   #include "lib.h"
  937. diff -cbr orig/tmac/Makefile.sub src/tmac/Makefile.sub
  938. *** orig/tmac/Makefile.sub    Tue Jun 27 12:36:36 1995
  939. --- src/tmac/Makefile.sub    Sun May 05 00:34:12 1996
  940. ***************
  941. *** 14,20 ****
  942.   tmac_wrap=
  943.   sys_tmac_prefix=
  944.   
  945. ! all: stamp-strip stamp-wrap
  946.   
  947.   install_data: $(NORMALFILES) $(SPECIALFILES) stamp-wrap stamp-strip man.local
  948.       -test -d $(tmacdir) || mkdir $(tmacdir)
  949. --- 14,20 ----
  950.   tmac_wrap=
  951.   sys_tmac_prefix=
  952.   
  953. ! # all: stamp-strip stamp-wrap
  954.   
  955.   install_data: $(NORMALFILES) $(SPECIALFILES) stamp-wrap stamp-strip man.local
  956.       -test -d $(tmacdir) || mkdir $(tmacdir)
  957. diff -cbr orig/troff/input.cc src/troff/input.cc
  958. *** orig/troff/input.cc    Thu Jun 22 08:41:44 1995
  959. --- src/troff/input.cc    Wed May 01 19:40:18 1996
  960. ***************
  961. *** 49,55 ****
  962. --- 49,59 ----
  963.   #endif /* not ISATTY_MISSING */
  964.   
  965.   #define USAGE_EXIT_CODE 1
  966. + #ifdef __EMX__
  967. + #define MACRO_PREFIX ""
  968. + #else
  969.   #define MACRO_PREFIX "tmac."
  970. + #endif
  971.   #define STARTUP_FILE "troffrc"
  972.   #define DEFAULT_INPUT_STACK_LIMIT 1000
  973.   
  974. diff -cbr orig/troff/Makefile.sub src/troff/Makefile.sub
  975. *** orig/troff/Makefile.sub    Wed Oct 28 13:47:58 1992
  976. --- src/troff/Makefile.sub    Sun May 05 01:20:32 1996
  977. ***************
  978. *** 1,4 ****
  979. ! PROG=troff
  980.   MAN1=troff.n
  981.   XLIBS=$(LIBGROFF)
  982.   MLIB=$(LIBM)
  983. --- 1,4 ----
  984. ! PROG=troff$X
  985.   MAN1=troff.n
  986.   XLIBS=$(LIBGROFF)
  987.   MLIB=$(LIBM)
  988. ***************
  989. *** 8,23 ****
  990.     number.cc majorminor.cc
  991.   HDRS=charinfo.h dictionary.h div.h env.h hvunits.h node.h reg.h request.h \
  992.     symbol.h token.h troff.h
  993. ! GENSRCS=majorminor.cc
  994.   NAMEPREFIX=$(g)
  995.   
  996.   majorminor.cc: ../VERSION
  997.       @echo Making $@
  998.       @-rm -f $@
  999. !     @echo const char \*major_version = \
  1000. !     \"`sed -e 's/^\([^.]*\)\..*$$/\1/' $(srcdir)/../VERSION`\"\; >$@
  1001. !     @echo const char \*minor_version = \
  1002. !     \"`sed -e 's/^[^.]*\.\([0-9]*\).*$$/\1/' $(srcdir)/../VERSION`\"\; >>$@
  1003.   
  1004.   install_data: hyphen.us
  1005.       -test -d $(datadir) || mkdir $(datadir)
  1006. --- 8,21 ----
  1007.     number.cc majorminor.cc
  1008.   HDRS=charinfo.h dictionary.h div.h env.h hvunits.h node.h reg.h request.h \
  1009.     symbol.h token.h troff.h
  1010. ! #GENSRCS=majorminor.cc
  1011.   NAMEPREFIX=$(g)
  1012.   
  1013.   majorminor.cc: ../VERSION
  1014.       @echo Making $@
  1015.       @-rm -f $@
  1016. !     @echo const char \*major_version = \"1\"; >$@
  1017. !     @echo const char \*minor_version = \"10\"; >>$@
  1018.   
  1019.   install_data: hyphen.us
  1020.       -test -d $(datadir) || mkdir $(datadir)
  1021.