From 6c9ac24e0e69a580658a6eed515137bd99ade59e Mon Sep 17 00:00:00 2001 From: schwarze Date: Mon, 12 Jun 2017 22:48:52 +0000 Subject: [PATCH] Two minor fixes for the "allbox" modifier: 1. It does not reduce explicit "||" in the layout to "|". 2. It does not cause three horizontal lines at the end of a table, even if the table ends with an explicit "_" data line. --- usr.bin/mandoc/tbl_term.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/usr.bin/mandoc/tbl_term.c b/usr.bin/mandoc/tbl_term.c index 8ad09633152..9c5d8aec5f2 100644 --- a/usr.bin/mandoc/tbl_term.c +++ b/usr.bin/mandoc/tbl_term.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tbl_term.c,v 1.37 2017/06/12 20:44:57 schwarze Exp $ */ +/* $OpenBSD: tbl_term.c,v 1.38 2017/06/12 22:48:52 schwarze Exp $ */ /* * Copyright (c) 2009, 2011 Kristaps Dzonsons * Copyright (c) 2011,2012,2014,2015,2017 Ingo Schwarze @@ -240,7 +240,8 @@ term_tbl(struct termp *tp, const struct tbl_span *sp) cp = cp->next; } else vert = 0; - if (sp->opts->opts & TBL_OPT_ALLBOX) + if (vert == 0 && + sp->opts->opts & TBL_OPT_ALLBOX) vert = 1; if (vert == 0) continue; @@ -300,7 +301,9 @@ 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) + } 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; -- 2.20.1