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

Diff for /mandoc/mdoc_term.c between version 1.45 and 1.49

version 1.45, 2009/07/17 12:40:48 version 1.49, 2009/07/20 19:30:46
Line 364  print_node(DECL_ARGS)
Line 364  print_node(DECL_ARGS)
         npair.flag = 0;          npair.flag = 0;
         npair.count = 0;          npair.count = 0;
   
           /*
            * Note on termpair.  This allows a pre function to set a termp
            * flag that is automatically unset after the body, but before
            * the post function.  Thus, if a pre uses a termpair flag, it
            * must be reapplied in the post for use.
            */
   
         if (MDOC_TEXT != node->type) {          if (MDOC_TEXT != node->type) {
                 if (termacts[node->tok].pre)                  if (termacts[node->tok].pre)
                         if ( ! (*termacts[node->tok].pre)(p, &npair, meta, node))                          if ( ! (*termacts[node->tok].pre)(p, &npair, meta, node))
Line 378  print_node(DECL_ARGS)
Line 385  print_node(DECL_ARGS)
         if (dochild && node->child)          if (dochild && node->child)
                 print_body(p, &npair, meta, node->child);                  print_body(p, &npair, meta, node->child);
   
           p->flags &= ~npair.flag;
   
         /* Post-processing. */          /* Post-processing. */
   
         if (MDOC_TEXT != node->type)          if (MDOC_TEXT != node->type)
Line 386  print_node(DECL_ARGS)
Line 395  print_node(DECL_ARGS)
   
         p->offset = offset;          p->offset = offset;
         p->rmargin = rmargin;          p->rmargin = rmargin;
         p->flags &= ~npair.flag;  
 }  }
   
   
Line 664  fmt_block_vspace(struct termp *p, 
Line 672  fmt_block_vspace(struct termp *p, 
   
         if (arg_hasattr(MDOC_Compact, bl))          if (arg_hasattr(MDOC_Compact, bl))
                 return(1);                  return(1);
           /* XXX - not documented! */
           else if (arg_hasattr(MDOC_Column, bl))
                   return(1);
   
         for (n = node; n; n = n->parent) {          for (n = node; n; n = n->parent) {
                 if (MDOC_BLOCK != n->type)                  if (MDOC_BLOCK != n->type)
Line 787  termp_it_pre(DECL_ARGS)
Line 798  termp_it_pre(DECL_ARGS)
                 if (0 == width)                  if (0 == width)
                         width = 8;                          width = 8;
                 break;                  break;
           case (MDOC_Column):
                   /* FALLTHROUGH */
         case (MDOC_Tag):          case (MDOC_Tag):
                 if (0 == width)                  if (0 == width)
                         width = 10;                          width = 10;
Line 905  termp_it_pre(DECL_ARGS)
Line 918  termp_it_pre(DECL_ARGS)
         case (MDOC_Hang):          case (MDOC_Hang):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (MDOC_Tag):          case (MDOC_Tag):
                   assert(width);
                 if (MDOC_HEAD == node->type)                  if (MDOC_HEAD == node->type)
                         p->rmargin = p->offset + width;                          p->rmargin = p->offset + width;
                 else                  else
                         p->offset += width;                          p->offset += width;
                 break;                  break;
         case (MDOC_Column):          case (MDOC_Column):
                   assert(width);
                 p->rmargin = p->offset + width;                  p->rmargin = p->offset + width;
                 break;                  break;
         default:          default:
Line 1561  termp_bd_pre(DECL_ARGS)
Line 1576  termp_bd_pre(DECL_ARGS)
          * Ew.           * Ew.
          */           */
   
         p->flags |= TERMP_LITERAL;  
         ln = node->child ? node->child->line : 0;          ln = node->child ? node->child->line : 0;
   
         for (node = node->child; node; node = node->next) {          for (node = node->child; node; node = node->next) {
Line 1584  termp_bd_post(DECL_ARGS)
Line 1598  termp_bd_post(DECL_ARGS)
   
         if (MDOC_BODY != node->type)          if (MDOC_BODY != node->type)
                 return;                  return;
   
         term_flushln(p);          term_flushln(p);
         p->flags &= ~TERMP_LITERAL;  
         p->flags |= TERMP_NOSPACE;  
 }  }
   
   
Line 1814  static void
Line 1825  static void
 termp_in_post(DECL_ARGS)  termp_in_post(DECL_ARGS)
 {  {
   
         p->flags |= TERMP_NOSPACE;          p->flags |= TERMP_NOSPACE | ttypes[TTYPE_INCLUDE];
         term_word(p, ">");          term_word(p, ">");
           p->flags &= ~ttypes[TTYPE_INCLUDE];
   
         if (SEC_SYNOPSIS != node->sec)          if (SEC_SYNOPSIS != node->sec)
                 return;                  return;

Legend:
Removed from v.1.45  
changed lines
  Added in v.1.49

CVSweb