summaryrefslogtreecommitdiff
path: root/tmac/doc.tmac
diff options
context:
space:
mode:
authorwl <wl>2009-10-26 07:51:02 +0000
committerwl <wl>2009-10-26 07:51:02 +0000
commit9a3077537ff25f40e75ca051b434274f6385ba46 (patch)
treefe5fd39971c64047ec208dc7b4e0870109745216 /tmac/doc.tmac
parent1e21b91be301eedfc871c75707c4aeda1470a6ae (diff)
downloadgroff-9a3077537ff25f40e75ca051b434274f6385ba46.tar.gz
Implement `%U' in mdoc for URL references.
* tmac/doc-common (%U): New register. (Rd): Handle `doc-url-count' and `doc-url-name'. * tmac/doc.tmac (doc-url-count, doc-url-name): New registers. (doc-save-global-vars, doc-restore-global-vars, doc-reset-reference, doc-print-reference): Handle `doc-url-count' and `doc-url-name'. (%U): New macro. * NEWS, tmac/groff_mdoc.man: Document `%U' macro.
Diffstat (limited to 'tmac/doc.tmac')
-rw-r--r--tmac/doc.tmac71
1 files changed, 70 insertions, 1 deletions
diff --git a/tmac/doc.tmac b/tmac/doc.tmac
index 2ad39895..017835e0 100644
--- a/tmac/doc.tmac
+++ b/tmac/doc.tmac
@@ -3430,6 +3430,8 @@
. nr doc-reference-title-count-saved \n[doc-reference-title-count]
. ds doc-reference-title-name-saved "\*[doc-reference-title-name]
. ds doc-reference-title-name-for-book-saved "\*[doc-reference-title-name-for-book]
+. nr doc-url-count-saved \n[doc-url-count]
+. ds doc-url-name-saved "\*[doc-url-name]
. nr doc-volume-count-saved \n[doc-volume-count]
. ds doc-volume-name-saved "\*[doc-volume-name]
. nr doc-have-author-saved \n[doc-have-author]
@@ -3570,6 +3572,8 @@
. nr doc-reference-title-count \n[doc-reference-title-count-saved]
. ds doc-reference-title-name "\*[doc-reference-title-name-saved]
. ds doc-reference-title-name-for-book "\*[doc-reference-title-name-for-book-saved]
+. nr doc-url-count \n[doc-url-count-saved]
+. ds doc-url-name "\*[doc-url-name-saved]
. nr doc-volume-count \n[doc-volume-count-saved]
. ds doc-volume-name "\*[doc-volume-name-saved]
. nr doc-have-author \n[doc-have-author-saved]
@@ -5194,6 +5198,8 @@
.\" NS doc-reference-title-name-for-book
.\" NS doc-report-count
.\" NS doc-report-name
+.\" NS doc-url-count
+.\" NS doc-url-name
.\" NS doc-volume-count
.\" NS doc-volume-name
.
@@ -5208,6 +5214,7 @@
. nr doc-corporate-count 0
. nr doc-report-count 0
. nr doc-reference-title-count 0
+. nr doc-url-count 0
. nr doc-volume-count 0
. nr doc-date-count 0
. nr doc-page-number-count 0
@@ -5222,6 +5229,7 @@
. ds doc-report-name
. ds doc-reference-title-name
. ds doc-reference-title-name-for-book
+. ds doc-url-name
. ds doc-volume-name
. ds doc-date
. ds doc-page-number-string
@@ -5316,6 +5324,13 @@
. doc-finish-reference \n[doc-volume-count]
. \}
.
+. if \n[doc-url-count] \{\
+. unformat doc-url-name
+. chop doc-url-name
+. nop \*[doc-url-name]\c
+. doc-finish-reference \n[doc-url-count]
+. \}
+.
. if \n[doc-page-number-count] \{\
. unformat doc-page-number-string
. chop doc-page-number-string
@@ -6019,6 +6034,18 @@
..
.
.
+.\" NS doc-url-count global register
+.\" NS counter of hypertext references
+.
+.nr doc-url-count 0
+.
+.
+.\" NS doc-url-name global box
+.\" NS string of collected hypertext references
+.
+.ds doc-url-name
+.
+.
.\" NS doc-volume-count global register
.\" NS counter of reference title references
.
@@ -6031,6 +6058,48 @@
.ds doc-volume-name
.
.
+.\" NS %U user macro
+.\" NS hypertext reference
+.\" NS
+.\" NS modifies:
+.\" NS doc-arg-ptr
+.\" NS doc-curr-font
+.\" NS doc-curr-size
+.\" NS doc-macro-name
+.\" NS doc-reference-count
+.\" NS doc-url-count
+.\" NS
+.\" NS local variables:
+.\" NS doc-env-%U
+.\" NS
+.\" NS width register `%U' set in doc-common
+.
+.de %U
+. if (\n[doc-arg-limit] : (\n[.$] == 0)) \{\
+. tm Usage: .%U URL ... (#\n[.c])
+. return
+. \}
+.
+. nr doc-url-count +1
+. nr doc-reference-count +1
+.
+. ds doc-macro-name %U
+. doc-parse-args \$@
+.
+. nr doc-arg-ptr +1
+. nr doc-curr-font \n[.f]
+. nr doc-curr-size \n[.ps]
+.
+. \" append to reference box
+. boxa doc-url-name
+. ev doc-env-%U
+. evc 0
+. in 0
+. nf
+. doc-do-references
+..
+.
+.
.\" NS %V user macro
.\" NS reference volume
.\" NS
@@ -6039,7 +6108,7 @@
.\" NS doc-curr-font
.\" NS doc-curr-size
.\" NS doc-macro-name
-.\" NS doc-reference-title-count
+.\" NS doc-reference-count
.\" NS doc-volume-count
.\" NS
.\" NS local variables: