URL: <https://savannah.gnu.org/bugs/?68115>
Summary: neqn: @g@ is not replaced when made
Group: GNU roff
Submitter: rocketdev
Submitted: Tue 03 Mar 2026 10:52:56 AM UTC
Category: Preprocessor eqn
Severity: 3 - Normal
Item Group: Crash/Unresponsive
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Unlocked
Planned Release: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Tue 03 Mar 2026 10:52:56 AM UTC By: RocketDev <rocketdev>
== Bug description ==
groff 1.24.0 distributed a buggy neqn program which invokes @g@eqn
instead of eqn or geqn, leading to downstream software error. For
example, I wanted to browse poll.3p manual, but man failed to open
the manual and told me as following:
man: command exited with status 127: (cd /usr/share/man &&
/usr/lib/man-db/zsoelim) | (cd /usr/share/man && /usr/lib/man-db/manconv -f
UTF-8:ISO-8859-1 -t UTF-8//IGNORE) | (cd /usr/share/man && preconv -e UTF-8) |
(cd /usr/share/man && tbl) | (cd /usr/share/man && neqn -Tascii) | (cd
/usr/share/man && nroff -mandoc -rLL=169n -rLT=169n -Tascii)
== Bug investigation ==
I traced man with strace, which took me some time, but I managed
to catch some detail: neqn exited with 127. If I run neqn directly,
it throws an error:
/usr/bin/neqn: line 59: exec: @g@eqn: not found
After cloning groff git repo and diffing between 1.23.0 and
1.24.0, the only difference is the src/preproc/eqn/neqn.sh.
Manually checking src/preproc/eqn/eqn.am script, I found that
when making neqn, the sed command argument order is wrong,
leading to @g@ not substituted. I will send a patch soon to solve
this problem.
== System information ==
Distro: Arch Linux
groff: 1.24.0
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?68115>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
