> I get _lots_ of errors: " `\E' is not allowed in an escape name"
The cause of this problem was an attempt to make s.tmac better
traceable. The font switching commands are currently defined as
follows:
.de par*define-font-macro
.de \\$1
.ie \En[.$] \{\
. nr par*prev-font \En[.f]
\&\E$3\f[\\$2]\E$1\f[\En[par*prev-font]]\E$2
.\}
.el .ft \\$2
\\..
..
.par*define-font-macro B B
.par*define-font-macro I I
.par*define-font-macro BI BI
.par*define-font-macro CW CR
Previously, the `\E' was `\\\\'; since trace.tmac expands macros once
more than normally, `\\\\' fails.
However, the construction `\f[\En[...]]' doesn't work as expected.
You get warnings of this kind:
`\E' is not allowed in an escape name
I incorrectly assumed that groff first tries to completely expand the
stuff between the brackets -- similar to `\s[\En[...]]', which
actually works.
I'm not sure whether this classifies as a bug at all; it would take
some time to rewrite troff to handle that case gracefully (and I
haven't checked yet whether this is possible at all). Opinions,
please. Gunnar, how does your troff behave?
Werner