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
