> No. Only the part where this register is set gets interpreted with > the new syntax.
You're right. This is a good solution. > Note that groff doesn't convert macros into an internal > representation; they are only stored and interpreted on demand (this > has both advantages and disadvantages). Thus the need for `.de1' and > friends. Ah, I did get you wrong here, I had read .de1 as .de 1 in old two character ID mode... > Assuming we make register `.C' writable, it could be > > .nr \(.C 2 > ... modern syntax > .nr \(.C 1 > ... compatibility mode > .nr \(.C 0 > ... normal groff syntax Good solution... (I think you mean .nr .C 2 etc.?) > > (Anyway that new register does not hurt if it is additional. But it > > may have advantages to decide per request which expression syntax is > > used.) > > Mhmm. Not sure whether this is a good idea. Agreed, and not needed with e.g. setting of .C. > We already have a mechanism for executing groff extensions in > compatibility mode, so I think it would be reasonable to have the same > for handling the new expression mode. Yes, of course. Carsten