aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/man.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-06-03 15:55:24 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-06-03 15:55:24 +0000
commit34091a7ac02b59ae92c9258e551d73f383869db9 (patch)
tree0b5cb69489f0d26d8f98bdb6238d076e47a726db /man.c
parent3f480d9d158e76fb6d13b7e2c3675f729ee52727 (diff)
downloadmandoc-34091a7ac02b59ae92c9258e551d73f383869db9.tar.gz
mandoc-34091a7ac02b59ae92c9258e551d73f383869db9.tar.zst
mandoc-34091a7ac02b59ae92c9258e551d73f383869db9.zip
ignore blank lines in man(7) next line scope;
strange groff edge case behaviour found in multimedia/mjpegtools
Diffstat (limited to 'man.c')
-rw-r--r--man.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/man.c b/man.c
index c52edd45..f2ba1bdb 100644
--- a/man.c
+++ b/man.c
@@ -1,4 +1,4 @@
-/* $Id: man.c,v 1.173 2017/05/08 20:33:53 schwarze Exp $ */
+/* $Id: man.c,v 1.174 2017/06/03 15:55:24 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2013, 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -89,14 +89,15 @@ man_ptext(struct roff_man *man, int line, char *buf, int offs)
/* Skip leading whitespace. */ ;
/*
- * Blank lines are ignored right after headings
- * but add a single vertical space elsewhere.
+ * Blank lines are ignored in next line scope and right
+ * after headings but add a single vertical space elsewhere.
*/
if (buf[i] == '\0') {
- man_breakscope(man, ROFF_sp);
- /* Allocate a blank entry. */
- if (man->last->tok != MAN_SH &&
+ if (man->flags & (MAN_ELINE | MAN_BLINE))
+ mandoc_msg(MANDOCERR_BLK_BLANK, man->parse,
+ line, 0, NULL);
+ else if (man->last->tok != MAN_SH &&
man->last->tok != MAN_SS) {
roff_elem_alloc(man, line, offs, ROFF_sp);
man->next = ROFF_NEXT_SIBLING;