Re: How to not expand in strings

Mike Gran <[email protected]>
Newsgroups gmane.comp.gnu.m4.general
Message-ID <[email protected]>
> From: Eric Blake <[email protected]>
> The ONLY way to represent an m4 close-quote sequence within an m4
> string is to temporarily change quotes to some other string for
> the duration of quoting the problem character.
> 
> > I guess I could just temporarily change the quote characters
> > again, but, is there some more compact way to not expand just that
> > one string that contains the curly bracket?
> 
> Sorry, there isn't.  There have been some proposals for adding
> some additional syntax abilities in m4 2.0 to make it possible,
> but no code has materialized for it yet.

OK. I can work around it.  Scheme lets you escape characters in strings
as hex numbers, and that'll work in this case.

> You may also want to consider how both autoconf and bison do
> things - they have a post-processing step and a specific character
> sequence that maps to a few specific characters that are otherwise
> difficult to represent directly in m4; in autoconf, they are>
> quadrigraphs (quoting characters [ and ], so @:>@ maps to ]
> and @<:@ maps to ]); in bison, they are digraphs (quoting
> characters [ and ], so @{ maps to [ and @} maps to ]).  Again,
> making a post-processing step a built-in part of m4 would be nice,
> but no one has contributed code.

Hmmm.  'Turtles all the way down.' :-)

Thanks,

Mike Gran
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.