summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.bin/mandoc/man.c5
-rw-r--r--usr.bin/mandoc/man_term.c9
-rw-r--r--usr.bin/mandoc/man_validate.c8
3 files changed, 13 insertions, 9 deletions
diff --git a/usr.bin/mandoc/man.c b/usr.bin/mandoc/man.c
index d9a88f7b648..daea772af0c 100644
--- a/usr.bin/mandoc/man.c
+++ b/usr.bin/mandoc/man.c
@@ -1,4 +1,4 @@
-/* $Id: man.c,v 1.18 2010/02/18 02:11:26 schwarze Exp $ */
+/* $Id: man.c,v 1.19 2010/02/26 12:42:29 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -564,7 +564,8 @@ man_pmacro(struct man *m, int ln, char *buf)
goto err;
out:
- if ( ! (MAN_BLINE & fl))
+ if ( ! (MAN_BLINE & fl) || (MAN_TEXT != m->last->type &&
+ (NULL == m->last->child || MAN_TEXT != m->last->child->type)))
return(1);
/*
diff --git a/usr.bin/mandoc/man_term.c b/usr.bin/mandoc/man_term.c
index 50f175e752c..87c1c7bb723 100644
--- a/usr.bin/mandoc/man_term.c
+++ b/usr.bin/mandoc/man_term.c
@@ -1,4 +1,4 @@
-/* $Id: man_term.c,v 1.21 2009/12/24 02:08:14 schwarze Exp $ */
+/* $Id: man_term.c,v 1.22 2010/02/26 12:42:29 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -570,10 +570,13 @@ pre_TP(DECL_ARGS)
/* Calculate offset. */
- if (NULL != (nn = n->parent->head->child))
- if (NULL != nn->next)
+ if (NULL != (nn = n->parent->head->child)) {
+ while (nn && MAN_TEXT != nn->type)
+ nn = nn->next;
+ if (nn && nn->next)
if ((ival = a2width(nn)) >= 0)
len = (size_t)ival;
+ }
switch (n->type) {
case (MAN_HEAD):
diff --git a/usr.bin/mandoc/man_validate.c b/usr.bin/mandoc/man_validate.c
index e6151cc8343..64e49bf1f07 100644
--- a/usr.bin/mandoc/man_validate.c
+++ b/usr.bin/mandoc/man_validate.c
@@ -1,4 +1,4 @@
-/* $Id: man_validate.c,v 1.11 2009/10/27 21:40:07 schwarze Exp $ */
+/* $Id: man_validate.c,v 1.12 2010/02/26 12:42:29 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -55,7 +55,7 @@ static v_check posts_sp[] = { check_le1, NULL };
static v_check pres_bline[] = { check_bline, NULL };
static const struct man_valid man_valids[MAN_MAX] = {
- { pres_bline, posts_eq0 }, /* br */
+ { NULL, posts_eq0 }, /* br */
{ pres_bline, posts_ge2_le5 }, /* TH */
{ pres_bline, posts_sec }, /* SH */
{ pres_bline, posts_sec }, /* SS */
@@ -76,9 +76,9 @@ static const struct man_valid man_valids[MAN_MAX] = {
{ NULL, NULL }, /* I */
{ NULL, NULL }, /* IR */
{ NULL, NULL }, /* RI */
- { pres_bline, posts_eq0 }, /* na */
+ { NULL, posts_eq0 }, /* na */
{ NULL, NULL }, /* i */
- { pres_bline, posts_sp }, /* sp */
+ { NULL, posts_sp }, /* sp */
{ pres_bline, posts_eq0 }, /* nf */
{ pres_bline, posts_eq0 }, /* fi */
{ NULL, NULL }, /* r */