🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.text
Article #1592

troff string register interpolation if strange char

#1592
From: leff leff
Date: Fri, 01 Jun 1990 20:41
31 lines
1574 bytes
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) 
Technical Details
Message-ID: <16321@smunews.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!ut-emx!infotel!smunews!.seas.smu.edu!leff

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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