=================================================================== RCS file: /cvs/mandoc/roff.7,v retrieving revision 1.64 retrieving revision 1.71 diff -u -p -r1.64 -r1.71 --- mandoc/roff.7 2015/01/20 22:45:07 1.64 +++ mandoc/roff.7 2015/04/29 18:35:00 1.71 @@ -1,4 +1,4 @@ -.\" $Id: roff.7,v 1.64 2015/01/20 22:45:07 schwarze Exp $ +.\" $Id: roff.7,v 1.71 2015/04/29 18:35:00 schwarze Exp $ .\" .\" Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons .\" Copyright (c) 2010, 2011, 2013, 2014 Ingo Schwarze @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: January 20 2015 $ +.Dd $Mdocdate: April 29 2015 $ .Dt ROFF 7 .Os .Sh NAME @@ -1196,13 +1196,18 @@ This is a Heirloom extension and currently unsupported Set an input line trap. Its syntax is as follows: .Pp -.D1 Pf . Cm it Ar number macro +.D1 Pf . Cm it Ar expression macro .Pp The named .Ar macro -will be invoked after processing the specified -.Ar number -of input text lines. +will be invoked after processing the number of input text lines +specified by the numerical +.Ar expression . +While evaluating the +.Ar expression , +the unit suffixes described below +.Sx Scaling Widths +are ignored. .Ss \&itc Set an input line trap, not counting lines ending with \ec. Currently unsupported. @@ -1439,7 +1444,7 @@ Retrieve the bounding box of a PostScript file. Currently unsupported. .Ss \&pshape Set a special shape for the current paragraph. -This is a Heirloom extension and currently ignored. +This is a Heirloom extension and currently unsupported. .Ss \&pso Include output of a shell command. Ignored because insecure. @@ -1572,7 +1577,7 @@ See .Ss \&ta Set tab stops. Takes an arbitrary number of arguments. -Currently ignored. +Currently unsupported. .Ss \&tc Change tab repetion character. Currently unsupported. @@ -1582,7 +1587,7 @@ See .Sx \&TS . .Ss \&ti Temporary indent. -Currently ignored. +Currently unsupported. .Ss \&tkf Enable track kerning for a font. Currently ignored. @@ -1715,6 +1720,14 @@ prefixed by an optional sign .Sq + or .Sq - . +Each number may be followed by one optional scaling unit described below +.Sx Scaling Widths . +The following equations hold: +.Bd -literal -offset indent +1i = 6v = 6P = 10m = 10n = 72p = 1000M = 240u = 240 +254c = 100i = 24000u = 24000 +1f = 65536u = 65536 +.Ed .Pp The following binary operators are implemented. Unless otherwise stated, they behave as in the C language: @@ -1948,10 +1961,11 @@ For short names, there are variants and .No \en( Ns Ar cc . .Ss \eo\(aq Ns Ar string Ns \(aq -Overstrike -.Ar string ; -ignored by -.Xr mandoc 1 . +Overstrike, writing all the characters contained in the +.Ar string +to the same output position. +In terminal and HTML output modes, +only the last one of the characters is visible. .Ss \eR\(aq Ns Ar name Oo +|- Oc Ns Ar number Ns \(aq Set number register; ignored by .Xr mandoc 1 . @@ -2014,55 +2028,68 @@ Print with zero width and height; ignored by .Xr mandoc 1 . .Ss \ez -Output the next character without advancing the cursor position; -approximated in -.Xr mandoc 1 -by simply skipping the next character. +Output the next character without advancing the cursor position. .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 ,