=================================================================== RCS file: /cvs/mandoc/tbl_term.c,v retrieving revision 1.47 retrieving revision 1.50 diff -u -p -r1.47 -r1.50 --- mandoc/tbl_term.c 2017/06/12 19:05:47 1.47 +++ mandoc/tbl_term.c 2017/06/12 22:49:16 1.50 @@ -1,4 +1,4 @@ -/* $Id: tbl_term.c,v 1.47 2017/06/12 19:05:47 schwarze Exp $ */ +/* $Id: tbl_term.c,v 1.50 2017/06/12 22:49:16 schwarze Exp $ */ /* * Copyright (c) 2009, 2011 Kristaps Dzonsons * Copyright (c) 2011,2012,2014,2015,2017 Ingo Schwarze @@ -87,7 +87,7 @@ term_tbl(struct termp *tp, const struct tbl_span *sp) tp->tbl.sulen = term_tbl_sulen; tp->tbl.arg = tp; - tblcalc(&tp->tbl, sp, tp->tcol->rmargin - tp->tcol->offset); + tblcalc(&tp->tbl, sp, tp->tcol->offset, tp->tcol->rmargin); /* Center the table as a whole. */ @@ -242,6 +242,9 @@ term_tbl(struct termp *tp, const struct tbl_span *sp) cp = cp->next; } else vert = 0; + if (vert == 0 && + sp->opts->opts & TBL_OPT_ALLBOX) + vert = 1; if (vert == 0) continue; @@ -300,7 +303,11 @@ term_tbl(struct termp *tp, const struct tbl_span *sp) free(tp->tbl.cols); tp->tbl.cols = NULL; tp->tcol->offset = offset; - } + } else if (horiz == 0 && sp->opts->opts & TBL_OPT_ALLBOX && + (sp->next == NULL || sp->next->pos == TBL_SPAN_DATA || + sp->next->next != NULL)) + tbl_hrule(tp, sp, 1); + tp->flags &= ~TERMP_NONOSPACE; } @@ -336,6 +343,8 @@ tbl_hrule(struct termp *tp, const struct tbl_span *sp, vert = c2->vert; c2 = c2->next; } + if (sp->opts->opts & TBL_OPT_ALLBOX && !vert) + vert = 1; if (vert) tbl_char(tp, cross, vert); if (vert < 2)