Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de> writes:
Hi Ralf, and thanks for the review,
> > How so? C99 supports <: and :> as the digraphs for [ and ].
>
> I wasn't being very serious.
Well, quadrigraphs are about as close to line noise as we can get :)
> > @@ -10904,6 +10912,14 @@ m4_quote(active2, active2)
> > @result{}ACT, IVE,ACT, IVE
> > m4_expand([active2, active2])
> > @result{}ACT, IVE, ACT, IVE
> > +m4_expand([case $foo in #(
> > + [[!@@<:@@]]bar) blah ;;
>
> How come this line doesn't end in #( ?
I was trying to show two styles in one example - you can either use a slick
comment:
#(
pattern)
(as was done for the pattern "[![]", which in turn was an unbalanced shell
pattern), or you can use a quadrigraph for unbalanced output (as was done for
pattern *). At any rate, you can't use:
#(
pattern@:}@
as that leads to unbalanced "(" (the opposite of the problem of unbalanced ")"
normally associated with portable case statements, at least when editing the
file you feed to autom4te).
>
> > + *@@:@}@@ baz ;;
> > +esac])
> > [EMAIL PROTECTED] $foo in #(
> > [EMAIL PROTECTED] [![]) blah ;;
>
> Likewise.
Here, the output matched what autom4te does to the input :)
Or maybe I should rewrite this into three examples: leave the existing example
unchanged, add an example of quadrigraphs (for both unbalanced "[" and ")"),
and add an example of portably balancing () for case statements (possibly in
the portable shell programming section of the manual, instead of here in
m4_expand).
--
Eric Blake