[net.bugs.4bsd] ditroff,troff bug

john@polyof.UUCP (03/07/86)

The following bug may be found in the 'ditroff' found in the AT&T DWB.
It probably also exists in earlier version of troff/nroff.
Essentially, if you use the \b'abc...' function (bracket building),
and only supply one component for the 'bracket', such as: \b'\(sr'
ditroff does not do any horizontal motion for the symbol created.  If,
however, you do supply more than one character between the '', ditroff
does do the horizontal motion.  The fix below solves this problem.

In n9.c:

Original Code:
	if (--cnt < 0)
		return;
	else if (!cnt) {
		ch = *(j-2);
		return;
	}

Fixed Code:
	if (--cnt < 0)
		return;
	else if (!cnt) {
		ch = *(j-2) & ~ZBIT;   /* We turn off ZBIT on single chars */
		return;		      /* ZBIT means 'zero width' to *roff */
	}

John Buck
Polytechnic Inst. of NY
Route 110
Farmingdale, NY 11735
516-454-5191

ihnp4!iguana!polyof!john
decvax!mcnc!{philabs!ron1,rti-sel}!polyof!john
trixie!polyof!john