groff
[Top][All Lists]
Advanced

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

Re: synchronous and asynchronous grout (was: Novel use of .char)


From: Deri
Subject: Re: synchronous and asynchronous grout (was: Novel use of .char)
Date: Wed, 18 Dec 2024 17:41:59 +0000

On Wednesday, 18 December 2024 01:07:45 GMT G. Branden Robinson wrote:
> This is an extremely helpful presentation.  I have some questions.
> 
> 1.  Where was the foregoing distinction documented in, say, the groff
>     1.22.3 era?
> 
> 2.  How confident are you that these distinctions were consciously
>     designed in, and to what _extent_ do you think that was the case?
>     Are they (or were they, back in groff 1.22.4 and earlier) consistent
>     between .devicem and \Y as well?
> 
> 3.  I want to understand one of your applications better.

Hi Branden,

Explication part 2.

Although the concept of in-band and side-band streams is a well known concept, 
I suspect its presence in groff is only due to the second feature of these 
escapes - that they copy 'anything' to grout (in copy mode) - and to achieve 
this groff avoids parsing the line into nodes, so it never gets added to the 
node list. This feature is well documented, and given the way it was 
implemented, it resulted in the side-band channel.

The in-band channel is far more useful and if \!, .output, et al, produced a 
new kind of node which had a value of "anything" in copy mode, I would cheer, 
since synchronicity would be preserved. After your changes to \X it now 
provides curated content to grout, removing "nodes" from the string (except \
[uXXXX]), it would be nice to have an in-band "anything" escape.

Cheers 

Deri










reply via email to

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