groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] problem with current snapshot


From: Werner LEMBERG
Subject: Re: [Groff] problem with current snapshot
Date: Sat, 17 Mar 2007 08:37:28 +0100 (CET)

> 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]