=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/mdoc_macro.c,v retrieving revision 1.168 retrieving revision 1.169 diff -c -r1.168 -r1.169 *** src/usr.bin/mandoc/mdoc_macro.c 2017/02/10 16:20:58 1.168 --- src/usr.bin/mandoc/mdoc_macro.c 2017/02/10 22:19:11 1.169 *************** *** 1,4 **** ! /* $OpenBSD: mdoc_macro.c,v 1.168 2017/02/10 16:20:58 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010, 2012-2016 Ingo Schwarze --- 1,4 ---- ! /* $OpenBSD: mdoc_macro.c,v 1.169 2017/02/10 22:19:11 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010, 2012-2016 Ingo Schwarze *************** *** 396,404 **** if (n->type == ROFFT_BLOCK && mdoc_macros[n->tok].flags & MDOC_EXPLICIT) { irc = 1; ! n->flags = NODE_BROKEN; if (target->type == ROFFT_HEAD) ! target->flags = NODE_ENDED; else if ( ! (target->flags & NODE_ENDED)) { mandoc_vmsg(MANDOCERR_BLK_NEST, mdoc->parse, line, ppos, --- 396,404 ---- if (n->type == ROFFT_BLOCK && mdoc_macros[n->tok].flags & MDOC_EXPLICIT) { irc = 1; ! n->flags |= NODE_BROKEN; if (target->type == ROFFT_HEAD) ! target->flags |= NODE_ENDED; else if ( ! (target->flags & NODE_ENDED)) { mandoc_vmsg(MANDOCERR_BLK_NEST, mdoc->parse, line, ppos, *************** *** 712,726 **** } if (n != NULL) { if (ntok != TOKEN_NONE && n->flags & NODE_BROKEN) { target = n; do target = target->parent; while ( ! (target->flags & NODE_ENDED)); ! pending = find_pending(mdoc, ntok, line, ppos, ! target); ! } else ! pending = 0; if ( ! pending) rew_pending(mdoc, n); } --- 712,727 ---- } if (n != NULL) { + pending = 0; if (ntok != TOKEN_NONE && n->flags & NODE_BROKEN) { target = n; do target = target->parent; while ( ! (target->flags & NODE_ENDED)); ! if ( ! (target->flags & NODE_VALID)) ! pending = find_pending(mdoc, ntok, ! line, ppos, target); ! } if ( ! pending) rew_pending(mdoc, n); }