[bug #68420] [troff] assertion failures on impossible {normal, no-break} control character assignments
"G. Branden Robinson" <[email protected]>
| Newsgroups | gmane.comp.printing.groff.bugs |
|---|---|
| Message-ID | <[email protected]> |
Follow-up Comment #7, bug #68420 (group groff):
Hi Martin,
At 2026-06-04T13:54:55-0400, Martin wrote:
> Follow-up Comment #6, bug #68420 (group groff):
>
> That fix should be enough to prevent the assertion, but it will still
> give the error
That much is a deliberate change.
https://savannah.gnu.org/bugs/?64104
> and produce different output from what it did previously (and what
> other implementations of troff/nroff do).
CSTR #54 did not specify what happens when the control, no-break
control, and escape characters are not all distinct.
https://github.com/mamccollum/troff-resources/blob/main/cstr-54.pdf
> Can you confirm if my original example should put a . in the output or
> if it is just the wrong way to do that?
In _my opinion_, because the behavior is unspecified, no reliable
prediction can be made.
The op.me document was largely or exclusively written by Eric Allman,
certainly a *roff wizard.
I see from:
https://github.com/Distrotech/sendmail/blob/master/doc/op/op.me
...that is hasn't changed in 14 years. In other words, ProofPoint
hasn't touched the document since they acquired it as an asset of
Sendmail, Inc.
https://ghostarchive.org/archive/zcXwV
A few possibilities occur to me; none excludes the others.
A. Contact Eric Allman and see what he thinks of this issue. Was the
failure to reassign the no-break control character before changing
the "regular" control character to match it an oversight, or a
clever hack?
B. Consider making groff handle this sort of situation specially in
compatibility mode.
C. Contact ProofPoint and see if they're willing to either be more
fastidious to satisfy groff 1.24, or to advise the use of groff's
`-C` option when rendering the document with groff (assuming we do
item B).
Hmm, however, we might want to hold off on the foregoing, because I
cannot reproduce your problem with the Sendmail 8.18.2 "op.me" document.
$ grog --version
GNU grog (groff) 1.24.1
$ $(grog doc/op/op.me) 2>&1 >| /tmp/op.ps | grep . || echo NO ERROR OUTPUT
NO ERROR OUTPUT
$ file /tmp/op.ps
/tmp/op.ps: PostScript document text conforming DSC level 3.0
I'm puzzled, and cannot reconcile my experience with comment #0:
> I don't know if this is sensible input, but I found it in the
> documentation for sendmail 8.18.2 (doc/op/op.me). The intent is to
> put a . in the output and this works in groff 1.23.0.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?68420>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
(application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQQk97aszIMMAvLLwm6qLAuaBUf3TgUCaiHCcQAKCRCqLAuaBUf3 ThF8AQDOlR7qR4zNLdEEYSl5MjO6Da1l7CRMCtWG+MDBcA/oZwD5ARumI8lURnvO pdwzfDUxhtkkPPv4WU/T0lPK1lYqEgM= =iC9y -----END PGP SIGNATURE-----