From 45d6d6c74aeebeaecbb8d0af283ffa37bc82e8c5 Mon Sep 17 00:00:00 2001 From: Ruslan Ermilov Date: Fri, 15 Jan 2010 13:48:29 +0000 Subject: [PATCH] Cherry-pick some vendor changes to mdoc and man macro packages. (They were all made before Groff switched from GPLv2 to GPLv3, though the mdoc macro packages is not affected by the switch.) : 2007-11-10 Michail Vidiassov : : * tmac/doc-syms (doc-str-St--susv3): New string. : * tmac/groff_mdoc.man: Document it. : : 2008-09-06 Werner LEMBERG : : * tmac/doc-common (Dd, Os, Dt): Reset `doc-command-name' to make : `.Nm' work properly if next manual page is printed. : : 2008-10-04 Werner LEMBERG : : * tmac/doc-common (doc-operating-system-*): Update releases. : : * tmac/groff_mdoc.man: Document it. : : 2008-10-13 Werner LEMBERG : : * tmac/groff_mdoc.man: Update documentation on BSD-like OS string : versions. : : 2008-10-16 Werner LEMBERG : : * tmac/doc-common (doc-operating-system-*), tmac/groff_mdoc.man: Add : NetBSD 4.0.1. : : 2008-11-05 Werner LEMBERG : : * tmac/doc-common (Dt): Start a new page if necessary and set up : headers. : : 2008-12-24 Michail Vidiassov : : * tmac/doc-common: Add entries for Mac OS X and FreeBSD. : : 2009-01-02 Werner LEMBERG : : * tmac/groff_mdoc.man: Update OS version string listing. : : 2009-01-03 Werner LEMBERG : : * tmac/an-old.tmac, tmac/doc.tmac: For -Tutf8, map \-, -, ', and ` : conservatively to ASCII for the sake of easy cut and paste. --- tmac/an-old.tmac | 12 +++++++++ tmac/doc-common | 66 ++++++++++++++++++++++++++++++++++++--------- tmac/doc-old.tmac | 2 +- tmac/doc-syms | 2 ++ tmac/doc.tmac | 33 ++++++++++++++++------- tmac/groff_mdoc.man | 15 +++++++---- 6 files changed, 102 insertions(+), 28 deletions(-) diff --git a/tmac/an-old.tmac b/tmac/an-old.tmac index b51f2e2f4f6f..2bf34b304a38 100644 --- a/tmac/an-old.tmac +++ b/tmac/an-old.tmac @@ -630,6 +630,18 @@ . hy \n[HY] .\} . +.\" For UTF-8, map some characters conservatively for the sake +.\" of easy cut and paste. +. +.if '\*[.T]'utf8' \{\ +. rchar \- - ' ` +. +. char \- \N'45' +. char - \N'45' +. char ' \N'39' +. char ` \N'96' +.\} +. .\" Load local modifications. .mso man.local . diff --git a/tmac/doc-common b/tmac/doc-common index dc8cc28c3191..8b1afa5674bb 100644 --- a/tmac/doc-common +++ b/tmac/doc-common @@ -219,6 +219,7 @@ .\" NS doc-document-title .\" NS doc-section .\" NS doc-volume +.\" NS doc-command-name .\" NS .\" NS local variables: .\" NS doc-volume-as-XXX @@ -319,6 +320,7 @@ . ds doc-document-title UNTITLED . ds doc-volume LOCAL . ds doc-section Null +. ds doc-command-name . . if !"\$1"" \ . ds doc-document-title "\$1 @@ -357,6 +359,12 @@ . if !"\$3"" \ . if "\*[doc-volume]"LOCAL" \ . ds doc-volume \$3 +. +. if !\n[cR] \ +. if \n[nl] \{\ + . doc-setup-header +. bp +. \} .. . . @@ -379,6 +387,7 @@ .\" NS .\" NS modifies: .\" NS doc-operating-system +.\" NS doc-command-name .\" NS .\" NS local variables: .\" NS doc-operating-system-XXX-XXX @@ -435,9 +444,14 @@ .ds doc-operating-system-NetBSD-2.0 2.0 .ds doc-operating-system-NetBSD-2.0.1 2.0.1 .ds doc-operating-system-NetBSD-2.0.2 2.0.2 +.ds doc-operating-system-NetBSD-2.0.3 2.0.3 .ds doc-operating-system-NetBSD-2.1 2.1 .ds doc-operating-system-NetBSD-3.0 3.0 +.ds doc-operating-system-NetBSD-3.0.1 3.0.1 +.ds doc-operating-system-NetBSD-3.0.2 3.0.2 +.ds doc-operating-system-NetBSD-3.1 3.1 .ds doc-operating-system-NetBSD-4.0 4.0 +.ds doc-operating-system-NetBSD-4.0.1 4.0.1 . .ds doc-operating-system-FreeBSD-1.0 1.0 .ds doc-operating-system-FreeBSD-1.1 1.1 @@ -486,23 +500,48 @@ .ds doc-operating-system-FreeBSD-6.0 6.0 .ds doc-operating-system-FreeBSD-6.1 6.1 .ds doc-operating-system-FreeBSD-6.2 6.2 +.ds doc-operating-system-FreeBSD-6.3 6.3 +.ds doc-operating-system-FreeBSD-6.4 6.4 .ds doc-operating-system-FreeBSD-7.0 7.0 +.ds doc-operating-system-FreeBSD-7.1 7.1 . -.ds doc-operating-system-Darwin-8.0.0 8.0.0 -.ds doc-operating-system-Darwin-8.1.0 8.1.0 -.ds doc-operating-system-Darwin-8.2.0 8.2.0 -.ds doc-operating-system-Darwin-8.3.0 8.3.0 -.ds doc-operating-system-Darwin-8.4.0 8.4.0 -.ds doc-operating-system-Darwin-8.5.0 8.5.0 +.ds doc-operating-system-Darwin-8.0.0 8.0.0 +.ds doc-operating-system-Darwin-8.1.0 8.1.0 +.ds doc-operating-system-Darwin-8.2.0 8.2.0 +.ds doc-operating-system-Darwin-8.3.0 8.3.0 +.ds doc-operating-system-Darwin-8.4.0 8.4.0 +.ds doc-operating-system-Darwin-8.5.0 8.5.0 +.ds doc-operating-system-Darwin-8.6.0 8.6.0 +.ds doc-operating-system-Darwin-8.7.0 8.7.0 +.ds doc-operating-system-Darwin-8.8.0 8.8.0 +.ds doc-operating-system-Darwin-8.9.0 8.9.0 +.ds doc-operating-system-Darwin-8.10.0 8.10.0 +.ds doc-operating-system-Darwin-8.11.0 8.11.0 +.ds doc-operating-system-Darwin-9.0.0 9.0.0 +.ds doc-operating-system-Darwin-9.1.0 9.1.0 +.ds doc-operating-system-Darwin-9.2.0 9.2.0 +.ds doc-operating-system-Darwin-9.3.0 9.3.0 +.ds doc-operating-system-Darwin-9.4.0 9.4.0 +.ds doc-operating-system-Darwin-9.5.0 9.5.0 +.ds doc-operating-system-Darwin-9.6.0 9.6.0 . -.ds doc-operating-system-DragonFly-1.0 1.0 -.ds doc-operating-system-DragonFly-1.1 1.1 -.ds doc-operating-system-DragonFly-1.2 1.2 -.ds doc-operating-system-DragonFly-1.3 1.3 -.ds doc-operating-system-DragonFly-1.4 1.4 -.ds doc-operating-system-DragonFly-1.5 1.5 +.ds doc-operating-system-DragonFly-1.0 1.0 +.ds doc-operating-system-DragonFly-1.1 1.1 +.ds doc-operating-system-DragonFly-1.2 1.2 +.ds doc-operating-system-DragonFly-1.3 1.3 +.ds doc-operating-system-DragonFly-1.4 1.4 +.ds doc-operating-system-DragonFly-1.5 1.5 +.ds doc-operating-system-DragonFly-1.6 1.6 +.ds doc-operating-system-DragonFly-1.8 1.8 +.ds doc-operating-system-DragonFly-1.8.1 1.8.1 +.ds doc-operating-system-DragonFly-1.10 1.10 +.ds doc-operating-system-DragonFly-1.12 1.12 +.ds doc-operating-system-DragonFly-1.12.2 1.12.2 +.ds doc-operating-system-DragonFly-2.0 2.0 . .de Os +. ds doc-command-name +. . ie "\$1"" \ . ds doc-operating-system "\*[doc-default-operating-system] . el \{ .ie "\$1"ATT" \{\ @@ -563,6 +602,7 @@ .\" NS .\" NS modifies: .\" NS doc-date-string +.\" NS doc-command-name .\" NS .\" NS local variables: .\" NS doc-date-XXX @@ -583,6 +623,8 @@ .ds doc-date-12 December . .de Dd +. ds doc-command-name +. . ie \n[.$] \{\ . ie (\n[.$] == 3) \ . ds doc-date-string \$1\~\$2 \$3 diff --git a/tmac/doc-old.tmac b/tmac/doc-old.tmac index b91fabf47d33..70eb4f5e249c 100644 --- a/tmac/doc-old.tmac +++ b/tmac/doc-old.tmac @@ -40,7 +40,7 @@ .ds aD \fI .\" Argument Reference Style .ds aR \f(CO -.\" Interactive Comand Modifier (flag) +.\" Interactive Command Modifier (flag) .ds cM \f(CB .\" Emphasis (in the English sense - usually italics) .ds eM \fI diff --git a/tmac/doc-syms b/tmac/doc-syms index 25cce80c7446..7e96a65dd955 100644 --- a/tmac/doc-syms +++ b/tmac/doc-syms @@ -651,6 +651,8 @@ .\" X/Open .ds doc-str-St--susv2 Version\~2 of the Single \*[doc-Tn-font-size]UNIX\*[doc-str-St] Specification .as doc-str-St--susv2 " (\*[Lq]\*[doc-Tn-font-size]SUSv2\*[doc-str-St]\*[Rq]) +.ds doc-str-St--susv3 Version\~3 of the Single \*[doc-Tn-font-size]UNIX\*[doc-str-St] Specification +.as doc-str-St--susv3 " (\*[Lq]\*[doc-Tn-font-size]SUSv3\*[doc-str-St]\*[Rq]) .ds doc-str-St--svid4 System\~V Interface Definition, Fourth Edition .as doc-str-St--svid4 " (\*[Lq]\*[doc-Tn-font-size]SVID\*[doc-str-St]\^4\*[Rq]) .ds doc-str-St--xbd5 \*[doc-Tn-font-size]X/Open\*[doc-str-St] System Interface Definitions Issue\~5 diff --git a/tmac/doc.tmac b/tmac/doc.tmac index 083b13a0550a..3fde369a0bde 100644 --- a/tmac/doc.tmac +++ b/tmac/doc.tmac @@ -356,10 +356,10 @@ . ds doc-macro-name Fl . doc-parse-args \$@ . -. if !\n[.$] \{\ -. \" no arguments +. \" no arguments +. if !\n[.$] \ . nop \|\-\|\f[]\s[0] -. \}\} +. \} . . if !\n[doc-arg-limit] \ . return @@ -481,8 +481,8 @@ . el \{\ . nr doc-reg-dpr \n[doc-arg-ptr] . +. \" the `\%' prevents hyphenation on a dash (`-') . ie (\n[doc-reg-dpr1] == 2) \ -. \" the `\%' prevents hyphenation on a dash (`-') . nop \%\*[doc-str-dpr]\&\c . el \{\ . \" punctuation character @@ -595,10 +595,10 @@ . ds doc-macro-name Ar . doc-parse-args \$@ . -. if !\n[.$] \{\ -. \" no argument +. \" no argument +. if !\n[.$] \ . nop \)\*[doc-str-Ar-default]\&\f[]\s[0] -. \}\} +. \} . . if !\n[doc-arg-limit] \ . return @@ -1034,10 +1034,10 @@ . ds doc-macro-name Pa . doc-parse-args \$@ . -. if !\n[.$] \{\ -. \" default value +. \" default value +. if !\n[.$] \ . nop \*[doc-Pa-font]~\f[]\s[0] -. \}\} +. \} . . if !\n[doc-arg-limit] \ . return @@ -6425,6 +6425,19 @@ .blm doc-empty-line . . +.\" For UTF-8, map some characters conservatively for the sake +.\" of easy cut and paste. +. +.if '\*[.T]'utf8' \{\ +. rchar \- - ' ` +. +. char \- \N'45' +. char - \N'45' +. char ' \N'39' +. char ` \N'96' +.\} +. +. .ec . . diff --git a/tmac/groff_mdoc.man b/tmac/groff_mdoc.man index 5aa11b538ceb..e217a5b8f1ac 100644 --- a/tmac/groff_mdoc.man +++ b/tmac/groff_mdoc.man @@ -864,16 +864,18 @@ the release ID. .It NetBSD 0.8, 0.8a, 0.9, 0.9a, 1.0, 1.0a, 1.1, 1.2, 1.2a, 1.2b, 1.2c, 1.2d, 1.2e, 1.3, 1.3a, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.5, 1.5.1, 1.5.2, 1.5.3, 1.6, 1.6.1, -1.6.2, 2.0, 2.0.1, 2.0.2, 2.1, 3.0 +1.6.2, 1.6.3, 2.0, 2.0.1, 2.0.2, 2.0.3, 2.1, 3.0, 3.0.1, 3.0.2, 3.1, 4.0, +4.0.1 .It FreeBSD 1.0, 1.1, 1.1.5, 1.1.5.1, 2.0, 2.0.5, 2.1, 2.1.5, 2.1.6, 2.1.7, 2.2, 2.2.1, 2.2.2, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 4.0, 4.1, 4.1.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.6.2, 4.7, 4.8, 4.9, 4.10, 4.11, 5.0, 5.1, -5.2, 5.2.1, 5.3, 5.4, 5.5, 6.0, 6.1, 6.2, 7.0 +5.2, 5.2.1, 5.3, 5.4, 5.5, 6.0, 6.1, 6.2, 6.3, 6.4, 7.0, 7.1 .It DragonFly -1.0, 1.1, 1.2, 1.3, 1.4, 1.5 +1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.8, 1.8.1, 1.10, 1.12, 1.12.2, 2.0 .It Darwin -8.0.0, 8.1.0, 8.2.0, 8.3.0, 8.4.0, 8.5.0 +8.0.0, 8.1.0, 8.2.0, 8.3.0, 8.4.0, 8.5.0, 8.6.0, 8.7.0, 8.8.0, 8.9.0, +8.10.0, 8.11.0, 9.0.0, 9.1.0, 9.2.0, 9.3.0, 9.4.0, 9.5.0, 9.6.0 .El .Ed .Pp @@ -1995,6 +1997,8 @@ X/Open .Pp .It Li \-susv2 .St -susv2 +.It Li \-susv3 +.St -susv3 .It Li \-svid4 .St -svid4 .It Li \-xbd5 @@ -4086,11 +4090,12 @@ Definitions used for all other devices. .It Pa mdoc.local Local additions and customizations. .It Pa andoc.tmac -This file checks whether the +Use this file if you don't know whether the .Nm \-mdoc or the .Nm \-man package should be used. +Multiple man pages (in either format) can be handled. .El . .