gbranden pushed a commit to branch master
in repository groff.

commit 6056f24997d930a365e485bbb50c1b84fb1bd77c
Author: G. Branden Robinson <[email protected]>
AuthorDate: Tue Oct 7 10:45:03 2025 -0500

    [mm]: Improve usage diagnostics.
    
    * contrib/mm/m.tmac: Improve usage diagnostics by not uselessly
      repeating the file name and line number of the package itself when
      diagnosing an invalid command-line setting, and not emitting a
      backtrace if debugging is enabled via the `D` register.
    
      (@usage): New macro throws diagnostic without reporting `\n[.F]` or
      `\n[.c]`.
    
      ([initialization]): Call `@usage` instead of `@warning` when
      validating `D`, `E`, `L`, `O`, `W`, `S`, and `V` register values.
    
    Before:
    
    $ echo | groff -rW=-2 -mm -z
    m.tmac:/.../share/groff/1.23.0/tmac/m.tmac:123: warning: ignoring 
out-of-range W register value: -2u
    
    After:
    
    $ echo | ./build/test-groff -rW=-2 -mm -z
    m.tmac: warning: ignoring out-of-range W register value: -2u
---
 contrib/mm/ChangeLog | 12 ++++++++++++
 contrib/mm/m.tmac    | 20 +++++++++++++-------
 2 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/contrib/mm/ChangeLog b/contrib/mm/ChangeLog
index 56d4be980..8fa4e5bb5 100644
--- a/contrib/mm/ChangeLog
+++ b/contrib/mm/ChangeLog
@@ -1,3 +1,15 @@
+2025-10-07  G. Branden Robinson <[email protected]>
+
+       * m.tmac: Improve usage diagnostics by not uselessly repeating
+       the file name and line number of the package itself when
+       diagnosing an invalid command-line setting, and not emitting a
+       backtrace if debugging is enabled via the `D` register.
+       (@usage): New macro throws diagnostic without reporting `\n[.F]`
+       or `\n[.c]`.
+       ([initialization]): Call `@usage` instead of `@warning` when
+       validating `D`, `E`, `L`, `O`, `W`, `S`, and `V` register
+       values.
+
 2025-08-27  G. Branden Robinson <[email protected]>
 
        * m.tmac: Rename API string `Capcon` (formerly `Licon`) to
diff --git a/contrib/mm/m.tmac b/contrib/mm/m.tmac
index 9ec52d28f..53e42689f 100644
--- a/contrib/mm/m.tmac
+++ b/contrib/mm/m.tmac
@@ -52,6 +52,12 @@ http://savannah.gnu.org/bugs/?group=groff.
 .
 .mso devtag.tmac
 .
+.\" for warnings thrown due to invalid command-line options
+.de @usage
+.tm \\*[@mm]: warning: \\$*
+..
+.
+.\" for all other kinds of warning
 .de @warning
 .tm \\*[@mm]:\\n[.F]:\\n[.c]: warning: \\$*
 .if r D .if \\n[D] .backtrace
@@ -82,7 +88,7 @@ http://savannah.gnu.org/bugs/?group=groff.
 .
 .if r D \{\
 .      if \n[D]<0 \{\
-.              @warning ignoring out-of-range D register value: \n[D]
+.              @usage ignoring out-of-range D register value: \n[D]
 .              rr D
 .      \}
 .\}
@@ -90,7 +96,7 @@ http://savannah.gnu.org/bugs/?group=groff.
 .
 .if r E \{\
 .      if (\n[E]<0):(\n[E]>1) \{\
-.              @warning ignoring out-of-range E register value: \n[E]
+.              @usage ignoring out-of-range E register value: \n[E]
 .              rr E
 .      \}
 .\}
@@ -100,7 +106,7 @@ http://savannah.gnu.org/bugs/?group=groff.
 .
 .if r L \{\
 .      if \n[L]<=0 \{\
-.              @warning ignoring out-of-range L register value: \n[L]u
+.              @usage ignoring out-of-range L register value: \n[L]u
 .              rr L
 .      \}
 .\}
@@ -108,7 +114,7 @@ http://savannah.gnu.org/bugs/?group=groff.
 .
 .if r O \{\
 .      if \n[O]<0 \{\
-.              @warning ignoring out-of-range O register value: \n[O]u
+.              @usage ignoring out-of-range O register value: \n[O]u
 .              rr O
 .      \}
 .\}
@@ -120,7 +126,7 @@ http://savannah.gnu.org/bugs/?group=groff.
 .
 .if r W \{\
 .      if \n[W]<=0 \{\
-.              @warning ignoring out-of-range W register value: \n[W]u
+.              @usage ignoring out-of-range W register value: \n[W]u
 .              rr W
 .      \}
 .\}
@@ -131,7 +137,7 @@ http://savannah.gnu.org/bugs/?group=groff.
 .\"    command line, these have already been converted to basic units.
 .if r S \{\
 .      if \n[S]<=0 \{\
-.              @warning ignoring out-of-range S register value: \n[S]z
+.              @usage ignoring out-of-range S register value: \n[S]z
 .              rr S
 .      \}
 .\}
@@ -142,7 +148,7 @@ http://savannah.gnu.org/bugs/?group=groff.
 .
 .if r V \{\
 .      if \n[V]<=0 \{\
-.              @warning ignoring out-of-range V register value: \n[V]u
+.              @usage ignoring out-of-range V register value: \n[V]u
 .              rr V
 .      \}
 .\}

_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit

Reply via email to