Re: Inline macros

Murray Altheim (
Thu, 25 Apr 1996 19:47:01 -0500

Message-Id: <v02110106ada5cbff990d@[]>
Date: Thu, 25 Apr 1996 19:47:01 -0500
To: David Ornstein <>
From: (Murray Altheim)
Subject: Re: Inline macros

>[Sorry for leaving so much quote in, but it seems like important context...
>>('MSC' is SGML-eze for 'marked section close', which is ']]'.)
>>Oh, just read David O's latest message. MSC is not ']', rather ']]', so I
>>don't think that's so much of an issue.
>If you mean that it's a fair bit safer because ]] is less likely to occur in
>the data, this seems like a case of closeness in horseshoes and hand
>grenades.  SGML doesn't give any useful help here with anything like an
>escape character for the ']' does it?  You show the example above having
>been BinHex'd which is cheating a bit.  If I wanted to, say, have a PERL
>script in the marked section (roughly akin to the original intent in this
>thread), what do I do if my script has a ']]' in it? (I do see your note
>below about using an entity, but sometimes that wouldn't be done...)

You're correct -- in SGML it is the presence of MSC that signals the parser
to end the marked section. It is the only thing that cannot occur in the
data (well, given the limitations of the SGML declaration). You could
declare an entity &MSC; equal to ']]', but when would that substitution
occur in the parsing routine? There is no other escaping I can think of off
the top of my head.

As to binhex, I don't know if ']]' ever occurs in data. Maybe it does,
maybe it doesn't; I'm no expert on compression algorithms. On a cursory
check of several large .hqx files, I didn't find any, but as you say,
horseshoes and handgrenades...


     Murray Altheim, Program Manager
     Spyglass, Inc., Cambridge, Massachusetts
     email: <>
     http:  <>