summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--regress/usr.bin/mandoc/tbl/layout/span.in13
-rw-r--r--regress/usr.bin/mandoc/tbl/layout/span.out_ascii10
-rw-r--r--usr.bin/mandoc/out.c9
3 files changed, 25 insertions, 7 deletions
diff --git a/regress/usr.bin/mandoc/tbl/layout/span.in b/regress/usr.bin/mandoc/tbl/layout/span.in
index 84a71f8a115..d02d2361714 100644
--- a/regress/usr.bin/mandoc/tbl/layout/span.in
+++ b/regress/usr.bin/mandoc/tbl/layout/span.in
@@ -1,5 +1,5 @@
-.\" $OpenBSD: span.in,v 1.5 2017/07/04 14:53:27 schwarze Exp $
-.TH TBL-LAYOUT-SPAN 1 "June 17, 2017"
+.\" $OpenBSD: span.in,v 1.6 2021/09/07 14:50:56 schwarze Exp $
+.TH TBL-LAYOUT-SPAN 1 "September 7, 2021"
.SH NAME
tbl-layout-span \- alignment of spanned cells
.SH DESCRIPTION
@@ -50,6 +50,15 @@ s1:s2
a:b:c:d:e
.TE
.sp
+.TS
+allbox tab(:);
+L S
+L N.
+x***nnnnn
+a:0.01
+b:10.0
+.TE
+.sp
leaked tab settings:
.br
a b c d e f
diff --git a/regress/usr.bin/mandoc/tbl/layout/span.out_ascii b/regress/usr.bin/mandoc/tbl/layout/span.out_ascii
index 2372e6028d0..adc57cf2e8a 100644
--- a/regress/usr.bin/mandoc/tbl/layout/span.out_ascii
+++ b/regress/usr.bin/mandoc/tbl/layout/span.out_ascii
@@ -34,7 +34,15 @@ DDEESSCCRRIIPPTTIIOONN
+--+---+---+---+---+
|a | b | c | d | e |
+--+---+---+---+---+
+
+ +----------+
+ |x***nnnnn |
+ +--+-------+
+ |a | 0.01 |
+ +--+-------+
+ |b | 10.0 |
+ +--+-------+
leaked tab settings:
a b c d e f
-OpenBSD June 17, 2017 TBL-LAYOUT-SPAN(1)
+OpenBSD September 7, 2021 TBL-LAYOUT-SPAN(1)
diff --git a/usr.bin/mandoc/out.c b/usr.bin/mandoc/out.c
index b82200d1e6f..9a476b4d9f4 100644
--- a/usr.bin/mandoc/out.c
+++ b/usr.bin/mandoc/out.c
@@ -1,7 +1,8 @@
-/* $OpenBSD: out.c,v 1.52 2021/08/10 12:36:42 schwarze Exp $ */
+/* $OpenBSD: out.c,v 1.53 2021/09/07 14:50:56 schwarze Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2011,2014,2015,2017,2018 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2011, 2014, 2015, 2017, 2018, 2019, 2021
+ * Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -352,8 +353,6 @@ tblcalc(struct rofftbl *tbl, const struct tbl_span *sp_first,
col = tbl->cols + icol;
if (col->width > col->nwidth)
col->decimal += (col->width - col->nwidth) / 2;
- else
- col->width = col->nwidth;
if (col->flags & TBL_CELL_EQUAL) {
necol++;
if (ewidth < col->width)
@@ -561,5 +560,7 @@ tblcalc_number(struct rofftbl *tbl, struct roffcol *col,
if (totsz > col->nwidth)
col->nwidth = totsz;
+ if (col->nwidth > col->width)
+ col->width = col->nwidth;
return totsz;
}