diff options
-rw-r--r-- | eqn.7 | 5 | ||||
-rw-r--r-- | man.7 | 47 | ||||
-rw-r--r-- | mandoc.1 | 115 | ||||
-rw-r--r-- | mdoc.7 | 117 | ||||
-rw-r--r-- | roff.7 | 76 | ||||
-rw-r--r-- | tbl.7 | 19 |
6 files changed, 80 insertions, 299 deletions
@@ -457,11 +457,6 @@ The and .Cm down Ar n commands are also ignored. -.It -Inline equations and the -.Cm delim -control statement are not yet implemented in -.Xr mandoc 1 . .El .Sh SEE ALSO .Xr mandoc 1 , @@ -894,53 +894,6 @@ until the end of the macro scope. Note that macros like .Sx \&BR open and close a font scope for each argument. -.Sh COMPATIBILITY -This section mentions some areas of questionable portability between -implementations of the -.Nm -language. -More incompatibilities exist. -.Pp -.Bl -dash -compact -.It -Do not depend on -.Sx \&SH -or -.Sx \&SS -to close out a literal context opened with -.Sx \&nf . -This behaviour may not be portable. -.It -troff suppresses a newline before -.Sq \(aq -macro output; in mandoc, it is an alias for the standard -.Sq \&. -control character. -.It -In page header lines, GNU troff versions up to and including 1.21 -only print -.Ar volume -names explicitly specified in the -.Sx \&TH -macro; mandoc and newer groff print the default volume name -corresponding to the -.Ar section -number when no -.Ar volume -is given, like in -.Xr mdoc 7 . -.El -.Pp -The -.Sx EE , -.Sx EX , -.Sx OP , -.Sx UE , -and -.Sx UR -macros are part of the GNU extended -.Nm -macro set, and may not be portable to non-GNU troff implementations. .Sh SEE ALSO .Xr man 1 , .Xr mandoc 1 , @@ -321,9 +321,6 @@ Emboldened characters are rendered as The special characters documented in .Xr mandoc_char 7 are rendered best-effort in an ASCII equivalent. -If no equivalent is found, -.Sq \&? -is used instead. .Pp Output width is limited to 78 visible columns unless literal input lines exceed this limit. @@ -344,7 +341,7 @@ for example overfull lines or ugly line breaks. .It Cm width Ns = Ns Ar width The output width is set to .Ar width , -which will normalise to \(>=60. +which will normalise to \(>=58. .El .Ss HTML Output Output produced by @@ -1670,88 +1667,9 @@ macro or of an undefined macro. The macro is ignored, and its arguments are handled as if they were a text line. .El -.Sh COMPATIBILITY -This section summarises -.Nm -compatibility with GNU troff. -Each input and output format is separately noted. -.Ss ASCII Compatibility -.Bl -bullet -compact -.It -Unrenderable unicode codepoints specified with -.Sq \e[uNNNN] -escapes are printed as -.Sq \&? -in mandoc. -In GNU troff, these raise an error. -.It -The -.Sq \&Bd \-literal -and -.Sq \&Bd \-unfilled -macros of -.Xr mdoc 7 -in -.Fl T Ns Cm ascii -are synonyms, as are \-filled and \-ragged. -.It -In historic GNU troff, the -.Sq \&Pa -.Xr mdoc 7 -macro does not underline when scoped under an -.Sq \&It -in the FILES section. -This behaves correctly in -.Nm . -.It -A list or display following the -.Sq \&Ss -.Xr mdoc 7 -macro in -.Fl T Ns Cm ascii -does not assert a prior vertical break, just as it doesn't with -.Sq \&Sh . -.It -The -.Sq \&na -.Xr man 7 -macro in -.Fl T Ns Cm ascii -has no effect. -.It -Words aren't hyphenated. -.El -.Ss HTML Compatibility -.Bl -bullet -compact -.It -The -.Sq \efP -escape will revert the font to the previous -.Sq \ef -escape, not to the last rendered decoration, which is now dictated by -CSS instead of hard-coded. -It also will not span past the current scope, -for the same reason. -Note that in -.Sx ASCII Output -mode, this will work fine. -.It -The -.Xr mdoc 7 -.Sq \&Bl \-hang -and -.Sq \&Bl \-tag -list types render similarly (no break following overreached left-hand -side) due to the expressive constraints of HTML. -.It -The -.Xr man 7 -.Sq IP -and -.Sq TP -lists render similarly. -.El .Sh SEE ALSO +.Xr apropos 1 , +.Xr man 1 , .Xr eqn 7 , .Xr man 7 , .Xr mandoc_char 7 , @@ -1762,32 +1680,15 @@ lists render similarly. The .Nm utility was written by -.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv . -.Sh CAVEATS +.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv +and is maintained by +.An Ingo Schwarze Aq Mt schwarze@openbsd.org . +.Sh BUGS In -.Fl T Ns Cm html -and -.Fl T Ns Cm xhtml , +.Fl T Ns Cm html , the maximum size of an element attribute is determined by .Dv BUFSIZ , which is usually 1024 bytes. Be aware of this when setting long link formats such as .Fl O Ns Cm style Ns = Ns Ar really/long/link . -.Pp -Nesting elements within next-line element scopes of -.Fl m Ns Cm an , -such as -.Sq br -within an empty -.Sq B , -will confuse -.Fl T Ns Cm html -and -.Fl T Ns Cm xhtml -and cause them to forget the formatting of the prior next-line scope. -.Pp -The -.Sq \(aq -control character is an alias for the standard macro control character -and does not emit a line-break as stipulated in GNU troff. @@ -3133,50 +3133,13 @@ Manually switching the font using the font escape sequences is never required. .Sh COMPATIBILITY This section provides an incomplete list of compatibility issues -between mandoc and other troff implementations, at this time limited -to GNU troff +between mandoc and GNU troff .Pq Qq groff . -The term -.Qq historic groff -refers to groff versions before 1.17, -which featured a significant update of the -.Pa doc.tmac -file. -.Pp -Heirloom troff, the other significant troff implementation accepting -\-mdoc, is similar to historic groff. .Pp The following problematic behaviour is found in groff: -.ds hist (Historic groff only.) .Pp .Bl -dash -compact .It -Display macros -.Po -.Sx \&Bd , -.Sx \&Dl , -and -.Sx \&D1 -.Pc -may not be nested. -\*[hist] -.It -.Sx \&At -with unknown arguments produces no output at all. -\*[hist] -Newer groff and mandoc print -.Qq AT&T UNIX -and the arguments. -.It -.Sx \&Bl Fl column -does not recognise trailing punctuation characters when they immediately -precede tabulator characters, but treats them as normal text and -outputs a space before them. -.It -.Sx \&Bd Fl ragged compact -does not start a new line. -\*[hist] -.It .Sx \&Dd with non-standard arguments behaves very strangely. When there are three arguments, they are printed verbatim. @@ -3185,53 +3148,6 @@ but without any arguments the string .Dq Epoch is printed. .It -.Sx \&Fl -does not print a dash for an empty argument. -\*[hist] -.It -.Sx \&Fn -does not start a new line unless invoked as the line macro in the -.Em SYNOPSIS -section. -\*[hist] -.It -.Sx \&Fo -with -.Pf non- Sx \&Fa -children causes inconsistent spacing between arguments. -In mandoc, a single space is always inserted between arguments. -.It -.Sx \&Ft -in the -.Em SYNOPSIS -causes inconsistent vertical spacing, depending on whether a prior -.Sx \&Fn -has been invoked. -See -.Sx \&Ft -and -.Sx \&Fn -for the normalised behaviour in mandoc. -.It -.Sx \&In -ignores additional arguments and is not treated specially in the -.Em SYNOPSIS . -\*[hist] -.It -.Sx \&It -sometimes requires a -.Fl nested -flag. -\*[hist] -In new groff and mandoc, any list may be nested by default and -.Fl enum -lists will restart the sequence only for the sub-list. -.It -.Sx \&Li -followed by a delimiter is incorrectly used in some manuals -instead of properly quoting that character, which sometimes works with -historic groff. -.It .Sx \&Lk only accepts a single link-name argument; the remainder is misformatted. .It @@ -3245,19 +3161,6 @@ can only be called by other macros, but not at the beginning of a line. .Sx \&%C is not implemented (up to and including groff-1.22.2). .It -Historic groff only allows up to eight or nine arguments per macro input -line, depending on the exact situation. -Providing more arguments causes garbled output. -The number of arguments on one input line is not limited with mandoc. -.It -Historic groff has many un-callable macros. -Most of these (excluding some block-level macros) are callable -in new groff and mandoc. -.It -.Sq \(ba -(vertical bar) is not fully supported as a delimiter. -\*[hist] -.It .Sq \ef .Pq font face and @@ -3275,12 +3178,26 @@ The following features are unimplemented in mandoc: .Bl -dash -compact .It .Sx \&Bd -.Fl file Ar file . +.Fl file Ar file +is unsupported for security reasons. +.It +.Sx \&Bd +.Fl filled +does not adjust the right margin, but is an alias for +.Sx \&Bd +.Fl ragged . +.It +.Sx \&Bd +.Fl literal +does not use a literal font, but is an alias for +.Sx \&Bd +.Fl unfilled . .It .Sx \&Bd .Fl offset Cm center and -.Fl offset Cm right . +.Fl offset Cm right +don't work. Groff does not implement centered and flush-right rendering either, but produces large indentations. .El @@ -2028,50 +2028,66 @@ approximated in .Xr mandoc 1 by simply skipping the next character. .Sh COMPATIBILITY -This section documents compatibility between mandoc and other +The +.Xr mandoc 1 +implementation of the .Nm -implementations, at this time limited to GNU troff -.Pq Qq groff . -The term -.Qq historic groff -refers to groff version 1.15. +language is intentionally incomplete. +Unimplemented features include: .Pp .Bl -dash -compact .It +For security reasons, +.Xr mandoc 1 +never reads or writes external files except via +.Sx \&so +requests with safe relative paths. +.It +There is no automatic hyphenation, no adjustment to the right margin, +and no centering; the output is always set flush-left. +.It +Support for setting tabulator positions +and tabulator and leader characters is missing, +and support for manually changing indentation is limited. +.It The .Sq u scaling unit is the default terminal unit. -In traditional troff systems, this unit would change depending on the +In traditional troff systems, this unit changes depending on the output media. .It -In mandoc, the -.Sx \&EQ , -.Sx \&TE , -.Sx \&TS , -and -.Sx \&T& , -macros are considered regular macros. -In all other -.Nm -implementations, these are special macros that must be specified without -spacing between the control character (which must be a period) and the -macro name. +Width measurements are implemented in a crude way +and often yield wrong results. +Explicit movement requests and escapes are ignored. .It -The -.Cm nS -register is only compatible with OpenBSD's groff-1.15. +There is no concept of output pages, no support for floats, +graphics drawing, and picture inclusion; +terminal output is always continuous. .It -Historic groff did not accept white-space before a custom -.Ar end -macro for the -.Sx \&ig -request. +Requests regarding color, font families, and glyph manipulation +are ignored. +Font support is very limited. +Kerning is not implemented, and no ligatures are produced. .It The -.Sx \&if -and family would print funny white-spaces with historic groff when -using the next-line syntax. +.Qq \(aq +macro control character does not suppress output line breaks. +.It +Diversions are not implemented, +and support for traps is very incomplete. +.It +While recursion is supported, +.Sx \&while +loops are not. .El +.Pp +The special semantics of the +.Cm nS +number register is an idiosyncracy of +.Ox +manuals and not supported by other +.Xr mdoc 7 +implementations. .Sh SEE ALSO .Xr mandoc 1 , .Xr eqn 7 , @@ -328,18 +328,17 @@ It may then be followed by a tab .Pq or as designated by Cm tab or an end-of-line to terminate the row. .Sh COMPATIBILITY -This section documents compatibility between mandoc and other -.Nm -implementations, at this time limited to GNU tbl. -.Pp -.Bl -dash -compact -.It -In GNU tbl, comments and macros are disallowed prior to the data block -of a table. The .Xr mandoc 1 -implementation allows them. -.El +implementation of +.Nm +doesn't support +.Xr mdoc 7 +and +.Xr man 7 +macros and +.Xr eqn 7 +equations inside tables. .Sh SEE ALSO .Xr mandoc 1 , .Xr man 7 , |