Hi Alex, At 2023-05-03T00:21:33+0200, Alejandro Colomar wrote: > On 5/2/23 17:10, G. Branden Robinson wrote: > > There isn't really any such thing as a device-dependent warning, > > unless you count those thrown by the output driver itself, like > > grops(1) or grotty(1). > > No, I run the output driver separately. I'm talking about troff(1) > specifically. I'm seeing three kinds of warnings when running > troff -man -Tutf8: > > troff:man3/unlocked_stdio.3:123: warning [p 2, 1.8i, div '3tbd1,0', 0.3i]: > cannot break line
Okay, yes, that is termed an "output warning" internally, thus the weird format. But it's still not device-dependent. Incidentally, the format of the extra information has long bothered me. So I have a change pending for groff-next that will make the foregoing look more like: troff:man3/unlocked_stdio.3:123: warning [page 2, 1.8i (diversion '3tbd1,0', 0.3i)]: cannot break line What would build upon this nicely would be: 1. For the man(7) and mdoc(7) packages to set the warning scaling indicator to "n" when formatting for terminals. It's pretty useless to give terminal users a measurement in inches. They'll need to learn that "n" is in screen lines, but once they have that, they stand some change of locating the position on the page being griped about. 2. Revising continuous rendering to use the "infinite"[1] page length approach with sudden death truncation at the end of the document. After all the trouble I went to to get the bugs out of the existing continuous rendering implementation, there will be a frisson to deleting most of it. > an.tmac:man4/cciss.4:164: style: blank line in input > > man4/console_codes.4:324: warning: table wider than line length minus > indentation > > I noticed some are prefixed by 'an.tman:', and I understand those are > the CHECKSTYLE ones (or in general produced by the man(7) macro > package). Yes. > Some others are prefixed by 'troff:' Yes, those come from the formatter, troff(1). > and others don't have a prefix at all. They do: the document's file name. The document is complaining about itself. You may protest that YOU didn't put that there. And indeed you didn't. You gave tbl(1) permission to do so on your behalf. > I inferred that there was a difference between the latter pair of > groups of warnings, but maybe I'm wrong. Why is there a difference? The reason is that tbl itself isn't complaining; the *roff code it generated and put into your document is. And the reason for _that_ is that at the time tbl ran, there wasn't a problem. It was only when the page was getting formatted that your document discovered that there was a problem with the line length. You could take the same output from tbl and format it on a wider terminal, and the diagnostic would not be emitted because there wouldn't be a problem. Remember that when tbl runs, the document has not yet been formatted. tbl doesn't _know_ what the line length will be. During the 1.23.0 development cycle I was careful to make sure all these diagnostics injected into the document by tbl went to the trouble of mentioning tables so the user might twig on to the fact that tbl was (indirectly) involved. See <https://savannah.gnu.org/bugs/?59443>. Regards, Branden [1] not really infinite, just INT_MAX basic units long
signature.asc
Description: PGP signature