Hello all,

I  think,  although it is not explicitly documented,
it is inferrable from  the  desctiprion  of  the  \n
escape:

  Interpolate  number  register  with  name  IDENT
  (one-character name I, two-character  name  ID).
  This  means  that  the  value of the register is
  expanded in-place while gtroff  is  parsing  the
  input  line.  Nested  assignments  (also  called
  indirect assignments) are possible.

  [Then some examples follow  which  it  might  be
  useful  to  supplement with a sample of the dis-
  cussed behaviour...]

Now that the reader knows that \n  performs  textual
expantion, it is logical how the assgnment of a neg-
ative value can turn into a decrement.

My humble opinion is that such behaviour is asymmet-
rical (decrement for negative values, but assignment
for positive ones) and not evident  form  the  first
sight,  and  that  it could be changed by delegating
the  increment/decrement  operation  to  a  separate
request (like .ir).

Yes, this will render all existing sources incompat-
ible and require their authors to replace all decre-
ments and increments with the new escape :P

Anton

Reply via email to