Hi Jim & Dave, At 2026-07-10T21:03:48-0700, Jim Avera wrote: > At https://www.gnu.org/software/groff/manual/groff.html (5.37 GNU troff > Internals), there is an example using the ".pline" request; this is > supposed to display internal nodes: > > printf 'Gi\\[:u]\\%%seppe\n.pline\n' | groff -z 2>&1 | jq > > With groff 1.22.4 this fails because groff says .pline is an unknown > command. > > I thought maybe a.pline request which outputs was added in a more > recent release,
You were right! > however "pline" is not described anywhere in the above html manual. It's there. https://www.gnu.org/software/groff/manual/groff.html.node/Debugging.html Scroll down or search that page for `pline`. At 2026-07-10T23:43:26-0500, Dave Kemper wrote: > > (Also: Was -z or -Z intended? "jq" is a JSON processor on my > > system.) > > I presume -z was intended; this tells groff to suppress stdout. Then > the following "2>&1" directs stderr to stdout so that it can be piped. > The pline output is in JSON format. Yes. jq(1) becomes angry it is input is malformed. Shushing groff's standard output stream ensures that only output to standard error goes to jq(1)'s standard input. That input can _still_ be malformed if there's something else on the standard error stream, like diagnostics from groff, troff, a preprocessor, or an output driver; or a document that uses `tm` or a similar request. Regards, Branden
signature.asc
Description: PGP signature
