Hi Ralph, Ralph Corderoy wrote on Wed, May 03, 2017 at 11:37:08AM +0100: > Ingo wrote:
>> Given that the man(7) .TP .itc hack got committed to groff > ... >> Of course, i still don't recommend actually using it, because that >> would make your manual page misrender on groff <= 1.22.3, on mandoc <= >> 1.14.1, and on any version of anything else. > This is sad news. It's an insufficient improvement due to one man's > dislike of inline \f. It shouldn't be used. Hopefully groff's > documentation points out in all cases that it's incompatible? So far, i did not find any place in groff's documentation explaining that. In groff(7), the description of \c is very vague. While https://www.gnu.org/software/groff/manual/html_node/Line-Control.html is considerably more detailed, it is still somewhat unclear, in particular because the concept of input text lines remains undefined (apparently, macro lines sometimes count as text lines, but this is neither said nor obvious) and because it is not completely clear what "continuation of the same input text line" means (apparently, a dot in the first column is still treated as a macro invocation, which it wouldn't be if it were on the same input line). So it was already noticed that \c documentation is unclear. I guess that is because that escape sequence relies on internal undocumented concepts. It was also noted that the description of \c doesn't fully match the description in Heirloom documentation. In any case, the documentation of \c does not document interaction with macro sets, and i guess doing so would not be an improvement because how \c interacts with macro sets depends on implementation details of the respective macros, and besides, low-level reference documentation usually shouldn't talk about high-level user facilities. On the other hand, the groff_man(7) manual page so far doesn't talk about low-level constructs at all, except for discouraging them in a wholesale manner. While that discouragement is clearly of a noble intention, it is unfortunately unrealistic. A day ago, i posted a patch with a first step to improve groff_man(7) in this respect, also mentioning the .TP - \c interaction in passing. Yours, Ingo
