Hi Branden,

> Date: 2026-08-29 14:16:39-0500
> From: "G. Branden Robinson" <[email protected]>
>
[...]
> > > The mandoc(1) -T man output mode uses
> > > [...]
> > 
> > Oh, there's a -Tman mode!  That's interesting!  Some years ago,
> > I wondered whether groff(1) could have a -Troff mode, which would
> > evaluate the man(7) (or any other -m macros, FWIW) macros without
> > formatting the document.
> 
> I know of no troff that permits this.  In interpretation mode (that is,
> "not copy mode"), interpolation and transformation of tokens to nodes
> are both operations that occur at the earliest possible opportunity
> while interpreting the input stream.
> 
> In the past year or so I have revised groff's Texinfo manual to give the
> formatter's internals better coverage.
> 
> ---snip---
[...]
> ---end snip----
> 
> GNU troff's ability to recursively dump string/macro/diversion,
> user-defined character, and pending output line contents as a forest of
> JSON nodes was a major new feature of groff 1.24.
> 
> It's not the same thing by any means as a "wholly macro expanded
> document", but given how dynamic a language *roff is, I'm not sure the
> goal you had in mind is possible.  A language theorist might be able to
> help me devise a proof one way or the other.
> 
> Nevertheless, the recursive node dumping feature, as with other new
> debugging requests in groff 1.24, forces the formatter to disclose the
> truth about its internal state to a degree unprecedented in *roff.
> 
> (I'll just be shampooing out the pomade and taking this plaid blazer off
> now, thanks.)

I'll keep poking you about it from time to time, hoping some day you'll
have the internal tools to implement this.  :)

[...]
> Description
>      The Blertch language supports the following operators.
> 
>      a + b
>      a - b
>      a * b
>      a / b
>      a % b
> 
>      It also supports the unary plus and minus operators.
> 
>      +a
>      -a
> 
>      Operator overloading is not implemented.
> 
> Blertch language reference     2026‐08‐29                     blertch(7)
> 
> I can imagine a counterargument.
> 
> "But why support interrupting the list that way?  It's _really_ two
> lists, so the document author should have to close off the first list
> with `LE`, do their 'interrupting' paragraph, then start a new list with
> `LS`."

Indeed, I believe this is two lists.

> I say no.
> 
> The purpose of the macro package is to serve the technical writer and
> aid them to communicate.  It is not to serve the HTML/XML weenie who
> wants all their tags nested in some canonical fashion.  Sometimes,
> technological constraints will propagate backward to our language
> designs.  But that's a phenomenon to be regretted, not leaned into.

Hmmmm, I'm not convinced we should support this, but I don't care too
much about it either.


Have a lovely night!
Alex

-- 
<https://www.alejandro-colomar.es>

Attachment: signature.asc
Description: PGP signature

        • ... Collin Funk
          • ... Alejandro Colomar
        • ... Alejandro Colomar
  • ... Ingo Schwarze
    • ... Alejandro Colomar
    • ... Larry Kollar via discussion of the GNU roff typesetting system and related software
    • ... G. Branden Robinson
      • ... Ingo Schwarze
        • ... Alejandro Colomar
          • ... G. Branden Robinson
            • ... Alejandro Colomar
  • ... Larry Kollar via discussion of the GNU roff typesetting system and related software
    • ... Alejandro Colomar
      • ... Alejandro Colomar
        • ... Alejandro Colomar
          • ... Alejandro Colomar
    • ... Ingo Schwarze
      • ... Alejandro Colomar

Reply via email to