aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-06-12 22:05:57 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-06-12 22:05:57 +0000
commit9831364abe24948f9f08ab37b9ebc3ef693cbb7c (patch)
treec9c5b0c018724b2371f4a5b2dc4522444cc8865d
parent7f9e8c632ffa743b8770302690cf8c9e17017d83 (diff)
downloadmandoc-9831364abe24948f9f08ab37b9ebc3ef693cbb7c.tar.gz
mandoc-9831364abe24948f9f08ab37b9ebc3ef693cbb7c.tar.zst
mandoc-9831364abe24948f9f08ab37b9ebc3ef693cbb7c.zip
If a tbl(7) layout contains a 'w' (minimum width) modifier for a
given column, that column contains no literal or numeric cell of larger width, and all text block cells in that column can be line wrapped to fit into that minimum width, groff does not increase that column width beyond the specified minimum: so do the same.
-rw-r--r--out.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/out.c b/out.c
index 9fa50098..4174eb89 100644
--- a/out.c
+++ b/out.c
@@ -1,4 +1,4 @@
-/* $Id: out.c,v 1.66 2017/06/12 20:14:18 schwarze Exp $ */
+/* $Id: out.c,v 1.67 2017/06/12 22:05:57 schwarze Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011, 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -157,8 +157,9 @@ tblcalc(struct rofftbl *tbl, const struct tbl_span *sp,
if (col->width < dp->layout->width)
col->width = dp->layout->width;
tblcalc_data(tbl, col, opts, dp,
- rmargin && dp->block ?
- rmargin / (sp->opts->cols + 1) : 0);
+ dp->block == 0 ? 0 :
+ dp->layout->width ? dp->layout->width :
+ rmargin ? rmargin / (sp->opts->cols + 1) : 0);
}
}