groff
[Top][All Lists]
Advanced

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

Re: [groff] Heirloom: text disappearing when output line trap + interrup


From: Tadziu Hoffmann
Subject: Re: [groff] Heirloom: text disappearing when output line trap + interrupted text
Date: Wed, 24 Apr 2019 13:22:59 +0200
User-agent: Mutt/1.9.1 (2017-09-22)

> Before creating a bug report, I would like to verify that I am not
> misunderstanding something and that this is indeed a bug. 
[snip]

Hard to tell.  Maybe it's a feature of Heirloom roff.

The documentation doesn't say much about how these output-line
traps work internally except that they are triggered when
a line containing the trigger has been output.  I guess
they're similar to transparent lines embedded with \!,
with the difference that transparent lines can be used to
trigger macros only when the text is reprocessed (as when
outputting a diversion), otherwise they're copied directly
to the postprocessor.

Since groff doesn't have output-line traps, I decided to
compare the situation with transparent lines embedded in a
diversion (case 5 in the attached source file, with case 4
as control).

The result from case 4 is the same in groff and Heirloom roff
(using the respective nroffs):

  AAAAAA BBB BBB
  .CCC  CCC  DDD
  DDD   DDD  DDD
  DDD

However, while cases 5 and 6 processed with groff result in
exactly the same output as case 4, Heirloom roff seems to
reprocess the lines of the diversion upon output as if they
were input, i.e., the line starting with .CCC is treated as
a macro invocation and disappears from the output:

  AAAAAA BBB BBB
  DDD  DDD   DDD
  DDD

Having more experience with groff, which strictly distinguishes
between input and output, I would say this is a bug in Heirloom
roff, but since our old Ultrix machine has been decommissioned
I no longer have a way to test how AT&T nroff behaved in this
situation.  Does anyone else have an opportunity to check this?


Attachment: disappearingtext.ro
Description: Text document


reply via email to

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