(ti)troff question - missing characters

peterson at milano.UUCP peterson at milano.UUCP
Fri Jun 20 04:49:34 AEST 1986


In article <849 at cheviot.newcastle.ac.uk>, (Robert Stroud) writes:
> 
> It turns out that if you *don't* have an entry for \(ts in your device
> driving table (the -T option), these expressions don't work correctly,
> even though the \(ts is being used purely as a delimiter and you have
> no intention of ever using it. 
> The problem goes away if you add an entry to your device table 
> saying that the character exists.
> 
This is a rather common problem.  Unfortunately, when troff looks for
something and does not find it, it just ignores it and does not give
an error message.  I added a "verbose" mode to our troff (-v) which
causes troff to print an error message whenever it searches for
something and fails to find it.  So the 'missing character' problem
is caused by 'getch' calling 'setch' (in t6.c) to find the \(ts
character.  setch searches a table, and if it fails to find the
character returns 0 which causes getch to ignore the character and
get another one.  With the verbose mode option, before setch returns
0, it prints an error message saying the "\(ts was not found (setch)"

The verbose mode also prints when macros are called that are not
defined, and if strings or number registers are used which have
never been defined.
-- 
James Peterson
peterson at mcc.arpa  or  ...sally!im4u!milano!peterson



More information about the Comp.unix mailing list