=================================================================== RCS file: /cvs/mandoc/mdoc_term.c,v retrieving revision 1.380 retrieving revision 1.382 diff -u -p -r1.380 -r1.382 --- mandoc/mdoc_term.c 2020/04/06 10:16:17 1.380 +++ mandoc/mdoc_term.c 2022/09/11 09:13:48 1.382 @@ -1,6 +1,6 @@ -/* $Id: mdoc_term.c,v 1.380 2020/04/06 10:16:17 schwarze Exp $ */ +/* $Id: mdoc_term.c,v 1.382 2022/09/11 09:13:48 schwarze Exp $ */ /* - * Copyright (c) 2010, 2012-2020 Ingo Schwarze + * Copyright (c) 2010, 2012-2020, 2022 Ingo Schwarze * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2013 Franco Fichtner * @@ -320,8 +320,11 @@ print_mdoc_node(DECL_ARGS) (p->flags & TERMP_NONEWLINE) == 0) term_newln(p); p->flags |= TERMP_BRNEVER; - } else + } else { + if (n->flags & NODE_LINE) + term_tab_ref(p); p->flags &= ~TERMP_BRNEVER; + } if (n->type == ROFFT_COMMENT || n->flags & NODE_NOPRT) return; @@ -566,8 +569,8 @@ a2width(const struct termp *p, const char *v) end = a2roffsu(v, &su, SCALE_MAX); if (end == NULL || *end != '\0') { - SCALE_HS_INIT(&su, term_strlen(p, v)); - su.scale /= term_strlen(p, "0"); + su.unit = SCALE_EN; + su.scale = term_strlen(p, v) / term_strlen(p, "0"); } return term_hen(p, &su); } @@ -703,9 +706,9 @@ termp_it_pre(DECL_ARGS) for (i = 0, nn = n->prev; nn->prev && i < (int)ncols; nn = nn->prev, i++) { - SCALE_HS_INIT(&su, - term_strlen(p, bl->norm->Bl.cols[i])); - su.scale /= term_strlen(p, "0"); + su.unit = SCALE_EN; + su.scale = term_strlen(p, bl->norm->Bl.cols[i]) / + term_strlen(p, "0"); offset += term_hen(p, &su) + dcol; } @@ -722,8 +725,9 @@ termp_it_pre(DECL_ARGS) * Use the declared column widths, extended as explained * in the preceding paragraph. */ - SCALE_HS_INIT(&su, term_strlen(p, bl->norm->Bl.cols[i])); - su.scale /= term_strlen(p, "0"); + su.unit = SCALE_EN; + su.scale = term_strlen(p, bl->norm->Bl.cols[i]) / + term_strlen(p, "0"); width = term_hen(p, &su) + dcol; break; default: