URL: <https://savannah.gnu.org/bugs/?68727>
Summary: [mm] a simple use of `INITR` with `mmroff` stopped
working in groff 1.24.0
Group: GNU roff
Submitter: gbranden
Submitted: Tue 29 Sep 2026 08:44:58 PM UTC
Category: Macro package mm
Severity: 4 - Important
Item Group: Incorrect behaviour
Status: Confirmed
Privacy: Public
Assigned to: gbranden
Open/Closed: Open
Discussion Lock: Unlocked
Planned Release: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Tue 29 Sep 2026 08:44:58 PM UTC By: G. Branden Robinson <gbranden>
Hans Bezemer [https://lists.gnu.org/archive/html/groff/2026-09/msg00093.html
reported this problem to the discussion list].
In a follow-up message in the thread, I reported the result of a `git
bisect`.
7c8143d92af9132107a43f36f2916e06e6ad0aee is the first bad commit
commit 7c8143d92af9132107a43f36f2916e06e6ad0aee
Author: G. Branden Robinson <[email protected]>
Date: Wed Aug 23 12:30:48 2023 -0500
[mm]: Validate reference system state and user input.
* contrib/mm/m.tmac (qrf*validate-identifier): New macro tests argument
for validity as roff identifier, since user input is applied to this
purpose.
(INITR): Throw error if mandatory argument omitted; keeps us
from creating a (likely unwanted) dotfile, ".qrf".
(SETR, GETST, GETHN, GETPN, GETR): Throw error if reference system
macros used without initialization.
(SETR, GETST, GETHN, GETPN): Validate arguments to be used as string
identifiers.
Also fix code style nits:
Annotate logic. Stop uselessly calling `so` with no-break control
character (it doesn't break in the first place). Break long input line.
Use `\$0` in macro diagnostics instead of hard-coding caller. Fix
misleading/unnecessary indentation. Simply control flow since `@error`
does not return.
contrib/mm/ChangeLog | 14 ++++++++
contrib/mm/m.tmac | 97
++++++++++++++++++++++++++++++++++++++--------------
2 files changed, 85 insertions(+), 26 deletions(-)
Root-cause the problem and write a regression test based on Hans's
reproducer.
Setting Severity to Important since this defect regresses a working _groff_
1.23.0 feature.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?68727>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
