|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T f
Length: 63365 (0xf785)
Types: TextFile
Names: »fix5«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦this⟧ »EUUGD11/euug-87hel/sec1/ditroff-fix/fix5«
#! /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@ucl-cs.arpa
EARN/BITNET req%UK.AC.WARWICK.UU@AC.UK
JANET req@uk.ac.warwick.uu
UUCP seismo!mcvax!ukc!warwick!req (req@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.