From 04fe52a4bad67608e23d03abfaf950d9fb95d4ac Mon Sep 17 00:00:00 2001 From: wlemb Date: Tue, 14 Aug 2001 22:28:18 +0000 Subject: * tmac/doc.tmac (Ex): New implementation. * tmac/doc-common, tmac/groff_tmac.man: Updated. --- ChangeLog | 5 +++++ tmac/doc-common | 1 + tmac/doc.tmac | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++--- tmac/groff_mdoc.man | 38 +++++++++++++++++++++++++++++++ 4 files changed, 105 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6ff0851d..c85fbcfb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-08-14 Ruslan Ermilov + + * tmac/doc.tmac (Ex): New implementation. + * tmac/doc-common, tmac/groff_tmac.man: Updated. + 2001-08-13 Ruslan Ermilov * tmac/doc.tmac (Rv): Implement support for 0 or more than 1 diff --git a/tmac/doc-common b/tmac/doc-common index d19a795f..9e1a81a2 100644 --- a/tmac/doc-common +++ b/tmac/doc-common @@ -89,6 +89,7 @@ .nr Er 17n .nr Es 12n .nr Ev 15n +.nr Ex 1 .nr Fa 12n .nr Fc 3 .nr Fd 12n\" ? diff --git a/tmac/doc.tmac b/tmac/doc.tmac index db8029f2..8e72e567 100644 --- a/tmac/doc.tmac +++ b/tmac/doc.tmac @@ -6195,6 +6195,67 @@ .. . . +.\" NS Ex user macro +.\" NS exit status +.\" NS +.\" NS width register `Ex' set in doc-common +.\" NS +.\" NS local variables: +.\" NS doc-str-Ex-std-prefix +.\" NS doc-str-Ex-std-suffix +. +.ds doc-str-Ex-std-prefix "The +.ds doc-str-Ex-std-suffix "utility exits\~0 on success, +.as doc-str-Ex-std-suffix " and\~>0 if an error occurs. +. +.ds doc-str-Ex-stds-prefix "The +.als doc-str-Ex-stds-and doc-str-Rv-stds-and +.ds doc-str-Ex-stds-suffix "utilities exit\~0 on success, +.as doc-str-Ex-stds-suffix " and\~>0 if an error occurs. +. +.de Ex +. +.\" XXX: what does this function without `-std'? +. +. if \n[doc-arg-limit] \{\ +. tm Usage: .Ex not callable by other macros (#\n[.c]) +. doc-reset-args +. return +. \} +. +. if !\n[.$] \{\ +. tm Usage: .Ex [-std] [ ...] (#\n[.c]) +. return +. \} +. +. if "\$1"-std" \{\ +. nr doc-reg-Ex \*[doc-section] +. if !((\n[doc-reg-Ex] == 1) : (\n[doc-reg-Ex] == 6) : (\n[doc-reg-Ex] == 8)) \ +. tm Usage: .Ex -std in sections 1, 6 and 8 only (#\n[.c]) +. br +. shift +. ie (\n[.$] > 1) \{\ +. nop \)\*[doc-str-Ex-stds-prefix] +. nr doc-reg-Ex 1 +. while (\n[doc-reg-Ex] < \n[.$]) \{\ +. ie (\n[.$] > 2) \ +. Nm \$\n[doc-reg-Ex] , +. el \ +. Nm \$\n[doc-reg-Ex] +. nr doc-reg-Ex +1 +. \} +. nop \)\*[doc-str-Ex-stds-and] +. Nm \$\n[.$] +. nop \)\*[doc-str-Ex-stds-suffix] +. \} +. el \{\ +. nop \)\*[doc-str-Ex-std-prefix] +. Nm \$1 +. nop \)\*[doc-str-Ex-std-suffix] +. \}\} +.. +. +. .\" NS Mt user macro .\" NS mailto (for conversion to HTML) . @@ -6259,9 +6320,6 @@ . .als Ds doc-defunct-macro . -.als Ex doc-defunct-macro -.ds doc-Ex-usage use .D1 -. .als Or doc-defunct-macro .ds doc-Or-usage use `|' . diff --git a/tmac/groff_mdoc.man b/tmac/groff_mdoc.man index 17ef3d61..534c5168 100644 --- a/tmac/groff_mdoc.man +++ b/tmac/groff_mdoc.man @@ -163,6 +163,7 @@ as follows: . It "Functions (Library Routines)" . It "Function Arguments" . It "Return Values" +. It "Exit Status" . \" .It "Header File (including source code)" . It "Interactive Commands" . It "Library Names" @@ -1537,6 +1538,36 @@ Currently, this macro does nothing if used without the .Fl std flag. . +.Ss "Exit Status" +. +The +.Ql .Ex +macro generates text for use in the +.Sx DIAGNOSTICS +section. +.Pp +.Dl Usage: .Ex Oo -std Oc Op Ao utility Ac ... +.Pp +For example, +.Ql ".Ex -std cat" +produces: +. +.Bd -ragged -offset -indent +\# a small hack to suppress a warning message +.ds section-old "\*[section] +.ds section 1 +.Ex -std cat +.ds section "\*[section-old] +.Ed +.Pp +. +The +.Fl std +option is valid only for manual page sections 1, 6 and\~8. +Currently, this macro does nothing if used without the +.Fl std +flag. +. .Ss "Interactive Commands" . The @@ -2709,6 +2740,13 @@ section below for details. . .It Li ".Sh DIAGNOSTICS" Diagnostic messages from a command should be placed in this section. +The +.Ql .Ex +macro may be used to generate text for use in the +.Sx DIAGNOSTICS +section for most section 1, 6 and\~8 commands; +see +.Sx "Exit Status" . . .It Li ".Sh COMPATIBILITY" Known compatibility issues (e.g. deprecated options or parameters) -- cgit v1.2.1