Xref: utzoo comp.mail.mh:555 comp.unix.xenix:6874 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!spdcc!dyer From: dyer@spdcc.COM (Steve Dyer) Newsgroups: comp.mail.mh,comp.unix.xenix Subject: Re: Help with SCO Xenix compiler bug affecting MH Message-ID: <3921@ursa-major.SPDCC.COM> Date: 28 Jul 89 04:17:15 GMT References: <1989Jul28.002515.15344@nc386.uucp> Reply-To: dyer@ursa-major.spdcc.COM (Steve Dyer) Distribution: na Organization: S.P. Dyer Computer Consulting, Cambridge MA Lines: 46 In article <1989Jul28.002515.15344@nc386.uucp> allbery@nc386.UUCP (Brandon S. Allbery) writes: >I'm having trouble with MH under SCO Xenix 2.2.1. Specifically, I compile the >distribution with few problems (I'm used to hacking around gratuitous >Berkeleyisms by now), but when I run "repl" it gets a format compile error >from the default replcomps: > >xrepl: "th))%(putaddr To: )_": format compile error - '>' expected. >xrepl: ^ Yeah, I had this too. Now, if I can only recreate what I did to fix it... Let's see. It was rather an obscure _difference_ in interpretation of the language, not so much a bug... Lemme dig... Oh yes...in sbr/formatsbr.c, function 'normalize' static normalize (cp) register char *cp; { register char *dp; for (dp = cp; *cp; cp++) if (*cp != QUOTE) *dp++ = *cp; else switch (*++cp) { #define grot(x) case 'x': *dp++ = '\x'; break; grot (b); grot (f); grot (n); grot (r); grot (t); /* **** */ } The macro "grot" won't work, because XENIX 386 cpp won't substitute between single quoted character constants. Rewrite it doing the expansion yourself. -- Steve Dyer dyer@ursa-major.spdcc.com aka {ima,harvard,rayssd,linus,m2c}!spdcc!dyer dyer@arktouros.mit.edu