summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-10-23 13:54:41 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-10-23 13:54:41 +0000
commitb13013d058e969730f26c5e6af2f7429c4864875 (patch)
tree6db64765d0d4adf5b51c64750f3093ab95ee60d5
parentd194b5c43b86aebe91b6502f846d127d8a09c477 (diff)
downloadmandoc-b13013d058e969730f26c5e6af2f7429c4864875.tar.gz
Modernize documentation of .Ao and .Aq.
I looked through our whole tree and failed to find a single use that is really convincing, except those with .Mt. Putting it around character and key names is somewhat widespread and maybe acceptable, even if hardly useful. So for now, delete the bogus examples and explain what these macros are really used for. Discourage the most common abuses. Triggered by a question from Raf Czlonka <rczlonka at gmail dot com>.
-rw-r--r--mdoc.754
1 files changed, 39 insertions, 15 deletions
diff --git a/mdoc.7 b/mdoc.7
index 7e54fc0f..892ba192 100644
--- a/mdoc.7
+++ b/mdoc.7
@@ -674,12 +674,10 @@ Examples:
.Ss \&Ao
Begin a block enclosed by angle brackets.
Does not have any head arguments.
-.Pp
-Examples:
-.Dl \&.Fl -key= \&Ns \&Ao \&Ar val \&Ac
-.Pp
-See also
-.Sx \&Aq .
+This macro is almost never useful.
+See
+.Sx \&Aq
+for more details.
.Ss \&Ap
Inserts an apostrophe without any surrounding whitespace.
This is generally used as a grammatical device when referring to the verb
@@ -689,19 +687,45 @@ Examples:
.Dl \&.Fn execve \&Ap d
.Ss \&Aq
Encloses its arguments in angle brackets.
+The only important use case is for email addresses.
+See
+.Sx \&Mt
+for an example.
.Pp
-Examples:
-.Dl \&.Fl -key= \&Ns \&Aq \&Ar val
+Occasionally, it is used for names of characters and keys, for example:
+.Bd -literal -offset indent
+Press the
+\&.Aq escape
+key to ...
+.Ed
.Pp
-.Em Remarks :
-this macro is often abused for rendering URIs, which should instead use
+For URIs, use
.Sx \&Lk
+instead, and
+.Sx \&In
+for
+.Dq #include
+directives.
+Never wrap
+.Sx \&Ar
+in
+.Sx \&Aq .
+.Pp
+Since
+.Sx \&Aq
+usually renders with non-ASCII characters in non-ASCII output modes,
+do not use it where the ASCII characters
+.Sq <
+and
+.Sq >
+are required as syntax elements.
+Instead, use these characters directly in such cases, combining them
+with the macros
+.Sx \&Pf ,
+.Sx \&Ns ,
or
-.Sx \&Mt ,
-or to note pre-processor
-.Dq Li #include
-statements, which should use
-.Sx \&In .
+.Sx \&Eo
+as needed.
.Pp
See also
.Sx \&Ao .