[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #65052] [troff] `cf` behavioral anomalies
From: |
Deri James |
Subject: |
[bug #65052] [troff] `cf` behavioral anomalies |
Date: |
Tue, 19 Dec 2023 13:19:17 -0500 (EST) |
Follow-up Comment #1, bug#65052 (group groff):
The test you are using is a bit strange. The only proper use for these
commands are to include files which are independently movement agnostic. What
I mean is they contain grout which does something completely independent of
the document which calls it. Think of a set of grout commands which moves to
one corner and draws a logo.
The reason is because groff and whichever output driver is used must maintain
a consistent view of the current X/Y position, i.e. where the next glyph or
graphics command will start. If you send "tbaz" to the output driver its
notion of the current X position will be after the "z" but groff, which has
not seen the text "baz", will still think the current X position is where the
"b" starts. This way there be dragons, (and overwriting!).
For this reason, needing to maintain synchronicity with the output driver,
these commands are not very useful. I suspect they are only really meant for
passing stuff like postscript code to grops, but this can be easily achieved
with a \Y'' call.
Issue C/D
This is analogous to using \!, it does not cause a break so gets output
immediately, before whatever has been input for the current line, if you want
to retain proper sequence in the grout you need a .fl before the \!. The
reason baz is missing will become clear if you don't send stderr to
/dev/null.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?65052>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/