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/

Attachment: signature.asc
Description: PGP signature

Reply via email to