[BACK]Return to mdoc_macro.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/mdoc_macro.c between version 1.216 and 1.217

version 1.216, 2017/02/16 03:00:23 version 1.217, 2017/02/16 09:47:31
Line 381  rew_elem(struct roff_man *mdoc, int tok)
Line 381  rew_elem(struct roff_man *mdoc, int tok)
 static void  static void
 break_intermediate(struct roff_node *n, struct roff_node *breaker)  break_intermediate(struct roff_node *n, struct roff_node *breaker)
 {  {
           if (n != breaker &&
               n->type != ROFFT_BLOCK && n->type != ROFFT_HEAD &&
               (n->type != ROFFT_BODY || n->end != ENDBODY_NOT))
                   n = n->parent;
         while (n != breaker) {          while (n != breaker) {
                 if ( ! (n->flags & NODE_VALID))                  if ( ! (n->flags & NODE_VALID))
                         n->flags |= NODE_BROKEN;                          n->flags |= NODE_BROKEN;
Line 410  find_pending(struct roff_man *mdoc, int tok, int line,
Line 414  find_pending(struct roff_man *mdoc, int tok, int line,
                 if (n->type == ROFFT_BLOCK &&                  if (n->type == ROFFT_BLOCK &&
                     mdoc_macros[n->tok].flags & MDOC_EXPLICIT) {                      mdoc_macros[n->tok].flags & MDOC_EXPLICIT) {
                         irc = 1;                          irc = 1;
                         break_intermediate(mdoc->last, n);                          break_intermediate(mdoc->last, target);
                         n->flags |= NODE_BROKEN;  
                         if (target->type == ROFFT_HEAD)                          if (target->type == ROFFT_HEAD)
                                 target->flags |= NODE_ENDED;                                  target->flags |= NODE_ENDED;
                         else if ( ! (target->flags & NODE_ENDED)) {                          else if ( ! (target->flags & NODE_ENDED)) {

Legend:
Removed from v.1.216  
changed lines
  Added in v.1.217

CVSweb