]> git.cameronkatri.com Git - mandoc.git/commitdiff
Correctly handle constructs like
authorJoerg Sonnenberger <joerg@netbsd.org>
Wed, 16 Nov 2011 22:39:05 +0000 (22:39 +0000)
committerJoerg Sonnenberger <joerg@netbsd.org>
Wed, 16 Nov 2011 22:39:05 +0000 (22:39 +0000)
.TP 8
.SH foo

man.c

diff --git a/man.c b/man.c
index a901c82c6417620fa69d87613a8ad2d5a5a89f95..61f2a5eb1ec672c34b561690e661c063dc40fd65 100644 (file)
--- a/man.c
+++ b/man.c
@@ -1,4 +1,4 @@
-/*     $Id: man.c,v 1.113 2011/11/07 01:24:40 schwarze Exp $ */
+/*     $Id: man.c,v 1.114 2011/11/16 22:39:05 joerg Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -556,10 +556,15 @@ man_pmacro(struct man *m, int ln, char *buf, int offs)
        if ((m->flags & MAN_BLINE) &&
            (MAN_BSCOPE & man_macros[tok].flags)) {
                n = m->last;
-               assert(MAN_TEXT != n->type);
 
-               /* Remove element that didn't end BLINE, if any. */
+               /* Might be a text node like 8 in
+                * .TP 8
+                * .SH foo
+                */
+               if (MAN_TEXT == n->type)
+                       n = n->parent;
 
+               /* Remove element that didn't end BLINE, if any. */
                if ( ! (MAN_BSCOPE & man_macros[n->tok].flags))
                        n = n->parent;