groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proposed: change `pm` request argument semantics (was: process man(7


From: Alejandro Colomar
Subject: Re: Proposed: change `pm` request argument semantics (was: process man(7) (or any other package of macros) without typesetting)
Date: Fri, 18 Aug 2023 16:07:31 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.1

Hi Branden, Lennart, Doug,

On 2023-08-18 01:44, G. Branden Robinson wrote:

> In other words, you want to see what a *roff document looks like after
> all macro expansions have been (recursively) performed.

Exactly.  Basically, I want an equivalent of cpp(1) for expanding
man(7) macros.

> 
> I wanted this, too, back in 2017 when I first started working on groff.
> 
> The short answer is "no".
> 
> The longer answer is that this is hard because GNU troff, like AT&T
> troff, never builds a complete syntax tree for the document the way
> "modern" document formatters do.

This gives me some hope.  If it's just that both AT&T troff and GNU
groff have been designed so that they do two things, but can't do one
thing and do it well, then my solution involves writing a manpp(1)
from scratch.  If you tell me that's possible, and possibly the easiest
way, then I may do it some day.

Doug, I'm curious about why the original design of man(7) and
troff(1)/nroff(1) didn't separate this into a macro preprocessor.
Do you remember some details about that?  Was it impossible, or maybe
too much work?

[...]

> 
> I'll say it before Ingo does: mandoc(1) (as I understand it) _does_
> build a syntax tree for the entire document before producing output,
> which enables some of the nice features that it has.
> 
> I see Lennart has replied with some further exploration of the
> challenges here.  Rather than duplicate his comments, let me move on to
> something vaguely related but, I hope, potentially useful.


Cheers,
Alex

-- 
<http://www.alejandro-colomar.es/>
GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]