[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[groff] 10/14: tmac/doc.tmac: Validate Mt and Lk macro arguments.
|
From: |
G. Branden Robinson |
|
Subject: |
[groff] 10/14: tmac/doc.tmac: Validate Mt and Lk macro arguments. |
|
Date: |
Sun, 28 Jan 2024 19:55:04 -0500 (EST) |
gbranden pushed a commit to branch master
in repository groff.
commit cc485f4d9f8204638528e891798a0acd920b33b2
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Sun Jan 28 14:23:22 2024 -0600
tmac/doc.tmac: Validate Mt and Lk macro arguments.
---
ChangeLog | 4 ++++
tmac/doc.tmac | 33 ++++++++++++++++++++++++++++++---
2 files changed, 34 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 3bc7c74d4..40b21dca5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2024-01-28 G. Branden Robinson <g.branden.robinson@gmail.com>
+
+ * tmac/doc.tmac (Mt, Lk): Validate arguments.
+
2024-01-28 G. Branden Robinson <g.branden.robinson@gmail.com>
* tmac/tests/doc_Mt-works.sh: Test "direct" `Mt` call.
diff --git a/tmac/doc.tmac b/tmac/doc.tmac
index 010b38c3f..c10eb752b 100644
--- a/tmac/doc.tmac
+++ b/tmac/doc.tmac
@@ -6809,7 +6809,24 @@
.
.eo
.de Mt
-. \" XXX: error handling missing
+. if !\n[doc-arg-count] \{\
+. ie \n[.$] \{\
+. ds doc-macro-name Mt
+. doc-parse-args \$@
+. \}
+. el \
+. tm Usage: .Mt email_address ... (#\n[.c])
+. \}
+.
+. if !\n[doc-arg-count] \
+. return
+.
+. if (\n[doc-arg-count] <= \n[doc-arg-ptr]) \{\
+. tm Usage: .Mt email_address ... (#\n[.c])
+. doc-reset-args
+. return
+. \}
+.
. Pa \$@
..
.ec
@@ -6830,13 +6847,23 @@
.eo
.de Lk
. if !\n[doc-arg-count] \{\
-. ds doc-macro-name Lk
-. doc-parse-args \$@
+. ie \n[.$] \{\
+. ds doc-macro-name Lk
+. doc-parse-args \$@
+. \}
+. el \
+. tm Usage: .Lk uri [link_text ...] (#\n[.c])
. \}
.
. if !\n[doc-arg-count] \
. return
.
+. if (\n[doc-arg-count] <= \n[doc-arg-ptr]) \{\
+. tm Usage: .Lk uri [link_text ...] (#\n[.c])
+. doc-reset-args
+. return
+. \}
+.
. \" The first argument is the target URI.
. nr doc-arg-ptr +1
. ds doc-target-Lk "\*[doc-arg\n[doc-arg-ptr]]
| [Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 10/14: tmac/doc.tmac: Validate Mt and Lk macro arguments.,
G. Branden Robinson <=