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