Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!ut-emx!infotel!smunews!.seas.smu.edu!leff From: leff@.seas.smu.edu (leff) Newsgroups: comp.text Subject: troff string register interpolation if strange char Message-ID: <16321@smunews.UUCP> Date: 1 Jun 90 20:41:11 GMT Sender: root@smunews.UUCP Reply-To: leff@.seas.smu.edu (leff) Organization: Southern Methodist University, CSE Dept. Dallas, TX Lines: 31 A strange control character is being inserted on character interpolations before a closing \} of an if statement. In the example below, there are two operations involving interpolation of a string register before a \} of an if. In the first operation, the output of the "tm" inside of the macro, M1, includes both an X and a control character. The second operation shows that the string register X2 receives both an X and a control character. I have experienced this problem with both nroff and ditroff. nroff inserts an octal 36 (^^) while ditroff inserts a control-Q. The obvious workaround is to insert a dummy statement just before the \} but I would like to understand what is happening. Any ideas? .de M1 .if X\\n(R1X1X \{\ .tm \\*(U1\} .if X\\n(R1X1X \{\ .ds X2 \\*(U1\} .. .ds U1 X .nr R1 1 .M1 .tm \*(X2X Laurence Leff, Ph.D |A job is like sex, when you do it for money CS,SMU, Dallas, Texas 75275-0122, |You take away all the fun. Phone: 214-692-3459 Moderator comp.doc.techreports/TRLIST, Symbolic Math List convex!smu!leff leff%smu.uucp@uunet E1AR0002 at SMUVM1 (BITNET)