aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--roff.7304
-rw-r--r--tbl_term.c3
2 files changed, 178 insertions, 129 deletions
diff --git a/roff.7 b/roff.7
index f34f191a..06a94cc3 100644
--- a/roff.7
+++ b/roff.7
@@ -1,4 +1,4 @@
-.\" $Id: roff.7,v 1.19 2010/12/29 15:21:34 kristaps Exp $
+.\" $Id: roff.7,v 1.20 2011/01/03 16:04:41 kristaps Exp $
.\"
.\" Copyright (c) 2010 Kristaps Dzonsons <kristaps@bsd.lv>
.\" Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>
@@ -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: December 29 2010 $
+.Dd $Mdocdate: January 3 2011 $
.Dt ROFF 7
.Os
.Sh NAME
@@ -535,132 +535,180 @@ This request is intended to have one argument,
consisting of an even number of characters.
Currently, it is ignored including its arguments,
and the number of arguments is not checked.
-.\" .Ss \&T&
-.\" Re-start a table layout, retaining the options of the prior table
-.\" invocation.
-.\" See
-.\" .Sx \&TS .
-.\" .Ss \&TE
-.\" End a table context.
-.\" See
-.\" .Sx \&TS .
-.\" .Ss \&TS
-.\" Begin a table, which formats input in aligned rows and columns.
-.\" A table consists of an optional single line of table options terminated
-.\" by a semicolon, followed by one or more lines of layout specification
-.\" terminated by a period, then table data.
-.\" A table block may also include
-.\" .Nm ,
-.\" .Xr mdoc 7 ,
-.\" or
-.\" .Xr man 7
-.\" macros.
-.\" .Pp
-.\" Table data is
-.\" .Em pre-processed ,
-.\" that is, data rows are parsed then inserted into the underlying stream
-.\" of input data.
-.\" This allows data rows to be interspersed by arbitrary macros, such as
-.\" .Bd -literal -offset indent
-.\" \&.TS
-.\" c c c.
-.\" 1 2 3
-.\" \&.Ao
-.\" 3 2 1
-.\" \&.Ac
-.\" \&.TE
-.\" .Ed
-.\" .Pp
-.\" in the case of
-.\" .Xr mdoc 7
-.\" or
-.\" .Bd -literal -offset indent
-.\" \&.TS
-.\" c c c.
-.\" \&.ds ab 2
-.\" 1 \e*(ab 3
-.\" \&.I
-.\" 3 2 1
-.\" \&.TE
-.\" .Ed
-.\" .Pp
-.\" in the case of
-.\" .Xr man 7 .
-.\" .Pp
-.\" The first line of a table consists of its options, which consists of
-.\" space-separated keys and modifiers terminated by a semicolon.
-.\" If the first line does not have a terminating semicolon, it is assumed
-.\" that no options are specified and instead a layout is processed.
-.\" Some options accept arguments enclosed by paranthesis.
-.\" The following case-insensitive options are available:
-.\" .Bl -tag -width Ds
-.\" .It Cm center
-.\" This may also be invoked with
-.\" .Cm centre .
-.\" .It Cm delim
-.\" Accepts a two-character argument.
-.\" This option is ignored.
-.\" .It Cm expand
-.\" .It Cm box
-.\" This may also be invoked with
-.\" .Cm frame .
-.\" .It Cm doublebox
-.\" This may also be invoked with
-.\" .Cm doubleframe .
-.\" .It Cm allbox
-.\" .It Cm tab
-.\" Accepts a single character argument used as the delimiter for cells in
-.\" data rows.
-.\" .It Cm linesize
-.\" Accepts a natural number (all digits) used as the line width for drawing
-.\" boxes.
-.\" .It Cm nokeep
-.\" .It Cm decimalpoint
-.\" .It Cm nospaces
-.\" .El
-.\" .Pp
-.\" The table layout follows table options, except in the case of
-.\" .Sx \&T& ,
-.\" where it immediately procedes invocation.
-.\" Layout specifies how data rows are displayed on output.
-.\" Each layout line corresponds to a line of data; the last layout line
-.\" applies to all remaining data lines.
-.\" Layout lines may also be separated by a comma.
-.\" Each layout cell consists of one of the following case-insensitive keys:
-.\" .Bl -tag -width Ds
-.\" .It Cm c
-.\" .It Cm r
-.\" .It Cm l
-.\" .It Cm n
-.\" .It Cm s
-.\" .It Cm a
-.\" .It Cm ^
-.\" .It Cm \-
-.\" This may also be invoked with
-.\" .Cm _ .
-.\" .It Cm =
-.\" .It Cm \(ba
-.\" .It Cm \(ba\(ba
-.\" .El
-.\" Keys may be followed by a set of modifiers.
-.\" A modifier is either a modifier key or a natural number for specifying
-.\" spacing.
-.\" The following case-insensitive modifier keys are available:
-.\" .Bl -tag -width Ds
-.\" .It Cm z
-.\" .It Cm u
-.\" .It Cm e
-.\" .It Cm t
-.\" .It Cm d
-.\" .It Cm f
-.\" Must be followed by a case-insensitive font style:
-.\" .Cm b
-.\" for bold or
-.\" .Cm i
-.\" for italic.
-.\" .It Cm b
-.\" .It Cm i
-.\" .El
+.Ss \&T&
+Re-start a table layout, retaining the options of the prior table
+invocation.
+See
+.Sx \&TS .
+.Ss \&TE
+End a table context.
+See
+.Sx \&TS .
+.Ss \&TS
+Begin a table, which formats input in aligned rows and columns.
+A table consists of an optional single line of table options terminated
+by a semicolon, followed by one or more lines of layout specification
+terminated by a period, then table data.
+A table block may also include
+.Nm ,
+.Xr mdoc 7 ,
+or
+.Xr man 7
+macros.
+Example:
+.Bd -literal -offset indent
+\&.TS
+box tab(:); \e" Table-wide options.
+c | c \e" Layout for first line.
+| c | c. \e" Layout for all subsequent lines.
+1:2 \e" Data...
+3:4
+\&.TE
+.Ed
+.Pp
+Table data is
+.Em pre-processed ,
+that is, data rows are parsed then inserted into the underlying stream
+of input data.
+This allows data rows to be interspersed by arbitrary macros, such as
+.Bd -literal -offset indent
+\&.TS
+tab(:);
+c c c.
+1:2:3
+\&.Ao
+3:2:1
+\&.Ac
+\&.TE
+.Ed
+.Pp
+in the case of
+.Xr mdoc 7
+or
+.Bd -literal -offset indent
+\&.TS
+tab(:);
+c c c.
+\&.ds ab 2
+1:\e*(ab:3
+\&.I
+3:2:1
+\&.TE
+.Ed
+.Pp
+in the case of
+.Xr man 7 .
+.Pp
+The first line of a table consists of its options, which consists of
+space-separated keys and modifiers terminated by a semicolon.
+If the first line does not have a terminating semicolon, it is assumed
+that no options are specified and instead a layout is processed.
+Some options accept arguments enclosed by paranthesis.
+The following case-insensitive options are available:
+.Bl -tag -width Ds
+.It Cm center
+This option is not supported by
+.Xr mandoc 1 .
+This may also be invoked with
+.Cm centre .
+.It Cm delim
+Accepts a two-character argument.
+This option is not supported by
+.Xr mandoc 1 .
+.It Cm expand
+This option is not supported by
+.Xr mandoc 1 .
+.It Cm box
+Draw a single-line box around the table.
+This may also be invoked with
+.Cm frame .
+.It Cm doublebox
+Draw a double-line box around the table.
+This may also be invoked with
+.Cm doubleframe .
+.It Cm allbox
+This option is not supported by
+.Xr mandoc 1 .
+.It Cm tab
+Accepts a single-character argument.
+This character is used a delimiter between data cells, which otherwise
+defaults to the tab character.
+.It Cm linesize
+Accepts a natural number (all digits).
+This option is not supported by
+.Xr mandoc 1 .
+.It Cm nokeep
+This option is not supported by
+.Xr mandoc 1 .
+.It Cm decimalpoint
+Accepts a single-character argument.
+This character will be used as the decimal point with the
+.Cm n
+layout key.
+This option is not supported by
+.Xr mandoc 1 .
+.It Cm nospaces
+This option is not supported by
+.Xr mandoc 1 .
+.El
+.Pp
+The table layout follows table options, except in the case of
+.Sx \&T& ,
+where it immediately procedes invocation.
+Layout specifies how data rows are displayed on output.
+Each layout line corresponds to a line of data; the last layout line
+applies to all remaining data lines.
+Layout lines may also be separated by a comma.
+Each layout cell consists of one of the following case-insensitive keys:
+.Bl -tag -width Ds
+.It Cm c
+Centre a literal string within its column.
+.It Cm r
+Right-justify a literal string within its column.
+.It Cm l
+Left-justify a literal string within its column.
+.It Cm n
+Justify a number around its decimal point.
+If the decimal point is not found on the number, it's assumed to trail
+the number.
+.It Cm s
+This option is not supported by
+.Xr mandoc 1 .
+.It Cm a
+This option is not supported by
+.Xr mandoc 1 .
+.It Cm ^
+This option is not supported by
+.Xr mandoc 1 .
+.It Cm \-
+This may also be invoked with
+.Cm _ .
+.It Cm =
+.It Cm \(ba
+Emit a vertical bar instead of data.
+.It Cm \(ba\(ba
+Emit a double-vertical bar instead of data.
+.El
+.Pp
+Keys may be followed by a set of modifiers.
+A modifier is either a modifier key or a natural number for specifying
+spacing.
+The following case-insensitive modifier keys are available:
+.Bl -tag -width Ds
+.It Cm z
+.It Cm u
+.It Cm e
+.It Cm t
+.It Cm d
+.It Cm f
+Must be followed by a case-insensitive font style:
+.Cm b
+for bold or
+.Cm i
+for italic.
+.It Cm b
+.It Cm i
+.El
.Sh COMPATIBILITY
This section documents compatibility between mandoc and other other
.Nm
diff --git a/tbl_term.c b/tbl_term.c
index 2aaebcb8..74f00ad9 100644
--- a/tbl_term.c
+++ b/tbl_term.c
@@ -1,4 +1,4 @@
-/* $Id: tbl_term.c,v 1.5 2011/01/03 15:07:59 kristaps Exp $ */
+/* $Id: tbl_term.c,v 1.6 2011/01/03 16:04:41 kristaps Exp $ */
/*
* Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -274,6 +274,7 @@ tbl_data(struct termp *tp, const struct tbl *tbl,
case (TBL_CELL_HORIZ):
/* FALLTHROUGH */
case (TBL_CELL_DHORIZ):
+ /* FIXME: THIS IS WRONG. */
tbl_data_spanner(tp, dp, tbp);
break;
case (TBL_CELL_LONG):