titroff/ditroff (1.0) enhancements and fixes: part five
req at warwick.UUCP
req at warwick.UUCP
Fri Nov 21 08:05:58 AEST 1986
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
# diffd
# This archive created: Thu Nov 20 21:50:10 1986
export PATH; PATH=/bin:$PATH
echo shar: extracting "'diffd'" '(59948 characters)'
if test -f 'diffd'
then
echo shar: will not over-write existing file "'diffd'"
else
sed 's/^X//' << \SHAR_EOF > 'diffd'
Xdiff -rbc titroff/nii.c /distribution/dwb/text/troff.d/nii.c
X*** titroff/nii.c Mon Oct 13 15:30:32 1986
X--- /distribution/dwb/text/troff.d/nii.c Fri Sep 9 18:46:14 1983
X***************
X*** 1,3
X #include "tdef.h"
X #ifdef NROFF
X #include "tw.h"
X
X--- 1,4 -----
X+ /* @(#)nii.c 1.1 */
X #include "tdef.h"
X #ifdef NROFF
X #include "tw.h"
X***************
X*** 129,147
X int dotT;
X char *unlkp;
X int no_out;
X- #ifdef LOCALWARN
X- #include "local.h"
X- #ifdef WARNLEVELREG
X- int warninglevel = WARN_ONCE;
X- #else !WARNLEVELREG
X- /* use v.nl instead, with the same values */
X- #endif WARNLEVELREG
X- /* warninglevel is:
X- * 0 -- no warnings
X- * 1 -- 1 warning the 1st time a non-standard feature is used
X- * 2 -- warn about every non-standard feature
X- *
X- * these are defined in local.h
X- * REQ
X- */
X- #endif LOCALWARN
X
X--- 130,132 -----
X int dotT;
X char *unlkp;
X int no_out;
Xdiff -rbc titroff/s.h /distribution/dwb/text/troff.d/s.h
X*** titroff/s.h Sun Feb 21 15:07:45 1982
X--- /distribution/dwb/text/troff.d/s.h Fri Sep 9 18:46:16 1983
X***************
X*** 1,3
X struct s {
X int nargs;
X struct s *pframe;
X
X--- 1,4 -----
X+ /* @(#)s.h 1.1 */
X struct s {
X int nargs;
X struct s *pframe;
Xdiff -rbc titroff/suftab.c /distribution/dwb/text/troff.d/suftab.c
X*** titroff/suftab.c Wed Jan 11 10:26:33 1984
X--- /distribution/dwb/text/troff.d/suftab.c Fri Sep 9 18:46:26 1983
X***************
X*** 1,3
X /*
X * Suffix table
X */
X
X--- 1,4 -----
X+ /* @(#)suftab.c 1.1 */
X /*
X * Suffix table
X */
Xdiff -rbc titroff/t10.c /distribution/dwb/text/troff.d/t10.c
X*** titroff/t10.c Thu Oct 23 18:29:01 1986
X--- /distribution/dwb/text/troff.d/t10.c Fri Sep 9 18:46:35 1983
X***************
X*** 1,3
X #include "tdef.h"
X extern
X #include "d.h"
X
X--- 1,4 -----
X+ /* @(#)t10.c 1.1 */
X #include "tdef.h"
X extern
X #include "d.h"
X***************
X*** 13,22
X #include "ext.h"
X int vpos = 0; /* absolute vertical position on page */
X int hpos = 0; /* ditto horizontal */
X- #ifdef PAPERSIZEREG
X- int paperlength = 0; /* from DESC */
X- int paperwidth = 0; /* ditto */
X- #endif PAPERSIZEREG
X
X #define T_IESC 16
X
X
X--- 14,19 -----
X #include "ext.h"
X int vpos = 0; /* absolute vertical position on page */
X int hpos = 0; /* ditto horizontal */
X
X #define T_IESC 16
X
X***************
X*** 71,101
X /* read in resolution, size info, font info, etc.
X /* and set params
X */
X- #ifdef USEFONTPATH
X- extern char *fontpath; /* from t6.c */
X- extern char *followpath(); /* in local.c */
X- extern char *strcpy();
X-
X- if (fontpath && *fontpath) {
X- p = followpath(fontpath, "DESC.out", 0);
X- if (!p || !*p) {
X- #ifdef REPORTERRS
X- errmsg(done3, 1,
X- "Can't find DESC.out in path %s", fontpath);
X- #else !REPORTERRS
X- fprintf(stderr,
X- "troff: can't find DESC.out in path %s",
X- fontpath);
X- done3(1);
X- #endif REPORTERRS
X- } else {
X- (void) strcpy(termtab, p);
X- /* fits because both termtab and
X- * local.c:followpath().result are NS chars long,
X- * and followpath checks
X- */
X- }
X- } else {
X strcat(termtab, "/dev");
X strcat(termtab, devname);
X strcat(termtab, "/DESC.out");
X
X--- 68,73 -----
X /* read in resolution, size info, font info, etc.
X /* and set params
X */
X strcat(termtab, "/dev");
X strcat(termtab, devname);
X strcat(termtab, "/DESC.out"); /* makes "..../devXXX/DESC.out" */
X***************
X*** 98,108
X } else {
X strcat(termtab, "/dev");
X strcat(termtab, devname);
X- strcat(termtab, "/DESC.out");
X- }
X- #else !USEFONTPATH
X- strcat(termtab, "/dev");
X- strcat(termtab, devname);
X strcat(termtab, "/DESC.out"); /* makes "..../devXXX/DESC.out" */
X #endif USEFONTPATH
X if ((fin = open(termtab, 0)) < 0) {
X
X--- 70,75 -----
X */
X strcat(termtab, "/dev");
X strcat(termtab, devname);
X strcat(termtab, "/DESC.out"); /* makes "..../devXXX/DESC.out" */
X if ((fin = open(termtab, 0)) < 0) {
X fprintf(stderr, "troff: can't open tables for %s\n", termtab);
X***************
X*** 104,110
X strcat(termtab, "/dev");
X strcat(termtab, devname);
X strcat(termtab, "/DESC.out"); /* makes "..../devXXX/DESC.out" */
X- #endif USEFONTPATH
X if ((fin = open(termtab, 0)) < 0) {
X #ifdef REPORTERRS
X errmsg(done3, 1, "can't open %s (table for device %s)", termtab, devname);
X
X--- 71,76 -----
X strcat(termtab, "/dev");
X strcat(termtab, devname);
X strcat(termtab, "/DESC.out"); /* makes "..../devXXX/DESC.out" */
X if ((fin = open(termtab, 0)) < 0) {
X fprintf(stderr, "troff: can't open tables for %s\n", termtab);
X done3(1);
X***************
X*** 106,114
X strcat(termtab, "/DESC.out"); /* makes "..../devXXX/DESC.out" */
X #endif USEFONTPATH
X if ((fin = open(termtab, 0)) < 0) {
X- #ifdef REPORTERRS
X- errmsg(done3, 1, "can't open %s (table for device %s)", termtab, devname);
X- #else !REPORTERRS
X fprintf(stderr, "troff: can't open tables for %s\n", termtab);
X done3(1);
X #endif REPORTERRS
X
X--- 72,77 -----
X strcat(termtab, devname);
X strcat(termtab, "/DESC.out"); /* makes "..../devXXX/DESC.out" */
X if ((fin = open(termtab, 0)) < 0) {
X fprintf(stderr, "troff: can't open tables for %s\n", termtab);
X done3(1);
X }
X***************
X*** 111,117
X #else !REPORTERRS
X fprintf(stderr, "troff: can't open tables for %s\n", termtab);
X done3(1);
X- #endif REPORTERRS
X }
X #ifndef DMBTEST
X if (read(fin, &dev, sizeof(struct dev )) != sizeof (struct dev)) {
X
X--- 74,79 -----
X if ((fin = open(termtab, 0)) < 0) {
X fprintf(stderr, "troff: can't open tables for %s\n", termtab);
X done3(1);
X }
X read(fin, &dev, sizeof(struct dev ));
X Inch = dev.res;
X***************
X*** 113,128
X done3(1);
X #endif REPORTERRS
X }
X- #ifndef DMBTEST
X- if (read(fin, &dev, sizeof(struct dev )) != sizeof (struct dev)) {
X- #ifdef REPORTERRS
X- errmsg(done3, 1, "can't read in device structure (%d bytes)", sizeof (struct dev));
X- #else !REPORTERRS
X- fprintf(stderr, "troff: can't read in device structure\n");
X- done3(1);
X- #endif REPORTERRS
X- }
X- #else DMBTEST
X read(fin, &dev, sizeof(struct dev ));
X #endif DMBTEST
X Inch = dev.res;
X
X--- 75,80 -----
X fprintf(stderr, "troff: can't open tables for %s\n", termtab);
X done3(1);
X }
X read(fin, &dev, sizeof(struct dev ));
X Inch = dev.res;
X Hor = dev.hor;
X***************
X*** 124,130
X }
X #else DMBTEST
X read(fin, &dev, sizeof(struct dev ));
X- #endif DMBTEST
X Inch = dev.res;
X Hor = dev.hor;
X Vert = dev.vert;
X
X--- 76,81 -----
X done3(1);
X }
X read(fin, &dev, sizeof(struct dev ));
X Inch = dev.res;
X Hor = dev.hor;
X Vert = dev.vert;
X***************
X*** 130,150
X Vert = dev.vert;
X Unitwidth = dev.unitwidth;
X nfonts = dev.nfonts;
X- #ifdef CHECKNFONTS
X- if (nfonts > NFONT) {
X- #ifdef REPORTERRS
X- errmsg(done3, 2, "too many pre-loaded fonts (%d, max %d); check DESC & makedev.c", nfonts, NFONT);
X- /* should be done3 rather than edone, as we don't want to
X- * continue. I was wrong when I put the CHECKNFONTS in, by
X- * virtue of cribbing from bwk...
X- * - req
X- */
X- #else !REPORTERRS
X- fprintf(stderr, "troff: too many pre-loaded fonts (%d, max %d); check DESC & makedev.c\n", nfonts, NFONT);
X- edone(04); /* is this right ?? */
X- #endif REPORTERRS
X- }
X- #endif CHECKNFONTS
X nsizes = dev.nsizes;
X nchtab = dev.nchtab;
X #ifdef PAPERSIZEREG
X
X--- 81,86 -----
X Vert = dev.vert;
X Unitwidth = dev.unitwidth;
X nfonts = dev.nfonts;
X nsizes = dev.nsizes;
X nchtab = dev.nchtab;
X filebase = setbrk(dev.filesize + 2*EXTRAFONT); /* enough room for whole file */
X***************
X*** 147,159
X #endif CHECKNFONTS
X nsizes = dev.nsizes;
X nchtab = dev.nchtab;
X- #ifdef PAPERSIZEREG
X- paperlength = dev.paperlength;
X- paperwidth = dev.paperwidth;
X- #endif PAPERSIZEREG
X- #ifdef DESCHASNAME
X- (void) strncpy(devname, dev.dname, sizeof(dev.dname) - 1);
X- #endif DESCHASNAME
X filebase = setbrk(dev.filesize + 2*EXTRAFONT); /* enough room for whole file */
X #ifdef REPORTERRS
X /* Read in pre-loaded fonts and gunk all at once */
X
X--- 83,88 -----
X nfonts = dev.nfonts;
X nsizes = dev.nsizes;
X nchtab = dev.nchtab;
X filebase = setbrk(dev.filesize + 2*EXTRAFONT); /* enough room for whole file */
X read(fin, filebase, dev.filesize); /* all at once */
X pstab = (short *) filebase;
X***************
X*** 155,166
X (void) strncpy(devname, dev.dname, sizeof(dev.dname) - 1);
X #endif DESCHASNAME
X filebase = setbrk(dev.filesize + 2*EXTRAFONT); /* enough room for whole file */
X- #ifdef REPORTERRS
X- /* Read in pre-loaded fonts and gunk all at once */
X- if (read(fin, filebase, dev.filesize) != dev.filesize) {
X- errmsg(done3, 3, "Internal error: Failed to read %d bytes from %s at __FILE__:__LINE__", termtab, dev.filesize);
X- }
X- #else !REPORTERRS
X read(fin, filebase, dev.filesize); /* all at once */
X #endif REPORTERRS
X pstab = (short *) filebase;
X
X--- 84,89 -----
X nsizes = dev.nsizes;
X nchtab = dev.nchtab;
X filebase = setbrk(dev.filesize + 2*EXTRAFONT); /* enough room for whole file */
X read(fin, filebase, dev.filesize); /* all at once */
X pstab = (short *) filebase;
X chtab = pstab + nsizes + 1;
X***************
X*** 162,168
X }
X #else !REPORTERRS
X read(fin, filebase, dev.filesize); /* all at once */
X- #endif REPORTERRS
X pstab = (short *) filebase;
X chtab = pstab + nsizes + 1;
X chname = (char *) (chtab + dev.nchtab);
X
X--- 85,90 -----
X nchtab = dev.nchtab;
X filebase = setbrk(dev.filesize + 2*EXTRAFONT); /* enough room for whole file */
X read(fin, filebase, dev.filesize); /* all at once */
X pstab = (short *) filebase;
X chtab = pstab + nsizes + 1;
X chname = (char *) (chtab + dev.nchtab);
X***************
X*** 218,230
X */
X }
X
X- #ifdef COMMENT
X- /* Really, all of this DESC.out stuff isn't done properly at all.
X- * The link between special names in troff & the post-processors is an
X- * almighty hack. But at least it works.
X- * -req
X- */
X- #endif COMMENT
X specnames()
X {
X static struct {
X
X--- 140,145 -----
X */
X }
X
X specnames()
X {
X static struct {
X***************
X*** 252,263
X };
X int i;
X
X- #ifdef COMMENT
X- /* could moan about not having important characters here, perhaps.
X- * but that's better left to makedev (which doesn't do it either)
X- *- req
X- */
X- #endif COMMENT
X for (i = 0; spnames[i].n; i++)
X *spnames[i].n = findch(spnames[i].v);
X }
X
X--- 167,172 -----
X };
X int i;
X
X for (i = 0; spnames[i].n; i++)
X *spnames[i].n = findch(spnames[i].v);
X }
X***************
X*** 445,454
X vpos += dy + dy2;
X break;
X case DRAWWIG: /* wiggly line */
X- #ifdef GREMLIN
X- case DRAWGREM: /* gremlin - do both in one switch... */
X- fprintf(ptid, "D%c %d %d", cbits(pi[1]), dx, dy);
X- #else !GREMLIN
X fprintf(ptid, "D%c %d %d", DRAWWIG, dx, dy);
X #endif GREMLIN
X w = 0;
X
X--- 354,359 -----
X vpos += dy + dy2;
X break;
X case DRAWWIG: /* wiggly line */
X fprintf(ptid, "D%c %d %d", DRAWWIG, dx, dy);
X w = 0;
X hpos += dx;
X***************
X*** 450,456
X fprintf(ptid, "D%c %d %d", cbits(pi[1]), dx, dy);
X #else !GREMLIN
X fprintf(ptid, "D%c %d %d", DRAWWIG, dx, dy);
X- #endif GREMLIN
X w = 0;
X hpos += dx;
X vpos += dy;
X
X--- 355,360 -----
X break;
X case DRAWWIG: /* wiggly line */
X fprintf(ptid, "D%c %d %d", DRAWWIG, dx, dy);
X w = 0;
X hpos += dx;
X vpos += dy;
X***************
X*** 454,465
X w = 0;
X hpos += dx;
X vpos += dy;
X- #ifdef COMMENT
X- /* no check for overflow here, but probably
X- * OK because setdraw() checks.
X- * - req
X- */
X- #endif COMMENT
X for (n = 5; cbits(pi[n]) != '.'; n += 2) {
X dx = absmot(pi[n]);
X if (isnmot(pi[n]))
X
X--- 358,363 -----
X w = 0;
X hpos += dx;
X vpos += dy;
X for (n = 5; cbits(pi[n]) != '.'; n += 2) {
X dx = absmot(pi[n]);
X if (isnmot(pi[n]))
X***************
X*** 473,490
X }
X fprintf(ptid, "\n");
X break;
X- #ifdef GREMLIN
X- case DRAWTHICK: /* line thickness */
X- case DRAWLSTYLE: /* line style mask */
X- fprintf(ptid, "D%c %d\n", dx);
X- break;
X- #endif GREMLIN
X- #ifdef REPORTERRS
X- /* a warning is printed by setdraw, so we don't need one
X- * here.
X- * - req
X- */
X- #endif REPORTERRS
X }
X #ifdef MOVEAFTERDRAW
X /* tell the post-processor where we are... */
X
X--- 371,376 -----
X }
X fprintf(ptid, "\n");
X break;
X }
X for (n = 3; cbits(pi[n]) != '.'; n++)
X ;
X***************
X*** 486,495
X */
X #endif REPORTERRS
X }
X- #ifdef MOVEAFTERDRAW
X- /* tell the post-processor where we are... */
X- fprintf(ptid, "H%d\nV%d\n", hpos, vpos);
X- #endif MOVEAFTERDRAW
X for (n = 3; cbits(pi[n]) != '.'; n++)
X ;
X outsize = n + 1;
X
X--- 372,377 -----
X fprintf(ptid, "\n");
X break;
X }
X for (n = 3; cbits(pi[n]) != '.'; n++)
X ;
X outsize = n + 1;
X***************
X*** 584,592
X return;
X flusho();
X fprintf(ptid, "p%d\n", n); /* new page */
X- #ifdef ROTATEPAGE
X- ptpangle(); /* rotated page angle, local .c --- req */
X- #endif ROTATEPAGE
X ptps();
X ptfont();
X }
X
X--- 466,471 -----
X return;
X flusho();
X fprintf(ptid, "p%d\n", n); /* new page */
X ptps();
X ptfont();
X }
Xdiff -rbc titroff/t6.c /distribution/dwb/text/troff.d/t6.c
X*** titroff/t6.c Wed Nov 19 21:31:41 1986
X--- /distribution/dwb/text/troff.d/t6.c Fri Sep 9 18:46:43 1983
X***************
X*** 1,3
X #include "tdef.h"
X extern
X #include "d.h"
X
X--- 1,4 -----
X+ /* @(#)t6.c 1.2 */
X #include "tdef.h"
X extern
X #include "d.h"
X***************
X*** 23,33
X int bdtab[NFONT+1];
X int sbold = 0;
X
X- #ifdef COMMENT
X- /* width() gets the width of drawing functions wrong.
X- * - req
X- */
X- #endif COMMENT
X width(j)
X tchar j;
X {
X
X--- 24,29 -----
X int bdtab[NFONT+1];
X int sbold = 0;
X
X width(j)
X tchar j;
X {
X***************
X*** 47,62
X k = -widthp;
X goto rtn;
X }
X- #ifdef WIDTHOFDRAWFIX
X- if (i == DRAW) {
X- /* work out the width of the drawing function...
X- * - req
X- */
X- /* unfortunately, we can't do this, as we don't have
X- * enough information...
X- */
X- }
X- #endif WIDTHOFDRAWFIX
X if (i == PRESC)
X i = eschar;
X else if (i == ohc || iscontrol(i))
X
X--- 43,48 -----
X k = -widthp;
X goto rtn;
X }
X if (i == PRESC)
X i = eschar;
X else if (i == ohc || iscontrol(i))
X***************
X*** 190,198
X extern int nchtab;
X
X s = temp;
X- #ifdef COMMENT
X- /* should use getrq() here, but that returns a tchar */
X- #endif COMMENT
X if ((*s++ = getach()) == 0 || (*s++ = getach()) == 0)
X #ifdef REPORTERRS
X {
X
X--- 176,181 -----
X extern int nchtab;
X
X s = temp;
X if ((*s++ = getach()) == 0 || (*s++ = getach()) == 0)
X return(0);
X *s = '\0';
X***************
X*** 194,203
X /* should use getrq() here, but that returns a tchar */
X #endif COMMENT
X if ((*s++ = getach()) == 0 || (*s++ = getach()) == 0)
X- #ifdef REPORTERRS
X- {
X- errmsg(EWARN, "\\(xx -- need 2 characters after (, only got %d",
X- s - temp);
X return(0);
X }
X #else !REPORTERRS
X
X--- 177,182 -----
X
X s = temp;
X if ((*s++ = getach()) == 0 || (*s++ = getach()) == 0)
X return(0);
X *s = '\0';
X for (j = 0; j < nchtab; j++)
X***************
X*** 199,208
X errmsg(EWARN, "\\(xx -- need 2 characters after (, only got %d",
X s - temp);
X return(0);
X- }
X- #else !REPORTERRS
X- return(0);
X- #endif REPORTERRS
X *s = '\0';
X for (j = 0; j < nchtab; j++)
X if (strcmp(&chname[chtab[j]], temp) == 0)
X
X--- 178,183 -----
X s = temp;
X if ((*s++ = getach()) == 0 || (*s++ = getach()) == 0)
X return(0);
X *s = '\0';
X for (j = 0; j < nchtab; j++)
X if (strcmp(&chname[chtab[j]], temp) == 0)
X***************
X*** 207,215
X for (j = 0; j < nchtab; j++)
X if (strcmp(&chname[chtab[j]], temp) == 0)
X return(j + 128 | chbits);
X- #ifdef REPORTERRS
X- errmsg(EWARN, "Special character \\(%s doesn't exist", s);
X- #endif REPORTERRS
X return(0);
X }
X
X
X--- 182,187 -----
X for (j = 0; j < nchtab; j++)
X if (strcmp(&chname[chtab[j]], temp) == 0)
X return(j + 128 | chbits);
X return(0);
X }
X
X***************
X*** 226,235
X {
X register k;
X
X- #ifdef RIBSFIX
X- /* if S has been unmounted (overwritten), smnt set to zero... */
X- if ((k = i - '0') >= 0 && k <= nfonts && (smnt && k != smnt))
X- #else !RIBSFIX
X if ((k = i - '0') >= 0 && k <= nfonts && k < smnt)
X #endif RIBSFIX
X return(k);
X
X--- 198,203 -----
X {
X register k;
X
X if ((k = i - '0') >= 0 && k <= nfonts && k < smnt)
X return(k);
X for (k = 0; fontlab[k] != i; k++)
X***************
X*** 231,237
X if ((k = i - '0') >= 0 && k <= nfonts && (smnt && k != smnt))
X #else !RIBSFIX
X if ((k = i - '0') >= 0 && k <= nfonts && k < smnt)
X- #endif RIBSFIX
X return(k);
X for (k = 0; fontlab[k] != i; k++)
X if (k > nfonts)
X
X--- 199,204 -----
X register k;
X
X if ((k = i - '0') >= 0 && k <= nfonts && k < smnt)
X return(k);
X for (k = 0; fontlab[k] != i; k++)
X if (k > nfonts)
X***************
X*** 251,265
X i = inumb(&apts); /* this is a disaster for fractional point sizes */
X noscale = 0;
X if (nonumb)
X- #ifdef REPORTERRS
X- {
X- tchar nextc = getch();
X-
X- if (cbits(nextc) == '\n') {
X- errmsg(".ps: newline unexpected");
X- } else {
X- errmsg(EWARN, ".ps: bad expression from \"%s\" ignored", tchartos(nextc));
X- }
X return;
X }
X #else !REPORTERRS
X
X--- 218,223 -----
X i = inumb(&apts); /* this is a disaster for fractional point sizes */
X noscale = 0;
X if (nonumb)
X return;
X }
X casps1(i);
X***************
X*** 262,271
X }
X return;
X }
X- #else !REPORTERRS
X- return;
X- #endif REPORTERRS
X- }
X casps1(i);
X }
X
X
X--- 220,225 -----
X if (nonumb)
X return;
X }
X casps1(i);
X }
X
X***************
X*** 283,294
X }
X
X
X- #ifdef COMMENT
X- /* Should we moan about unfound sizes? Plethora of moans from eqn, I expect!
X- * As the effect is already documented, let's not.
X- * - req
X- */
X- #endif COMMENT
X findps(i)
X register int i;
X {
X
X--- 237,242 -----
X }
X
X
X findps(i)
X register int i;
X {
X***************
X*** 294,305
X {
X register j, k;
X
X! for (j = 0; i > (k = pstab[j]); j++)
X! if (!k) {
X! k = pstab[--j];
X! break;
X! }
X! return(k);
X }
X
X
X
X--- 242,254 -----
X {
X register j, k;
X
X! for (j=k=0 ; pstab[j]!=0 ; j++)
X! if ( abs(pstab[j]-i) < abs(pstab[k]-i) )
X! k = j ;
X!
X! if ( pstab[k] != i )
X! fprintf(stderr,"troff: asked for size %d, got %d\n",i,pstab[k]) ;
X! return(pstab[k]);
X }
X
X
X***************
X*** 320,332
X }
X
X
X- #ifdef COMMENT
X- /* should really check here more carefully. It would be nice to warn the
X- * user that \s106 is a ten-point "6", or that \s47 is a four-point 7.
X- * I will if I get a few more minutes tonight.
X- * - req
X- */
X- #endif COMMENT
X setps()
X {
X register i, j;
X
X--- 269,274 -----
X }
X
X
X setps()
X {
X register i, j;
X***************
X*** 349,366
X i = 10 * i + j;
X ch = 0;
X }
X- #ifdef REPORTERRS
X- /* warn if the next input char is a digit... */
X- if (i >= 3 || (j >= 0 && j <= 9)) { /* where's isdigit() !? */
X- j = cbits(ch = getch()) - '0';
X- }
X- if ((reporterrs & LERR_PSNUMWARN) && j >= 0 && j <= 9) {
X- /* next char is a digit. Probably an error! */
X- /* we know it's a digit, so no tchartos() needed */
X- errmsg(EWARN, "\\s%d%c is a %d-point %c",
X- i, j + '0', i, j + '0');
X- }
X- #endif REPORTERRS
X casps1(i);
X }
X #ifdef REPORTERRS
X
X--- 291,296 -----
X i = 10 * i + j;
X ch = 0;
X }
X casps1(i);
X }
X }
X***************
X*** 363,376
X #endif REPORTERRS
X casps1(i);
X }
X- #ifdef REPORTERRS
X- else
X- {
X- /* error -- ignored */
X- i += '0';
X- errmsg(EWARN, "\\s%s ignored%s", tchartos(i), (cbits(i) == 'P') ? " (use \\s0 for previous size)" : " ");
X- }
X- #endif REPORTERRS
X }
X
X
X
X--- 293,298 -----
X }
X casps1(i);
X }
X }
X
X
X***************
X*** 379,396
X int n;
X tchar c;
X
X- #ifdef REPORTERRS
X- tchar delim1, delim2;
X-
X- if (cbits((delim1 = getch())) == '\n') {
X- errmsg(EWARN, "\\H: newline unexpected");
X- return;
X- } else if (ismot(delim1)) {
X- errmsg(EWARN, "\\H: Unsuitable delimiter \"%s\"",
X- tchartos(delim1));
X- return;
X- }
X- #else !REPORTERRS
X getch();
X #endif REPORTERRS
X n = inumb(&apts);
X
X--- 301,306 -----
X int n;
X tchar c;
X
X getch();
X n = inumb(&apts);
X getch();
X***************
X*** 392,398
X }
X #else !REPORTERRS
X getch();
X- #endif REPORTERRS
X n = inumb(&apts);
X #ifdef REPORTERRS
X if (cbits(delim2 = getch()) != cbits(delim1)) {
X
X--- 302,307 -----
X tchar c;
X
X getch();
X n = inumb(&apts);
X getch();
X if (n == 0 || nonumb)
X***************
X*** 394,408
X getch();
X #endif REPORTERRS
X n = inumb(&apts);
X- #ifdef REPORTERRS
X- if (cbits(delim2 = getch()) != cbits(delim1)) {
X- if (cbits(delim2) == '\n') {
X- errmsg(EWARN, "\\H: expected trailing delim \"%s\", found newline", tchartos(delim1));
X- } else {
X- errmsg(EWARN, "\\H: expected close delim \"%s\", found \"%s\"", tchartos(delim1), tchartos(delim2));
X- }
X- }
X- #else !REPORTERRS
X getch();
X #endif REPORTERRS
X if (n == 0 || nonumb)
X
X--- 303,308 -----
X
X getch();
X n = inumb(&apts);
X getch();
X if (n == 0 || nonumb)
X n = apts; /* does this work? */
X***************
X*** 404,410
X }
X #else !REPORTERRS
X getch();
X- #endif REPORTERRS
X if (n == 0 || nonumb)
X n = apts; /* does this work? */
X c = CHARHT;
X
X--- 304,309 -----
X getch();
X n = inumb(&apts);
X getch();
X if (n == 0 || nonumb)
X n = apts; /* does this work? */
X c = CHARHT;
X***************
X*** 418,431
X int n;
X tchar c;
X
X- #ifdef REPORTERRS
X- tchar delim1, delim2;
X-
X- if (cbits(delim1 = getch()) == '\n') {
X- errmsg(EWARN, "\\S: newline unexpected");
X- return;
X- }
X- #else !REPORTERRS
X getch();
X #endif REPORTERRS
X n = 0;
X
X--- 317,322 -----
X int n;
X tchar c;
X
X getch();
X n = 0;
X n = inumb(&n);
X***************
X*** 427,433
X }
X #else !REPORTERRS
X getch();
X- #endif REPORTERRS
X n = 0;
X n = inumb(&n);
X #ifdef REPORTERRS
X
X--- 318,323 -----
X tchar c;
X
X getch();
X n = 0;
X n = inumb(&n);
X getch();
X***************
X*** 430,444
X #endif REPORTERRS
X n = 0;
X n = inumb(&n);
X- #ifdef REPORTERRS
X- if (cbits(delim2 = getch()) != cbits(delim1)) {
X- if (cbits(delim2) == '\n') {
X- errmsg(EWARN, "\\S: expected trailing delim \"%s\", found newline", tchartos(delim1));
X- } else {
X- errmsg(EWARN, "\\S: expected close delim \"%s\", found \"%s\"", tchartos(delim1), tchartos(delim2));
X- }
X- }
X- #else !REPORTERRS
X getch();
X #endif REPORTERRS
X if (nonumb)
X
X--- 320,325 -----
X getch();
X n = 0;
X n = inumb(&n);
X getch();
X if (nonumb)
X n = 0;
X***************
X*** 440,446
X }
X #else !REPORTERRS
X getch();
X- #endif REPORTERRS
X if (nonumb)
X n = 0;
X c = SLANT;
X
X--- 321,326 -----
X n = 0;
X n = inumb(&n);
X getch();
X if (nonumb)
X n = 0;
X c = SLANT;
X***************
X*** 470,501
X j = font1;
X goto s0;
X }
X- #ifdef RIBSFIX
X- /* R I B & S are no longer names of specific fonts;
X- * they're synonyms for given font positions. This was always how most
X- * people thought of them in any case, so it's easier to change it than
X- * to tell them the (old) truth...
X- * REQ
X- */
X- switch (i) {
X- case 'R': /* Relative Roman */
X- i = '1';
X- break;
X- case 'I': /* Relative Italic */
X- i = '2';
X- break;
X- case 'B': /* Relative Bold */
X- i = '3';
X- break;
X- case 'X': /* Bold Italic (ugh, 2-char names...) */
X- i = '4';
X- break;
X- case 'S': /* Special (meaningless) */
X- if (smnt)
X- return; /* can't change to Special font */
X- /* default: fall through... */
X- }
X- #else !RIBSFIX
X if (i == 'S' || i == '0')
X return;
X #endif RIBSFIX
X
X--- 350,355 -----
X j = font1;
X goto s0;
X }
X if (i == 'S' || i == '0')
X return;
X if ((j = findft(i)) == -1)
X***************
X*** 498,504
X #else !RIBSFIX
X if (i == 'S' || i == '0')
X return;
X- #endif RIBSFIX
X if ((j = findft(i)) == -1)
X if ((j = setfp(0, i, 0)) == -1) /* try to put it in position 0 */
X return;
X
X--- 352,357 -----
X }
X if (i == 'S' || i == '0')
X return;
X if ((j = findft(i)) == -1)
X if ((j = setfp(0, i, 0)) == -1) /* try to put it in position 0 */
X return;
X***************
X*** 519,527
X
X base = v.st = v.sb = wid = v.ct = 0;
X if (ismot(i = getch()))
X- #ifdef REPORTERRS
X- {
X- errmsg(EWARN, "\\w: unsuitable delimiter \"%s\"", tchartos(i));
X return;
X }
X #else !REPORTERRS
X
X--- 372,377 -----
X
X base = v.st = v.sb = wid = v.ct = 0;
X if (ismot(i = getch()))
X return;
X delim = cbits(i);
X savhp = v.hp;
X***************
X*** 523,532
X {
X errmsg(EWARN, "\\w: unsuitable delimiter \"%s\"", tchartos(i));
X return;
X- }
X- #else !REPORTERRS
X- return;
X- #endif REPORTERRS
X delim = cbits(i);
X savhp = v.hp;
X savpinchar = pinchar; /* XXX */
X
X--- 373,378 -----
X base = v.st = v.sb = wid = v.ct = 0;
X if (ismot(i = getch()))
X return;
X delim = cbits(i);
X savhp = v.hp;
X savpinchar = pinchar; /* XXX */
X***************
X*** 559,569
X if ((k = base + em) > v.st)
X v.st = k;
X }
X- #ifdef REPORTERRS
X- if (cbits(i) != delim) {
X- errmsg(EWARN, "\\w: no trailing delimiter found to match \"%s\"", tchartos(i));
X- }
X- #endif REPORTERRS
X nform = 0;
X setn1(wid);
X v.hp = savhp;
X
X--- 405,410 -----
X if ((k = base + em) > v.st)
X v.st = k;
X }
X nform = 0;
X setn1(wid);
X v.hp = savhp;
X***************
X*** 602,616
X register short j, n;
X tchar i;
X
X- #ifdef REPORTERRS
X- tchar delim1, delim2;
X-
X- if ((delim1 = cbits(getch())) == '\n') {
X- errmsg(EWARN, "\\h: newline unexpected");
X- return;
X- } else if (ismot(delim1)) {
X- errmsg(EWARN, "\\h: \"%s\" unsuitable delim", tchartos(delim1));
X- }
X j = HOR;
X #else !REPORTERRS
X j = HOR;
X
X--- 443,448 -----
X register short j, n;
X tchar i;
X
X j = HOR;
X getch(); /*eat delim*/
X if (n = atoi()) {
X***************
X*** 612,619
X errmsg(EWARN, "\\h: \"%s\" unsuitable delim", tchartos(delim1));
X }
X j = HOR;
X- #else !REPORTERRS
X- j = HOR;
X getch(); /*eat delim*/
X #endif REPORTERRS
X if (n = atoi()) {
X
X--- 444,449 -----
X tchar i;
X
X j = HOR;
X getch(); /*eat delim*/
X if (n = atoi()) {
X if (vflag)
X***************
X*** 615,621
X #else !REPORTERRS
X j = HOR;
X getch(); /*eat delim*/
X- #endif REPORTERRS
X if (n = atoi()) {
X if (vflag)
X j = VERT;
X
X--- 445,450 -----
X
X j = HOR;
X getch(); /*eat delim*/
X if (n = atoi()) {
X if (vflag)
X j = VERT;
X***************
X*** 622,636
X i = makem(quant(n, j));
X } else
X i = 0;
X- #ifdef REPORTERRS
X- if ((delim2 = cbits(getch())) != delim1) {
X- if (delim2 == '\n') {
X- errmsg(EWARN, "\\h: expected trailing delim \"%s\", found newline", tchartos(delim1));
X- } else {
X- errmsg(EWARN, "\\h: expected close delim \"%s\", found \"%s\"", tchartos(delim1), tchartos(delim2));
X- }
X- }
X- #else !REPORTERRS
X getch();
X #endif REPORTERRS
X vflag = 0;
X
X--- 451,456 -----
X i = makem(quant(n, j));
X } else
X i = 0;
X getch();
X vflag = 0;
X dfact = 1;
X***************
X*** 632,638
X }
X #else !REPORTERRS
X getch();
X- #endif REPORTERRS
X vflag = 0;
X dfact = 1;
X return(i);
X
X--- 452,457 -----
X } else
X i = 0;
X getch();
X vflag = 0;
X dfact = 1;
X return(i);
X***************
X*** 725,733
X
X skip();
X if ((i = cbits(getch()) - '0') <= 0 || i > nfonts)
X- #ifdef REPORTERRS
X- errmsg(EWARN, "fp %d: font position must be in range 1..%d", i, nfonts);
X- #else !REPORTERRS
X fprintf(stderr, "troff: fp: bad font position %d\n", i);
X #endif REPORTERRS
X else if (skip() || !(j = getrq()))
X
X--- 544,549 -----
X
X skip();
X if ((i = cbits(getch()) - '0') <= 0 || i > nfonts)
X fprintf(stderr, "troff: fp: bad font position %d\n", i);
X else if (skip() || !(j = getrq()))
X fprintf(stderr, "troff: fp: no font name\n");
X***************
X*** 729,735
X errmsg(EWARN, "fp %d: font position must be in range 1..%d", i, nfonts);
X #else !REPORTERRS
X fprintf(stderr, "troff: fp: bad font position %d\n", i);
X- #endif REPORTERRS
X else if (skip() || !(j = getrq()))
X #ifdef REPORTERRS
X errmsg(EWARN, ".fp %d without font name ignored", i);
X
X--- 545,550 -----
X skip();
X if ((i = cbits(getch()) - '0') <= 0 || i > nfonts)
X fprintf(stderr, "troff: fp: bad font position %d\n", i);
X else if (skip() || !(j = getrq()))
X fprintf(stderr, "troff: fp: no font name\n");
X else {
X***************
X*** 731,739
X fprintf(stderr, "troff: fp: bad font position %d\n", i);
X #endif REPORTERRS
X else if (skip() || !(j = getrq()))
X- #ifdef REPORTERRS
X- errmsg(EWARN, ".fp %d without font name ignored", i);
X- #else !REPORTERRS
X fprintf(stderr, "troff: fp: no font name\n");
X #endif REPORTERRS
X else {
X
X--- 546,551 -----
X if ((i = cbits(getch()) - '0') <= 0 || i > nfonts)
X fprintf(stderr, "troff: fp: bad font position %d\n", i);
X else if (skip() || !(j = getrq()))
X fprintf(stderr, "troff: fp: no font name\n");
X else {
X skip();
X***************
X*** 735,741
X errmsg(EWARN, ".fp %d without font name ignored", i);
X #else !REPORTERRS
X fprintf(stderr, "troff: fp: no font name\n");
X- #endif REPORTERRS
X else {
X skip();
X setfp(i, j, 0);
X
X--- 547,552 -----
X fprintf(stderr, "troff: fp: bad font position %d\n", i);
X else if (skip() || !(j = getrq()))
X fprintf(stderr, "troff: fp: no font name\n");
X else {
X skip();
X setfp(i, j, 0);
X***************
X*** 741,750
X setfp(i, j, 0);
X }
X }
X- #ifdef USEFONTPATH
X- char *fontpath = 0;
X- extern char *followpath();
X- #endif USEFONTPATH
X
X setfp(pos, f, d) /* mount font f at position pos[0...nfonts] */
X int pos, f;
X
X--- 552,557 -----
X setfp(i, j, 0);
X }
X }
X
X setfp(pos, f, d) /* mount font f at position pos[0...nfonts] */
X int pos, f;
X***************
X*** 752,764
X {
X register i, j, k;
X int n;
X- #ifdef COMMENT
X- /* the 10 in shortname[10] is to match up with the 10 in dev.h.
X- * but it doesn't really matter, as the field is effectively
X- * unused.
X- * - req
X- */
X- #endif COMMENT
X char longname[NS], shortname[10], *p;
X extern int nchtab;
X
X
X--- 559,564 -----
X {
X register i, j, k;
X int n;
X char longname[NS], shortname[10], *p;
X extern int nchtab;
X
X***************
X*** 765,772
X shortname[0] = f & BMASK;
X shortname[1] = f >> BYTE;
X shortname[2] = '\0';
X- #ifdef USEFONTPATH
X- if (!fontpath || !*fontpath) {
X if (d == 0) /* normal case */
X sprintf(longname, "%s/dev%s/%s.out", fontfile, devname, shortname);
X else /* 3rd argument is a directory for the font */
X
X--- 565,570 -----
X shortname[0] = f & BMASK;
X shortname[1] = f >> BYTE;
X shortname[2] = '\0';
X if (d == 0) /* normal case */
X sprintf(longname, "%s/dev%s/%s.out", fontfile, devname, shortname);
X else /* 3rd argument is a directory for the font */
X***************
X*** 772,821
X else /* 3rd argument is a directory for the font */
X sprintf(longname, "%s/%s.out", fontfile, shortname);
X if ((k = open(longname, 0)) < 0) {
X- if ((k = open(longname, 0)) < 0) {
X- #ifdef REPORTERRS
X- errmsg(EWARN, "No file \"%s\" for font %s",
X- longname,shortname);
X- #else !REPORTERRS
X- fprintf(stderr, "troff: Can't open %s\n",
X- longname);
X- #endif REPORTERRS
X- return(-1);
X- }
X- }
X- } else {
X- /* march along fontpath looking for ':', which delimits
X- * entries; each entry is in turn prepended to %s.out.
X- * The default fontfile is made in n1.c:main()
X- * and is /usr/lib/troff/descs/devXXX, where XXX is from -T
X- * - req
X- */
X- char *p;
X-
X- sprintf(longname, "%s.out", shortname);
X- /* the trailing zero means we need a readable file */
X- if ((p = followpath(fontpath, longname, 0)) == (char *) 0 ||
X- (k = open(p, 0)) < 0) {
X- #ifdef REPORTERRS
X- errmsg(EWARN,
X- "Can't find \"%s\" for font %s in path \"%s\"",
X- longname, shortname, fontfile);
X- #else !REPORTERRS
X- fprintf(stderr, "troff: can't find font file %s.out in path \"%s\"", shortname, fontfile);
X- #endif REPORTERRS
X- return(-1);
X- }
X- }
X- /* now have k as an open file */
X- #else !USEFONTPATH
X- if (d == 0) /* normal case */
X- sprintf(longname, "%s/dev%s/%s.out", fontfile, devname, shortname);
X- else /* 3rd argument is a directory for the font */
X- sprintf(longname, "%s/%s.out", fontfile, shortname);
X- if ((k = open(longname, 0)) < 0) {
X- #ifdef REPORTERRS
X- errmsg(EWARN, "No file \"%s\" for font %s", longname,shortname);
X- #else !REPORTERRS
X fprintf(stderr, "troff: Can't open %s\n", longname);
X #endif REPORTERRS
X return(-1);
X
X--- 570,575 -----
X else /* 3rd argument is a directory for the font */
X sprintf(longname, "%s/%s.out", fontfile, shortname);
X if ((k = open(longname, 0)) < 0) {
X fprintf(stderr, "troff: Can't open %s\n", longname);
X return(-1);
X }
X***************
X*** 817,823
X errmsg(EWARN, "No file \"%s\" for font %s", longname,shortname);
X #else !REPORTERRS
X fprintf(stderr, "troff: Can't open %s\n", longname);
X- #endif REPORTERRS
X return(-1);
X }
X #endif USEFONTPATH
X
X--- 571,576 -----
X sprintf(longname, "%s/%s.out", fontfile, shortname);
X if ((k = open(longname, 0)) < 0) {
X fprintf(stderr, "troff: Can't open %s\n", longname);
X return(-1);
X }
X n = fontbase[pos]->nwfont & BMASK;
X***************
X*** 820,826
X #endif REPORTERRS
X return(-1);
X }
X- #endif USEFONTPATH
X n = fontbase[pos]->nwfont & BMASK;
X read(k, fontbase[pos], 3*n + nchtab + 128 - 32 + sizeof(struct font));
X kerntab[pos] = (char *) fontab[pos] + (fontbase[pos]->nwfont & BMASK);
X
X--- 573,578 -----
X fprintf(stderr, "troff: Can't open %s\n", longname);
X return(-1);
X }
X n = fontbase[pos]->nwfont & BMASK;
X read(k, fontbase[pos], 3*n + nchtab + 128 - 32 + sizeof(struct font));
X kerntab[pos] = (char *) fontab[pos] + (fontbase[pos]->nwfont & BMASK);
X***************
X*** 827,835
X /* have to reset the fitab pointer because the width may be different */
X fitab[pos] = (char *) fontab[pos] + 3 * (fontbase[pos]->nwfont & BMASK);
X if ((fontbase[pos]->nwfont & BMASK) > n) {
X- #ifdef REPORTERRS
X- errmsg(EWARN, "Font %s is %d bytes too big for position %d\n", shortname, fontbase[pos]->nwfont - n, pos);
X- #else !REPORTERRS
X fprintf(stderr, "troff: Font %s too big for position %d\n", shortname, pos);
X #endif REPORTERRS
X return(-1);
X
X--- 579,584 -----
X /* have to reset the fitab pointer because the width may be different */
X fitab[pos] = (char *) fontab[pos] + 3 * (fontbase[pos]->nwfont & BMASK);
X if ((fontbase[pos]->nwfont & BMASK) > n) {
X fprintf(stderr, "troff: Font %s too big for position %d\n", shortname, pos);
X return(-1);
X }
X***************
X*** 831,837
X errmsg(EWARN, "Font %s is %d bytes too big for position %d\n", shortname, fontbase[pos]->nwfont - n, pos);
X #else !REPORTERRS
X fprintf(stderr, "troff: Font %s too big for position %d\n", shortname, pos);
X- #endif REPORTERRS
X return(-1);
X }
X fontbase[pos]->nwfont = n; /* so can load a larger one again later */
X
X--- 580,585 -----
X fitab[pos] = (char *) fontab[pos] + 3 * (fontbase[pos]->nwfont & BMASK);
X if ((fontbase[pos]->nwfont & BMASK) > n) {
X fprintf(stderr, "troff: Font %s too big for position %d\n", shortname, pos);
X return(-1);
X }
X fontbase[pos]->nwfont = n; /* so can load a larger one again later */
X***************
X*** 864,888
X register i, j;
X
X noscale++;
X- i = j;
X- #ifdef REPORTERRS
X- {
X- int name;
X-
X- if (skip()) {
X- errmsg(EWARN, "call to .cs with no arguments ignored");
X- goto rtn;
X- }
X- if (!(i = getrq())) {
X- errmsg(EWARN, "call to .cs with no arguments ignored");
X- goto rtn;
X- }
X- if ((i = findft(name = i)) < 0) {
X- errmsg(EWARN, ".cs: font %s is not mounted -- ignored",
X- realname(name));
X- goto rtn;
X- }
X- }
X skip();
X #else !REPORTERRS
X skip();
X
X--- 612,617 -----
X register i, j;
X
X noscale++;
X skip();
X if (!(i = getrq()) || (i = findft(i)) < 0)
X goto rtn;
X***************
X*** 884,891
X }
X }
X skip();
X- #else !REPORTERRS
X- skip();
X if (!(i = getrq()) || (i = findft(i)) < 0)
X goto rtn;
X skip();
X
X--- 613,618 -----
X
X noscale++;
X skip();
X if (!(i = getrq()) || (i = findft(i)) < 0)
X goto rtn;
X skip();
X***************
X*** 889,895
X if (!(i = getrq()) || (i = findft(i)) < 0)
X goto rtn;
X skip();
X- #endif REPORTERRS
X cstab[i] = atoi();
X #ifdef REPORTERRS
X if (!skip())
X
X--- 616,621 -----
X if (!(i = getrq()) || (i = findft(i)) < 0)
X goto rtn;
X skip();
X cstab[i] = atoi();
X skip();
X j = atoi();
X***************
X*** 891,898
X skip();
X #endif REPORTERRS
X cstab[i] = atoi();
X! #ifdef REPORTERRS
X! if (!skip())
X j = atoi();
X #endif REPORTERRS
X if (nonumb)
X
X--- 617,623 -----
X goto rtn;
X skip();
X cstab[i] = atoi();
X! skip();
X j = atoi();
X if (nonumb)
X ccstab[i] = 0;
X***************
X*** 894,900
X #ifdef REPORTERRS
X if (!skip())
X j = atoi();
X- #endif REPORTERRS
X if (nonumb)
X ccstab[i] = 0;
X else
X
X--- 619,624 -----
X cstab[i] = atoi();
X skip();
X j = atoi();
X if (nonumb)
X ccstab[i] = 0;
X else
X***************
X*** 910,937
X
X k = 0;
X bd0:
X- #ifdef REPORTERRS
X- if (skip()) {
X- errmsg(EWARN, "Call to .bd with no arguments ignored");
X- if (k)
X- goto bd1;
X- else
X- return;
X- } else if (!(i = getrq())) {
X- errmsg(EWARN, ".cs: without any arguments ignored");
X- if (k)
X- goto bd1;
X- else
X- return;
X- } else if ((j = findft(i)) < 0) {
X- errmsg(EWARN, "Call to .cs for unknown font %s ignored",
X- realname(j));
X- if (k)
X- goto bd1;
X- else
X- return;
X- }
X- #else !REPORTERRS
X if (skip() || !(i = getrq()) || (j = findft(i)) == -1) {
X if (k)
X goto bd1;
X
X--- 634,639 -----
X
X k = 0;
X bd0:
X if (skip() || !(i = getrq()) || (j = findft(i)) == -1) {
X if (k)
X goto bd1;
X***************
X*** 938,944
X else
X return;
X }
X- #endif REPORTERRS
X if (j == smnt) {
X k = smnt;
X goto bd0;
X
X--- 640,645 -----
X else
X return;
X }
X if (j == smnt) {
X k = smnt;
X goto bd0;
X***************
X*** 980,995
X register i;
X
X noscale++;
X- #ifdef REPORTERRS
X- /* ignored if no args. */
X- /* That way we can distinguish between a syntax error in an expression
X- * and a call to .ss without args, and only moan at the former (although
X- * atoi() may moan too, of course!
X- * - req
X- */
X- if (skip())
X- return;
X- #endif REPORTERRS
X skip();
X if (i = atoi()) {
X spacesz = i & 0177;
X
X--- 681,686 -----
X register i;
X
X noscale++;
X skip();
X if (i = atoi()) {
X spacesz = i & 0177;
X***************
X*** 995,1005
X spacesz = i & 0177;
X sps = width(' ' | chbits);
X }
X- #ifdef REPORTERRS
X- else if (nonumb) {
X- errmsg(EWARN, ".ss with non-numeric argument ignored");
X- }
X- #endif REPORTERRS
X noscale = 0;
X }
X
X
X--- 686,691 -----
X spacesz = i & 0177;
X sps = width(' ' | chbits);
X }
X noscale = 0;
X }
X
Xdiff -rbc titroff/ta.c /distribution/dwb/text/troff.d/ta.c
X*** titroff/ta.c Wed Jan 11 10:26:33 1984
X--- /distribution/dwb/text/troff.d/ta.c Fri Sep 9 18:46:54 1983
X***************
X*** 1,3
X /*
X * drive hp2621 terminal
X * just to see stuff quickly. like troff -a
X
X--- 1,4 -----
X+ /* @(#)ta.c 1.1 */
X /*
X * drive hp2621 terminal
X * just to see stuff quickly. like troff -a
XOnly in titroff: tags
Xdiff -rbc titroff/tc.c /distribution/dwb/text/troff.d/tc.c
X*** titroff/tc.c Wed Jan 11 10:26:33 1984
X--- /distribution/dwb/text/troff.d/tc.c Fri Sep 9 18:47:11 1983
X***************
X*** 1,3
X /*
X * drive 4014 scope
X */
X
X--- 1,4 -----
X+ /* @(#)tc.c 1.2 */
X /*
X * drive 4014 scope
X */
X***************
X*** 99,106
X case 'T':
X if (strcmp(&argv[1][2], "cat") == 0) { /* use the old one */
X if (fork() == 0) {
X! execv("/usr/bin/oldtc", argv);
X! fprintf(stderr, "tc: can't find oldtc\n");
X }
X wait();
X exit(1);
X
X--- 100,107 -----
X case 'T':
X if (strcmp(&argv[1][2], "cat") == 0) { /* use the old one */
X if (fork() == 0) {
X! execv("/usr/bin/otc", argv);
X! fprintf(stderr, "tc: can't find otc\n");
X }
X wait((int *)0);
X exit(1);
X***************
X*** 102,108
X execv("/usr/bin/oldtc", argv);
X fprintf(stderr, "tc: can't find oldtc\n");
X }
X! wait();
X exit(1);
X }
X break;
X
X--- 103,109 -----
X execv("/usr/bin/otc", argv);
X fprintf(stderr, "tc: can't find otc\n");
X }
X! wait((int *)0);
X exit(1);
X }
X break;
X***************
X*** 120,125
X if (dbg == 0) dbg = 1;
X break;
X case 'c':
X keepon = 1;
X break;
X }
X
X--- 121,127 -----
X if (dbg == 0) dbg = 1;
X break;
X case 'c':
X+ case 't':
X keepon = 1;
X break;
X }
X***************
X*** 580,586
X fputs("-n go back n pages\n", stderr);
X fputs("n print page n (previously printed)\n", stderr);
X fputs("o... set the -o output list to ...\n", stderr);
X! fputs("en n=0 -> don't erase; n=1 -> erase\n", stderr);
X fputs("an sets aspect ratio to n\n", stderr);
X break;
X default:
X
X--- 582,588 -----
X fputs("-n go back n pages\n", stderr);
X fputs("n print page n (previously printed)\n", stderr);
X fputs("o... set the -o output list to ...\n", stderr);
X! fputs("e invert state of erasing\n", stderr);
X fputs("an sets aspect ratio to n\n", stderr);
X break;
X default:
Xdiff -rbc titroff/tdef.h /distribution/dwb/text/troff.d/tdef.h
X*** titroff/tdef.h Tue Nov 11 15:16:31 1986
X--- /distribution/dwb/text/troff.d/tdef.h Tue Oct 25 17:24:11 1983
X***************
X*** 1,7
X! #ifdef BSD42
X! #include <pagsiz.h>
X! #define BUFSIZ BSIZE
X! #endif BSD42
X #include <signal.h>
X
X #define MAXPTR (char *)-1 /* max value of any pointer variable */
X
X--- 1,4 -----
X! /* @(#)tdef.h 1.2 */
X #include <signal.h>
X
X #define MAXPTR (char *)-1 /* max value of any pointer variable */
X***************
X*** 77,93
X #define DRAWELLIPSE 'e'
X #define DRAWARC 'a' /* arbitrary arc */
X #define DRAWWIG '~' /* wiggly line with spline */
X- #ifdef GREMLIN
X- /* Gremlin enhancements go here. But I don't know what they are yet.
X- * Line thickness
X- * Stipple
X- * ``Gremlin''
X- * - req
X- */
X- #define DRAWGREM 'g' /* gremlin [sic] */
X- #define DRAWTHICK 't' /* line thickness */
X- #define DRAWLSTYLE 's' /* line style */
X- #endif GREMLIN
X
X #define LEFT 020 /* \{ */
X #define RIGHT 021 /* \} */
X
X--- 74,79 -----
X #define DRAWELLIPSE 'e'
X #define DRAWARC 'a' /* arbitrary arc */
X #define DRAWWIG '~' /* wiggly line with spline */
X
X #define LEFT 020 /* \{ */
X #define RIGHT 021 /* \} */
X***************
X*** 92,100
X #define LEFT 020 /* \{ */
X #define RIGHT 021 /* \} */
X #define FILLER 022 /* \& and similar purposes */
X- #ifdef ANYBASELINE
X- #define BASESTR 023 /* \B -- text on arbitrary baseline - req */
X- #endif ANYBASELINE
X #define OHC 024 /* optional hyphenation character \% */
X #define CONT 025 /* \c character */
X #define PRESC 026 /* printable escape */
X
X--- 78,83 -----
X #define LEFT 020 /* \{ */
X #define RIGHT 021 /* \} */
X #define FILLER 022 /* \& and similar purposes */
X #define OHC 024 /* optional hyphenation character \% */
X #define CONT 025 /* \c character */
X #define PRESC 026 /* printable escape */
X***************
X*** 132,140
X
X /* array sizes, and similar limits: */
X
X- #ifdef MOREPREFONTS
X- #define NFONT 40 /* maximum number of fonts (including specials) */
X- #else !MOREPREFONTS
X #define NFONT 10 /* maximum number of fonts (including specials) */
X #endif MOREPREFONTS
X #define EXTRAFONT 500 /* extra space for swapping a font */
X
X--- 115,120 -----
X
X /* array sizes, and similar limits: */
X
X #define NFONT 10 /* maximum number of fonts (including specials) */
X #define EXTRAFONT 500 /* extra space for swapping a font */
X #define NN 300 /* number registers */
X***************
X*** 136,142
X #define NFONT 40 /* maximum number of fonts (including specials) */
X #else !MOREPREFONTS
X #define NFONT 10 /* maximum number of fonts (including specials) */
X- #endif MOREPREFONTS
X #define EXTRAFONT 500 /* extra space for swapping a font */
X #ifdef BSD42
X #ifdef VMUNIX
X
X--- 116,121 -----
X /* array sizes, and similar limits: */
X
X #define NFONT 10 /* maximum number of fonts (including specials) */
X #define EXTRAFONT 500 /* extra space for swapping a font */
X #define NN 300 /* number registers */
X #define NNAMES 15 /* predefined reg names */
X***************
X*** 138,147
X #define NFONT 10 /* maximum number of fonts (including specials) */
X #endif MOREPREFONTS
X #define EXTRAFONT 500 /* extra space for swapping a font */
X- #ifdef BSD42
X- #ifdef VMUNIX
X- #define NN 528 /* number registers */
X- #else !VMUNIX
X #define NN 300 /* number registers */
X #endif VMUNIX
X #else !BSD42
X
X--- 117,122 -----
X
X #define NFONT 10 /* maximum number of fonts (including specials) */
X #define EXTRAFONT 500 /* extra space for swapping a font */
X #define NN 300 /* number registers */
X #define NNAMES 15 /* predefined reg names */
X #define NIF 15 /* if-else nesting */
X***************
X*** 143,152
X #define NN 528 /* number registers */
X #else !VMUNIX
X #define NN 300 /* number registers */
X- #endif VMUNIX
X- #else !BSD42
X- #define NN 300 /* number registers */
X- #endif BSD42
X #define NNAMES 15 /* predefined reg names */
X #define NIF 15 /* if-else nesting */
X #define NS 64 /* name buffer */
X
X--- 118,123 -----
X #define NFONT 10 /* maximum number of fonts (including specials) */
X #define EXTRAFONT 500 /* extra space for swapping a font */
X #define NN 300 /* number registers */
X #define NNAMES 15 /* predefined reg names */
X #define NIF 15 /* if-else nesting */
X #define NS 128 /* name buffer */
X***************
X*** 149,155
X #endif BSD42
X #define NNAMES 15 /* predefined reg names */
X #define NIF 15 /* if-else nesting */
X! #define NS 64 /* name buffer */
X #define NTM 256 /* tm buffer */
X #ifdef LOTSOFENVS
X #define NEV 7 /* environments */
X
X--- 120,126 -----
X #define NN 300 /* number registers */
X #define NNAMES 15 /* predefined reg names */
X #define NIF 15 /* if-else nesting */
X! #define NS 128 /* name buffer */
X #define NTM 256 /* tm buffer */
X #define NEV 3 /* environments */
X #define EVLSZ 10 /* size of ev stack */
X***************
X*** 151,164
X #define NIF 15 /* if-else nesting */
X #define NS 64 /* name buffer */
X #define NTM 256 /* tm buffer */
X- #ifdef LOTSOFENVS
X- #define NEV 7 /* environments */
X- /* the macro packges use .ev 0, 1, 2
X- * so this leaves 3, 4, 5, 6
X- * for the user. I'm going to make -ms use .ev 3, though, for keeps.
X- * - req
X- */
X- #else !LOTSOFENVS
X #define NEV 3 /* environments */
X #endif LOTSOFENVS
X #define EVLSZ 10 /* size of ev stack */
X
X--- 122,127 -----
X #define NIF 15 /* if-else nesting */
X #define NS 128 /* name buffer */
X #define NTM 256 /* tm buffer */
X #define NEV 3 /* environments */
X #define EVLSZ 10 /* size of ev stack */
X #define DSIZE 512 /* disk sector size in chars */
X***************
X*** 160,166
X */
X #else !LOTSOFENVS
X #define NEV 3 /* environments */
X- #endif LOTSOFENVS
X #define EVLSZ 10 /* size of ev stack */
X #define DSIZE 512 /* disk sector size in chars */
X
X
X--- 123,128 -----
X #define NS 128 /* name buffer */
X #define NTM 256 /* tm buffer */
X #define NEV 3 /* environments */
X #define EVLSZ 10 /* size of ev stack */
X #define DSIZE 512 /* disk sector size in chars */
X
X***************
X*** 172,179
X no harm is done as long as it's big enough.
X */
X
X- #ifdef WARWICK
X- /* if it's wrong, let's fix it ! */
X #define EVUSED \
X (59 * sizeof(int) /* integers in env block */ \
X + 9 * sizeof(*tchar) /* tchars in env block */ \
X
X--- 134,139 -----
X no harm is done as long as it's big enough.
X */
X
X #define EVUSED \
X (59 * sizeof(int) /* integers in env block */ \
X + 9 * sizeof(tchar) /* tchars in env block */ \
X***************
X*** 176,188
X /* if it's wrong, let's fix it ! */
X #define EVUSED \
X (59 * sizeof(int) /* integers in env block */ \
X- + 9 * sizeof(*tchar) /* tchars in env block */ \
X- + NHYP * sizeof(*tchar) /* hytab */ \
X- + NTAB * sizeof(int) /* tabtab */ \
X- + (LNSIZE+WDSIZE) * sizeof(*tchar)) /* line+word */
X- #else WARWICK
X- #define EVUSED \
X- (59 * sizeof(int) /* integers in env block */ \
X + 9 * sizeof(tchar) /* tchars in env block */ \
X + NHYP * sizeof(tchar) /* hytab */ \
X + NTAB * sizeof(int) /* tabtab */ \
X
X--- 136,141 -----
X
X #define EVUSED \
X (59 * sizeof(int) /* integers in env block */ \
X + 9 * sizeof(tchar) /* tchars in env block */ \
X + NHYP * sizeof(tchar) /* hytab */ \
X + NTAB * sizeof(int) /* tabtab */ \
X***************
X*** 187,193
X + NHYP * sizeof(tchar) /* hytab */ \
X + NTAB * sizeof(int) /* tabtab */ \
X + (LNSIZE+WDSIZE) * sizeof(tchar)) /* line+word */
X- #endif WARWICK
X
X #define EVSPARE DSIZE - EVUSED % DSIZE /* number of leftover chars */
X #define EVS (EVUSED + EVSPARE) /* should be a multiple of DSIZE */
X
X--- 140,145 -----
X + NHYP * sizeof(tchar) /* hytab */ \
X + NTAB * sizeof(int) /* tabtab */ \
X + (LNSIZE+WDSIZE) * sizeof(tchar)) /* line+word */
X
X #define EVSPARE DSIZE - EVUSED % DSIZE /* number of leftover chars */
X #define EVS (EVUSED + EVSPARE) /* should be a multiple of DSIZE */
X***************
X*** 191,199
X
X #define EVSPARE DSIZE - EVUSED % DSIZE /* number of leftover chars */
X #define EVS (EVUSED + EVSPARE) /* should be a multiple of DSIZE */
X- #ifdef WARWICK
X- #define NM 800
X- #else WARWICK
X #define NM 350 /* requests + macros */
X #endif WARWICK
X #define DELTA 1024 /* delta core bytes */
X
X--- 143,148 -----
X
X #define EVSPARE DSIZE - EVUSED % DSIZE /* number of leftover chars */
X #define EVS (EVUSED + EVSPARE) /* should be a multiple of DSIZE */
X #define NM 350 /* requests + macros */
X #define DELTA 1024 /* delta core bytes */
X #define NHYP 10 /* max hyphens per word */
X***************
X*** 195,201
X #define NM 800
X #else WARWICK
X #define NM 350 /* requests + macros */
X- #endif WARWICK
X #define DELTA 1024 /* delta core bytes */
X #define NHYP 10 /* max hyphens per word */
X #ifndef NHEX /* to allow setting this from the Makefile -- req */
X
X--- 144,149 -----
X #define EVSPARE DSIZE - EVUSED % DSIZE /* number of leftover chars */
X #define EVS (EVUSED + EVSPARE) /* should be a multiple of DSIZE */
X #define NM 350 /* requests + macros */
X #define DELTA 1024 /* delta core bytes */
X #define NHYP 10 /* max hyphens per word */
X #define NHEX 128 /* byte size of exception word list */
X***************
X*** 198,204
X #endif WARWICK
X #define DELTA 1024 /* delta core bytes */
X #define NHYP 10 /* max hyphens per word */
X- #ifndef NHEX /* to allow setting this from the Makefile -- req */
X #define NHEX 128 /* byte size of exception word list */
X #endif !NHEX
X #define NTAB 35 /* tab stops */
X
X--- 146,151 -----
X #define NM 350 /* requests + macros */
X #define DELTA 1024 /* delta core bytes */
X #define NHYP 10 /* max hyphens per word */
X #define NHEX 128 /* byte size of exception word list */
X #define NTAB 35 /* tab stops */
X #define NSO 5 /* "so" depth */
X***************
X*** 200,206
X #define NHYP 10 /* max hyphens per word */
X #ifndef NHEX /* to allow setting this from the Makefile -- req */
X #define NHEX 128 /* byte size of exception word list */
X- #endif !NHEX
X #define NTAB 35 /* tab stops */
X #define NSO 5 /* "so" depth */
X #ifdef WARWICK
X
X--- 147,152 -----
X #define DELTA 1024 /* delta core bytes */
X #define NHYP 10 /* max hyphens per word */
X #define NHEX 128 /* byte size of exception word list */
X #define NTAB 35 /* tab stops */
X #define NSO 5 /* "so" depth */
X #define WDSIZE 270 /* word buffer size */
X***************
X*** 203,212
X #endif !NHEX
X #define NTAB 35 /* tab stops */
X #define NSO 5 /* "so" depth */
X- #ifdef WARWICK
X- #define WDSIZE 960 /* word buffer size */
X- #define LNSIZE 2960 /* line buffer size */
X- #else WARWICK
X #define WDSIZE 270 /* word buffer size */
X #define LNSIZE 680 /* line buffer size */
X #endif WARWICK
X
X--- 149,154 -----
X #define NHEX 128 /* byte size of exception word list */
X #define NTAB 35 /* tab stops */
X #define NSO 5 /* "so" depth */
X #define WDSIZE 270 /* word buffer size */
X #define LNSIZE 680 /* line buffer size */
X #define NDI 5 /* number of diversions */
X***************
X*** 209,215
X #else WARWICK
X #define WDSIZE 270 /* word buffer size */
X #define LNSIZE 680 /* line buffer size */
X- #endif WARWICK
X #define NDI 5 /* number of diversions */
X #define NTRTAB 350 /* number of items in trtab[] */
X #define NTRAP 20 /* number of traps */
X
X--- 151,156 -----
X #define NSO 5 /* "so" depth */
X #define WDSIZE 270 /* word buffer size */
X #define LNSIZE 680 /* line buffer size */
X #define NDI 5 /* number of diversions */
X #define NTRTAB 350 /* number of items in trtab[] */
X #define NTRAP 20 /* number of traps */
X***************
X*** 214,222
X #define NTRTAB 350 /* number of items in trtab[] */
X #define NTRAP 20 /* number of traps */
X #define NPN 20 /* numbers in "-o" */
X- #ifdef WARWICK
X- #define FBUFSZ 1024 /* field buf size words */
X- #else WARWICK
X #define FBUFSZ 256 /* field buf size words */
X #endif WARWICK
X #ifdef BUFSIZ
X
X--- 155,160 -----
X #define NTRTAB 350 /* number of items in trtab[] */
X #define NTRAP 20 /* number of traps */
X #define NPN 20 /* numbers in "-o" */
X #define FBUFSZ 256 /* field buf size words */
X #define OBUFSZ 512 /* bytes */
X #define IBUFSZ 512 /* bytes */
X***************
X*** 218,228
X #define FBUFSZ 1024 /* field buf size words */
X #else WARWICK
X #define FBUFSZ 256 /* field buf size words */
X- #endif WARWICK
X- #ifdef BUFSIZ
X- #define OBUFSZ BUFSIZ /* bytes */
X- #define IBUFSZ BUFSIZ /* bytes */
X- #else !BUFSIZ
X #define OBUFSZ 512 /* bytes */
X #define IBUFSZ 512 /* bytes */
X #endif BUFSIZ
X
X--- 156,161 -----
X #define NTRAP 20 /* number of traps */
X #define NPN 20 /* numbers in "-o" */
X #define FBUFSZ 256 /* field buf size words */
X #define OBUFSZ 512 /* bytes */
X #define IBUFSZ 512 /* bytes */
X #define NC 256 /* cbuf size words */
X***************
X*** 225,231
X #else !BUFSIZ
X #define OBUFSZ 512 /* bytes */
X #define IBUFSZ 512 /* bytes */
X- #endif BUFSIZ
X #define NC 256 /* cbuf size words */
X #define NOV 10 /* number of overstrike chars */
X #define NPP 10 /* pads per field */
X
X--- 158,163 -----
X #define FBUFSZ 256 /* field buf size words */
X #define OBUFSZ 512 /* bytes */
X #define IBUFSZ 512 /* bytes */
X #define NC 256 /* cbuf size words */
X #define NOV 10 /* number of overstrike chars */
X #define NPP 10 /* pads per field */
X***************
X*** 251,257
X #define VMOT (01L<<16) /* vert motion bit */
X #define NMOT (01L<<17) /* negative motion indicator*/
X #define MAXMOT 32767 /* bad way to write this!!! */
X! #define ismot(n) ((unsigned short)(n) & MOT) /* (short) is a cheap mask */
X #define isvmot(n) ((n) & VMOT) /* must have tested MOT previously */
X #define isnmot(n) ((n) & NMOT) /* ditto */
X #define absmot(n) ((unsigned short)(n) & ~MOT) /* (short) is cheap mask */
X
X--- 183,189 -----
X #define VMOT (01L<<16) /* vert motion bit */
X #define NMOT (01L<<17) /* negative motion indicator*/
X #define MAXMOT 32767 /* bad way to write this!!! */
X! #define ismot(n) (unsigned)((n) & MOT) /* (short) is a cheap mask */
X #define isvmot(n) ((n) & VMOT) /* must have tested MOT previously */
X #define isnmot(n) ((n) & NMOT) /* ditto */
X #define absmot(n) (unsigned)(0177777 & (n) & ~MOT) /* (short) is cheap mask */
X***************
X*** 254,260
X #define ismot(n) ((unsigned short)(n) & MOT) /* (short) is a cheap mask */
X #define isvmot(n) ((n) & VMOT) /* must have tested MOT previously */
X #define isnmot(n) ((n) & NMOT) /* ditto */
X! #define absmot(n) ((unsigned short)(n) & ~MOT) /* (short) is cheap mask */
X
X #define ZBIT (01L << 31) /* zero width char */
X #define iszbit(n) ((n) & ZBIT)
X
X--- 186,192 -----
X #define ismot(n) (unsigned)((n) & MOT) /* (short) is a cheap mask */
X #define isvmot(n) ((n) & VMOT) /* must have tested MOT previously */
X #define isnmot(n) ((n) & NMOT) /* ditto */
X! #define absmot(n) (unsigned)(0177777 & (n) & ~MOT) /* (short) is cheap mask */
X
X #define ZBIT (01L << 31) /* zero width char */
X #define iszbit(n) ((n) & ZBIT)
X***************
X*** 264,273
X #define SFMASK (SMASK|FMASK) /* size and font in a tchar */
X #define CMASK ~MOT /* clears MOT */
X #define CMASKL 077777L
X! #define sbits(n) ((unsigned short)((n) >> 24) & 0177)
X! #define fbits(n) ((unsigned short)((n) >> 16) & 0377)
X! #define sfbits(n) ((unsigned short)(((n) & SFMASK) >> 16))
X! #define cbits(n) (unsigned short)(n) /* isolate bottom 16 bits */
X #define setsbits(n,s) n = (n & ~SMASK) | (tchar)(s) << 24
X #define setfbits(n,f) n = (n & ~FMASK) | (tchar)(f) << 16
X #define setsfbits(n,sf) n = (n & ~SFMASK) | (tchar)(sf) << 16
X
X--- 196,205 -----
X #define SFMASK (SMASK|FMASK) /* size and font in a tchar */
X #define CMASK ~MOT /* clears MOT */
X #define CMASKL 077777L
X! #define sbits(n) (((n) >> 24) & 0177)
X! #define fbits(n) (((n) >> 16) & 0377)
X! #define sfbits(n) (unsigned)(0177777 & (((n) & SFMASK) >> 16))
X! #define cbits(n) (unsigned)(0177777 & (n)) /* isolate bottom 16 bits */
X #define setsbits(n,s) n = (n & ~SMASK) | (tchar)(s) << 24
X #define setfbits(n,f) n = (n & ~FMASK) | (tchar)(f) << 16
X #define setsfbits(n,sf) n = (n & ~SFMASK) | (tchar)(sf) << 16
X***************
X*** 284,292
X
X #define PAIR(A,B) (A|(B<<BYTE))
X
X- #ifdef ALIGNFIXES
X- typedef long filep;
X- #else !ALIGNFIXES
X typedef unsigned filep;
X #endif ALIGNFIXES
X #define BLK 128 /* alloc block tchars */
X
X--- 216,221 -----
X
X #define PAIR(A,B) (A|(B<<BYTE))
X
X typedef unsigned filep;
X #define BLK 128 /* alloc block tchars */
X #define NBLIST 1024 /* allocation list */
X***************
X*** 288,294
X typedef long filep;
X #else !ALIGNFIXES
X typedef unsigned filep;
X- #endif ALIGNFIXES
X #define BLK 128 /* alloc block tchars */
X #define NBLIST 1024 /* allocation list */
X /* previous values were BLK 256 NBLIST 512 */
X
X--- 217,222 -----
X #define PAIR(A,B) (A|(B<<BYTE))
X
X typedef unsigned filep;
X #define BLK 128 /* alloc block tchars */
X #define NBLIST 1024 /* allocation list */
X /* previous values were BLK 256 NBLIST 512 */
X***************
X*** 308,323
X extern tchar setz();
X extern tchar setch(), absch();
X extern tchar setht(), setslant();
X- #ifdef REPORTERRS
X- extern
X- #ifdef LINTSTUFF
X- void
X- #endif LINTSTUFF
X- done(), done1(), done2(), done3(), edone();
X- /* cleanup functions now passed as a parameter to errmsg() */
X- /* I don't quite understand why there are so many! */
X- /* - req */
X- #endif REPORTERRS
X
X #define atoi(i) ((int) atoi0(i))
X extern long atoi0();
X
X--- 236,241 -----
X extern tchar setz();
X extern tchar setch(), absch();
X extern tchar setht(), setslant();
X
X #define atoi(i) ((int) atoi0(i))
X extern long atoi0();
X***************
X*** 348,351
X extern int c_lefthand;
X
X extern int stderr; /* this is NOT the stdio value! */
X- #include "local.h"
X
X--- 266,268 -----
X extern int c_lefthand;
X
X extern int stderr; /* this is NOT the stdio value! */
XOnly in titroff: troff.doc
XOnly in /distribution/dwb/text/troff.d: troff.mk
XOnly in /distribution/dwb/text/troff.d: troff.sh
XOnly in titroff: tw.h
Xdiff -rbc titroff/v.h /distribution/dwb/text/troff.d/v.h
X*** titroff/v.h Mon Oct 13 22:37:52 1986
X--- /distribution/dwb/text/troff.d/v.h Fri Sep 9 18:47:33 1983
X***************
X*** 1,3
X struct v {int pn,nl,yr,hp,ct,dn,mo,dy,dw,ln,dl,st,sb,cd,pid;
X #ifdef WARNLEVELREG
X int wl; /* warning level -- req */
X
X--- 1,3 -----
X+ /* @(#)v.h 1.1 */
X struct v {int pn,nl,yr,hp,ct,dn,mo,dy,dw,ln,dl,st,sb,cd,pid;
X int vxx[NN-NNAMES];} v ;
X***************
X*** 1,8
X struct v {int pn,nl,yr,hp,ct,dn,mo,dy,dw,ln,dl,st,sb,cd,pid;
X- #ifdef WARNLEVELREG
X- int wl; /* warning level -- req */
X- #endif WARNLEVELREG
X- #ifdef EVREG
X- int ev; /* number of current env --- starts as 0 */
X- #endif EVREG
X int vxx[NN-NNAMES];} v ;
X
X--- 1,3 -----
X /* @(#)v.h 1.1 */
X struct v {int pn,nl,yr,hp,ct,dn,mo,dy,dw,ln,dl,st,sb,cd,pid;
X int vxx[NN-NNAMES];} v ;
XOnly in titroff: x.c
SHAR_EOF
if test 59948 -ne "`wc -c < 'diffd'`"
then
echo shar: error transmitting "'diffd'" '(should have been 59948 characters)'
fi
fi # end of overwriting check
# End of shell archive
exit 0
--
ARPA req%uu.warwick.ac.uk at ucl-cs.arpa
EARN/BITNET req%UK.AC.WARWICK.UU at AC.UK
JANET req at uk.ac.warwick.uu
UUCP seismo!mcvax!ukc!warwick!req (req at warwick.UUCP)
PHONE +44 203 523485
For mail.frplist, use "frplist" instead of "req" in the above lines.
The BITNET path only works from sites that have AC.UK in their tables. Sorry.
More information about the Comp.sources.unix
mailing list