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/

Attachment: signature.asc
Description: PGP signature

Reply via email to