Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!princeton!caip!think!harvard!ut-sally!im4u!milano!peterson From: peterson@milano.UUCP Newsgroups: net.text,net.unix Subject: Re: (ti)troff question - missing characters Message-ID: <1695@milano.UUCP> Date: Thu, 19-Jun-86 14:49:34 EDT Article-I.D.: milano.1695 Posted: Thu Jun 19 14:49:34 1986 Date-Received: Sat, 21-Jun-86 12:06:34 EDT References: <274@rtech.UUCP> <157@cs.qmc.ac.uk> <4147@sun.uucp> <849@cheviot.newcastle.ac.uk> Sender: peterson@milano.UUCP Distribution: net Organization: MCC, Austin, TX Lines: 26 Xref: watmath net.text:1173 net.unix:8297 Summary: missing characters in troff tables In article <849@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@mcc.arpa or ...sally!im4u!milano!peterson