#1012709 groff-base: eqn sup renders adversarially in nroff mode

Package:
groff-base
Source:
groff
Description:
GNU troff text-formatting system (base system components)
Submitter:
наб
Date:
2022-06-12 14:33:04 UTC
Severity:
normal
Tags:
#1012709#5
Date:
2022-06-12 14:31:07 UTC
From:
To:
Dear Maintainer,

Consider the following manual:
-- >8 --
'\" e
.\" SPDX-License-Identifier: 0BSD
.\"
.Dd
.Dt CKSUM 1
.Os
.
.Sh NAME
.Nm cksum
.Nd compute Ethernet checksum
.
.EQ
delim %%
.EN
.
.Sh STANDARDS
Conforms to
.St -p1003.1-2008 .
The CRC polynomial is
% x sup 32 + x sup 26 + x sup 23 + x sup 22 + x sup 16 + x sup 12 + x sup 11 + x sup 10 + x sup 8 + x sup 7 + x sup 5 + x sup 4 + x sup 2 + x + 1 %,
the same one used by
.St -iso8802-3 Pq Ethernet .
-- >8 --

mandoc trunk renders it as
-- >8 --
CKSUM(1)                    General Commands Manual                   CKSUM(1)

NAME
     cksum – compute Ethernet checksum

STANDARDS
     Conforms to IEEE Std 1003.1-2008 (“POSIX.1”).  The CRC polynomial is x^32
     + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4
     + x^2 + x + 1, the same one used by ISO 8802-3: 1989 (Ethernet).

Linux 5.10.0-14-amd64                                    Linux 5.10.0-14-amd64
-- >8 --
with all `x`es being fI (as expected for a variable).

Compare it to groff 1.22.4-8:
-- >8 --
CKSUM(1)                                      BSD General Commands Manual                                     CKSUM(1)

NAME
     cksum — compute Ethernet checksum

STANDARDS
     Conforms to IEEE Std 1003.1-2008 (“POSIX.1”).  The CRC polynomial is
     x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1, the same one used by ISO/IEC 8802-3:1989 (Ethernet).

BSD                                                      Epoch                                                     BSD
-- >8 --
`x`es are also fI, but the rest is a mess. What's more important is the
`sup`s were lost entirely! It's just a soup of text (in this case it's
obvious from context what that means, but that doesn't always hold,
obviously).

Best,
наб