diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2015-01-27 05:21:44 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2015-01-27 05:21:44 +0000 |
commit | 3d1973ffce60279bff4ec548c2c90f4d1d31f1a2 (patch) | |
tree | ff7ba8b19b0c296892ac283cae5c138a94b2e04f /mandoc.h | |
parent | fb1f845c9ebafe8648f3df58f8a4581041ff067e (diff) | |
download | mandoc-3d1973ffce60279bff4ec548c2c90f4d1d31f1a2.tar.gz |
Multiple parser and formatter fixes for line drawing in tbl(7).
* Allow mixing vertical line bars with the layout options
of the preceding layout cell.
* Correctly combine box options with layout lines.
* Correctly print vertical lines in data rows, with the right spacing.
* Correctly print cross markers and left and right ends of
horizontal lines even if vertical lines differ above and below.
* Avoid the bogus error message "no table data cells"
when a table data section starts with a horizontal line.
No increase in code size.
Diffstat (limited to 'mandoc.h')
-rw-r--r-- | mandoc.h | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -206,6 +206,8 @@ struct tbl_opts { #define TBL_OPT_NOSPACE (1 << 6) #define TBL_OPT_NOWARN (1 << 7) int cols; /* number of columns */ + int lvert; /* width of left vertical line */ + int rvert; /* width of right vertical line */ }; /* @@ -215,7 +217,6 @@ struct tbl_opts { */ struct tbl_head { int ident; /* 0 <= unique id < cols */ - int vert; /* width of preceding vertical line */ struct tbl_head *next; struct tbl_head *prev; }; @@ -238,7 +239,7 @@ enum tbl_cellt { */ struct tbl_cell { struct tbl_cell *next; - int vert; /* width of preceding vertical line */ + int vert; /* width of subsequent vertical line */ enum tbl_cellt pos; size_t spacing; int flags; @@ -260,7 +261,7 @@ struct tbl_row { struct tbl_row *next; struct tbl_cell *first; struct tbl_cell *last; - int vert; /* trailing vertical line */ + int vert; /* width of left vertical line */ }; enum tbl_datt { @@ -299,12 +300,13 @@ struct tbl_span { struct tbl_row *layout; /* layout row */ struct tbl_dat *first; struct tbl_dat *last; + struct tbl_span *prev; + struct tbl_span *next; int line; /* parse line */ int flags; #define TBL_SPAN_FIRST (1 << 0) #define TBL_SPAN_LAST (1 << 1) enum tbl_spant pos; - struct tbl_span *next; }; enum eqn_boxt { |