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

Diff for /mandoc/mdoc_validate.c between version 1.307 and 1.308

version 1.307, 2016/08/11 11:39:46 version 1.308, 2016/08/20 14:43:50
Line 1329  post_bl(POST_ARGS)
Line 1329  post_bl(POST_ARGS)
                 return;                  return;
         }          }
         while (nchild != NULL) {          while (nchild != NULL) {
                   nnext = nchild->next;
                 if (nchild->tok == MDOC_It ||                  if (nchild->tok == MDOC_It ||
                     (nchild->tok == MDOC_Sm &&                      (nchild->tok == MDOC_Sm &&
                      nchild->next != NULL &&                       nnext != NULL && nnext->tok == MDOC_It)) {
                      nchild->next->tok == MDOC_It)) {                          nchild = nnext;
                         nchild = nchild->next;  
                         continue;                          continue;
                 }                  }
   
                   /*
                    * In .Bl -column, the first rows may be implicit,
                    * that is, they may not start with .It macros.
                    * Such rows may be followed by nodes generated on the
                    * roff level, for example .TS, which cannot be moved
                    * out of the list.  In that case, wrap such roff nodes
                    * into an implicit row.
                    */
   
                   if (nchild->prev != NULL) {
                           mdoc->last = nchild;
                           mdoc->next = ROFF_NEXT_SIBLING;
                           roff_block_alloc(mdoc, nchild->line,
                               nchild->pos, MDOC_It);
                           roff_head_alloc(mdoc, nchild->line,
                               nchild->pos, MDOC_It);
                           mdoc->next = ROFF_NEXT_SIBLING;
                           roff_body_alloc(mdoc, nchild->line,
                               nchild->pos, MDOC_It);
                           while (nchild->tok != MDOC_It) {
                                   mdoc_node_relink(mdoc, nchild);
                                   if ((nchild = nnext) == NULL)
                                           break;
                                   nnext = nchild->next;
                                   mdoc->next = ROFF_NEXT_SIBLING;
                           }
                           mdoc->last = nbody;
                           continue;
                   }
   
                 mandoc_msg(MANDOCERR_BL_MOVE, mdoc->parse,                  mandoc_msg(MANDOCERR_BL_MOVE, mdoc->parse,
                     nchild->line, nchild->pos,                      nchild->line, nchild->pos,
                     mdoc_macronames[nchild->tok]);                      mdoc_macronames[nchild->tok]);
Line 1349  post_bl(POST_ARGS)
Line 1379  post_bl(POST_ARGS)
                 nblock  = nbody->parent;                  nblock  = nbody->parent;
                 nprev   = nblock->prev;                  nprev   = nblock->prev;
                 nparent = nblock->parent;                  nparent = nblock->parent;
                 nnext   = nchild->next;  
   
                 /*                  /*
                  * Unlink this child.                   * Unlink this child.
                  */                   */
   
                 assert(nchild->prev == NULL);  
                 nbody->child = nnext;                  nbody->child = nnext;
                 if (nnext == NULL)                  if (nnext == NULL)
                         nbody->last  = NULL;                          nbody->last  = NULL;

Legend:
Removed from v.1.307  
changed lines
  Added in v.1.308

CVSweb